)]}'
{"specs/container-composition.rst":[{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"6276ab5fc9ae3d800c2b3e41a6793da87b59cc79","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Docker compose[1] is a handy tool to compose multiple containers into one"},{"line_number":15,"context_line":"unit. This spec proposes to support a similiar feature in Zun, we can put"},{"line_number":16,"context_line":"multiple containers, a sandbox and other related resources into one unit,"},{"line_number":17,"context_line":"we name the unit ``capsule``."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"The containers in a ``capsule`` are relatively tightly coupled, they shares"},{"line_number":20,"context_line":"the capsule\u0027s context like Linux namespaces, cgroups and etc, and they work"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da36d5c6_95646cb9","line":17,"range":{"start_line":17,"start_character":19,"end_line":17,"end_character":26},"updated":"2017-02-24 09:53:19.000000000","message":"The terminology sounds interesting.","commit_id":"31916f6ef28bbd0ed95525c68c549ef20752ea33"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"1e8c100a85de26e7aa1528e5dab3cbe3bb398aa3","unresolved":false,"context_lines":[{"line_number":16,"context_line":"multiple containers, a sandbox and other related resources into one unit,"},{"line_number":17,"context_line":"we name the unit ``capsule``."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"The containers in a ``capsule`` are relatively tightly coupled, they shares"},{"line_number":20,"context_line":"the capsule\u0027s context like Linux namespaces, cgroups and etc, and they work"},{"line_number":21,"context_line":"together closely to form a cohesive unit of service."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da36d5c6_8cd0ccca","line":20,"range":{"start_line":19,"start_character":33,"end_line":20,"end_character":60},"updated":"2017-02-24 23:30:43.000000000","message":"A suggestion here. I think it is important to define this new concept with more details. For examples, \n\n  A ``capsule`` has the following proprieties:\n  * It can container one or multiple containers.\n  * Containers inside a capsule are scheduled as a unit, thus all containers inside a capsule is co-located.\n  * Containers inside a capsule shared a network namespace so they share IP address(es) and ping each other via localhost.\n  * ....","commit_id":"31916f6ef28bbd0ed95525c68c549ef20752ea33"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"340bd4a774bbe93098d308cc1370dd57e10bab4a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"multiple containers, a sandbox and other related resources into one unit,"},{"line_number":17,"context_line":"we name the unit ``capsule``."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"The containers in a ``capsule`` are relatively tightly coupled, they shares"},{"line_number":20,"context_line":"the capsule\u0027s context like Linux namespaces, cgroups and etc, and they work"},{"line_number":21,"context_line":"together closely to form a cohesive unit of service."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a30ddce_f585bfce","line":20,"range":{"start_line":19,"start_character":33,"end_line":20,"end_character":60},"in_reply_to":"ba2be162_c6453743","updated":"2017-03-10 07:46:01.000000000","message":"Done","commit_id":"31916f6ef28bbd0ed95525c68c549ef20752ea33"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"65ac457e05fd5a36794a2f9950b5a1cd5cec0b92","unresolved":false,"context_lines":[{"line_number":16,"context_line":"multiple containers, a sandbox and other related resources into one unit,"},{"line_number":17,"context_line":"we name the unit ``capsule``."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"The containers in a ``capsule`` are relatively tightly coupled, they shares"},{"line_number":20,"context_line":"the capsule\u0027s context like Linux namespaces, cgroups and etc, and they work"},{"line_number":21,"context_line":"together closely to form a cohesive unit of service."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_c6453743","line":20,"range":{"start_line":19,"start_character":33,"end_line":20,"end_character":60},"in_reply_to":"da36d5c6_8cd0ccca","updated":"2017-03-06 07:52:26.000000000","message":"@Hongbin,\n   Thanks Hongbin. We will add more information here, to make it a detailed plan.","commit_id":"31916f6ef28bbd0ed95525c68c549ef20752ea33"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"1e8c100a85de26e7aa1528e5dab3cbe3bb398aa3","unresolved":false,"context_lines":[{"line_number":30,"context_line":"   coupled unit of multiple containers and other resources like sandbox. The"},{"line_number":31,"context_line":"   containers in a capsule shares the capsule\u0027s context like Linux namespaces"},{"line_number":32,"context_line":"   and cgroups."},{"line_number":33,"context_line":"2. Support the CRUD operations against capsule object, capsule should be a"},{"line_number":34,"context_line":"   basic unit for scheduling and spawning. To be more specific, all containers"},{"line_number":35,"context_line":"   in a cpasule should be sheduled to and spawned on the same host."},{"line_number":36,"context_line":"3. Support docker compose file....................\u003ckevinz\u003e"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da36d5c6_6c50f832","line":33,"range":{"start_line":33,"start_character":15,"end_line":33,"end_character":53},"updated":"2017-02-24 23:30:43.000000000","message":"I think this approach will work. I just provided an alternative approach for comparison (I am not sure which one is better):\n* Leave the implementation of capsule in client side (like docker compose). That means there are CRUD capsule operations in client side, but not in the REST APIs.\n* Introduce CRUD operations for different resources inside a capsule (i.e. /containers, /sandboxes, /volumes) in server side.\n* The workflow is: create a capsule in CLI \u003d create a sandbox in REST + create a container in REST + create a volume in REST.","commit_id":"31916f6ef28bbd0ed95525c68c549ef20752ea33"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"340bd4a774bbe93098d308cc1370dd57e10bab4a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"   coupled unit of multiple containers and other resources like sandbox. The"},{"line_number":31,"context_line":"   containers in a capsule shares the capsule\u0027s context like Linux namespaces"},{"line_number":32,"context_line":"   and cgroups."},{"line_number":33,"context_line":"2. Support the CRUD operations against capsule object, capsule should be a"},{"line_number":34,"context_line":"   basic unit for scheduling and spawning. To be more specific, all containers"},{"line_number":35,"context_line":"   in a cpasule should be sheduled to and spawned on the same host."},{"line_number":36,"context_line":"3. Support docker compose file....................\u003ckevinz\u003e"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a30ddce_356cb734","line":33,"range":{"start_line":33,"start_character":15,"end_line":33,"end_character":53},"in_reply_to":"da36d5c6_6c50f832","updated":"2017-03-10 07:46:01.000000000","message":"Hi Hongbin,\n    Now the proposal is the second choice:\n    Implement all the CRUD in Server side,CLI just abstract information from yaml file and send the command  to API server.","commit_id":"31916f6ef28bbd0ed95525c68c549ef20752ea33"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"0aff189106410d9e6922351e0dfd4accbc69c5a1","unresolved":false,"context_lines":[{"line_number":23,"context_line":"Problem description"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":25,"context_line":"Currently running or deploying one container to do the operation is not a"},{"line_number":26,"context_line":"very effective way in application scenarios, while multiple containers run"},{"line_number":27,"context_line":"as an integration has widely used in different scenarios, such as docker compose"},{"line_number":28,"context_line":"has the concept called compose, Kubernetes has the concept called pod. Either"},{"line_number":29,"context_line":"the compose or the pod has the independent network, storage, they are becoming"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba2be162_33141d43","line":26,"updated":"2017-03-02 09:06:30.000000000","message":"s/application scenario/microservices?","commit_id":"7509d8362d355a5ea26d44557df884198ac4a8ba"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7cc1c180387ea51e31745629cbf22edf55e3ce9a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"Problem description"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":25,"context_line":"Currently running or deploying one container to do the operation is not a"},{"line_number":26,"context_line":"very effective way in application scenarios, while multiple containers run"},{"line_number":27,"context_line":"as an integration has widely used in different scenarios, such as docker compose"},{"line_number":28,"context_line":"has the concept called compose, Kubernetes has the concept called pod. Either"},{"line_number":29,"context_line":"the compose or the pod has the independent network, storage, they are becoming"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a30ddce_b50a6788","line":26,"in_reply_to":"ba2be162_33141d43","updated":"2017-03-10 07:40:37.000000000","message":"Done","commit_id":"7509d8362d355a5ea26d44557df884198ac4a8ba"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"0aff189106410d9e6922351e0dfd4accbc69c5a1","unresolved":false,"context_lines":[{"line_number":33,"context_line":"integration. So we will introduce the new Object ``capsule`` to realize this"},{"line_number":34,"context_line":"function."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"As Docker compose is the very convenient and fast way for container composition,"},{"line_number":37,"context_line":"it is very essential to support and compatible with the docker-compose yml"},{"line_number":38,"context_line":"file, and so as the docker-compose API, which will be easy to its users to"},{"line_number":39,"context_line":"transfer from docker-compose to Zun."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba2be162_ef8a99be","line":36,"updated":"2017-03-02 09:06:30.000000000","message":"For people not using docker-compose, will you provide some kind of a yml file structure to provision a capsule?","commit_id":"7509d8362d355a5ea26d44557df884198ac4a8ba"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7cc1c180387ea51e31745629cbf22edf55e3ce9a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"integration. So we will introduce the new Object ``capsule`` to realize this"},{"line_number":34,"context_line":"function."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"As Docker compose is the very convenient and fast way for container composition,"},{"line_number":37,"context_line":"it is very essential to support and compatible with the docker-compose yml"},{"line_number":38,"context_line":"file, and so as the docker-compose API, which will be easy to its users to"},{"line_number":39,"context_line":"transfer from docker-compose to Zun."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a30ddce_551e8bbb","line":36,"in_reply_to":"ba2be162_060bcfd6","updated":"2017-03-10 07:40:37.000000000","message":"Hi Sudipta,\n   Thanks~\n   Now the solutions is that:\n   Yaml file is compatible with Kubernetes pod. For user who is using docker compose, he can set the \"kind\" field in the yaml file, then parser will abstract the yaml file as the docker compose style. Otherwise,the parser will abstract the yaml file as K8s style.","commit_id":"7509d8362d355a5ea26d44557df884198ac4a8ba"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"d5a9e39404d6eda8ea0215d2e2cb8fc2ee369d56","unresolved":false,"context_lines":[{"line_number":33,"context_line":"integration. So we will introduce the new Object ``capsule`` to realize this"},{"line_number":34,"context_line":"function."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"As Docker compose is the very convenient and fast way for container composition,"},{"line_number":37,"context_line":"it is very essential to support and compatible with the docker-compose yml"},{"line_number":38,"context_line":"file, and so as the docker-compose API, which will be easy to its users to"},{"line_number":39,"context_line":"transfer from docker-compose to Zun."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba2be162_060bcfd6","line":36,"in_reply_to":"ba2be162_ef8a99be","updated":"2017-03-06 07:46:03.000000000","message":"Hi Sudipta,\n   Thanks~ \n   Actually now we have not implement capsule as docker compose or pod. If we choose it as compose, we just compatible with the yml file and make it as the default yml file style for capsule, in CLI using a praser to get the information,then create the containers as the yml file write.\n    For the server side, only docker driver, not implement docker-compose driver.\n     So for user who not using docker-compose, just use docker-compose file will work.","commit_id":"7509d8362d355a5ea26d44557df884198ac4a8ba"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"af1cc9072d9c8aa4a20812abbda33f2a9c4f81fd","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"https://blueprints.launchpad.net/zun/+spec/introduce-compose"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Pod is a very significant concept in Kubernetes[1]. It is a basic unit for"},{"line_number":15,"context_line":"scheduler, resource allocation. This spec proposes to support a similar"},{"line_number":16,"context_line":"feature in Zun, we can put multiple containers, a sandbox and other related"},{"line_number":17,"context_line":"resources into one unit, we name the unit ``capsule``."}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_6cc86623","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":50},"updated":"2017-03-20 19:39:01.000000000","message":"Suggest to rephrase this to the following (I mentioned docker compose as well for completeness):\n\nKubernetes Pod or Docker compose are popular for deploying applications or application components that span multiple containers.","commit_id":"d0f338f0483392591f46a7ffb73aefd587c2bb01"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"af1cc9072d9c8aa4a20812abbda33f2a9c4f81fd","unresolved":false,"context_lines":[{"line_number":38,"context_line":"  Finished: All containers inside the capsule have successfully executed and"},{"line_number":39,"context_line":"  exited."},{"line_number":40,"context_line":"  Failed:"},{"line_number":41,"context_line":"* Restart Policy: Pod will have a restart policy just like container. The restart"},{"line_number":42,"context_line":"  policy relies on container restart policy to execute."},{"line_number":43,"context_line":"* Health checker:"},{"line_number":44,"context_line":"  In the first step of realization, container inside the capsule will send its"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_ec78d6c6","line":41,"range":{"start_line":41,"start_character":18,"end_line":41,"end_character":21},"updated":"2017-03-20 19:39:01.000000000","message":"You mean capsule?","commit_id":"d0f338f0483392591f46a7ffb73aefd587c2bb01"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"af1cc9072d9c8aa4a20812abbda33f2a9c4f81fd","unresolved":false,"context_lines":[{"line_number":40,"context_line":"  Failed:"},{"line_number":41,"context_line":"* Restart Policy: Pod will have a restart policy just like container. The restart"},{"line_number":42,"context_line":"  policy relies on container restart policy to execute."},{"line_number":43,"context_line":"* Health checker:"},{"line_number":44,"context_line":"  In the first step of realization, container inside the capsule will send its"},{"line_number":45,"context_line":"  status to capsule when its status changed( Need to discuss about the realization)."},{"line_number":46,"context_line":"  Add health checker probes in the future."}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_e7147145","line":43,"range":{"start_line":43,"start_character":2,"end_line":43,"end_character":16},"updated":"2017-03-20 19:39:01.000000000","message":"I am not sure if health check and upgrade/rollback fits into the scope of this spec. I guess it will take significant amount of efforts to implement and maintain these feature. However, I would like to consider inputs from other team members about this.","commit_id":"d0f338f0483392591f46a7ffb73aefd587c2bb01"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"af1cc9072d9c8aa4a20812abbda33f2a9c4f81fd","unresolved":false,"context_lines":[{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":"Currently running or deploying one container to do the operation is not a"},{"line_number":59,"context_line":"very effective way in micro services, while multiple different containers run"},{"line_number":60,"context_line":"as an integration has widely used in different scenarios, such as pod in Kubernetes."},{"line_number":61,"context_line":"The pod has the independent network, storage, they are becoming the basic unit for"},{"line_number":62,"context_line":"container application scenarios."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_4748e55b","line":60,"range":{"start_line":60,"start_character":58,"end_line":60,"end_character":83},"updated":"2017-03-20 19:39:01.000000000","message":"such as pod in Kubernetes and compose in Docker.","commit_id":"d0f338f0483392591f46a7ffb73aefd587c2bb01"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"af1cc9072d9c8aa4a20812abbda33f2a9c4f81fd","unresolved":false,"context_lines":[{"line_number":58,"context_line":"Currently running or deploying one container to do the operation is not a"},{"line_number":59,"context_line":"very effective way in micro services, while multiple different containers run"},{"line_number":60,"context_line":"as an integration has widely used in different scenarios, such as pod in Kubernetes."},{"line_number":61,"context_line":"The pod has the independent network, storage, they are becoming the basic unit for"},{"line_number":62,"context_line":"container application scenarios."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Nowadays Zun doesn\u0027t support creating and running multiple containers as an"},{"line_number":65,"context_line":"integration. So we will introduce the new Object ``capsule`` to realize this"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_c77215ad","line":62,"range":{"start_line":61,"start_character":0,"end_line":62,"end_character":32},"updated":"2017-03-20 19:39:01.000000000","message":"I would suggest to mention compose as well:\n\nThe pod has ...., while the compose has ...","commit_id":"d0f338f0483392591f46a7ffb73aefd587c2bb01"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"af1cc9072d9c8aa4a20812abbda33f2a9c4f81fd","unresolved":false,"context_lines":[{"line_number":65,"context_line":"integration. So we will introduce the new Object ``capsule`` to realize this"},{"line_number":66,"context_line":"function. ``capsule`` is the basic unit for zun to support service to external."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"The ``capsule`` designation will take advantage of some \"Pod\" concepts. For user"},{"line_number":69,"context_line":"easily transfer some simple applications from K8s to Zun, it\u0027s essential to support"},{"line_number":70,"context_line":"the yaml file of K8s. The details will be showed in the following section."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_02cb3b73","line":70,"range":{"start_line":68,"start_character":0,"end_line":70,"end_character":21},"updated":"2017-03-20 19:39:01.000000000","message":"Suggest rephrase it to (highlight the differences between capsule and pod):\n\nThe ``capsule`` will be designed based on some similar concepts such as pod and compose. For example, ``capsule`` can be specified in a yaml file that might be similar to the format of k8s pod manifest. However, the specification of ``capsule`` will be exclusive to Zun.","commit_id":"d0f338f0483392591f46a7ffb73aefd587c2bb01"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":38,"context_line":"  Running: Capsule is created, and all the containers are running."},{"line_number":39,"context_line":"  Finished: All containers inside the capsule have successfully executed and"},{"line_number":40,"context_line":"  exited."},{"line_number":41,"context_line":"  Failed:"},{"line_number":42,"context_line":"* Restart Policy: Capsule will have a restart policy just like container. The restart"},{"line_number":43,"context_line":"  policy relies on container restart policy to execute."},{"line_number":44,"context_line":"* Health checker:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"bff0334d_cc693e25","line":41,"range":{"start_line":41,"start_character":2,"end_line":41,"end_character":8},"updated":"2017-04-12 22:19:02.000000000","message":"Seems missing explanation.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":38,"context_line":"  Running: Capsule is created, and all the containers are running."},{"line_number":39,"context_line":"  Finished: All containers inside the capsule have successfully executed and"},{"line_number":40,"context_line":"  exited."},{"line_number":41,"context_line":"  Failed:"},{"line_number":42,"context_line":"* Restart Policy: Capsule will have a restart policy just like container. The restart"},{"line_number":43,"context_line":"  policy relies on container restart policy to execute."},{"line_number":44,"context_line":"* Health checker:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_c6834256","line":41,"range":{"start_line":41,"start_character":2,"end_line":41,"end_character":8},"in_reply_to":"bff0334d_cc693e25","updated":"2017-04-13 15:15:52.000000000","message":"Done","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":42,"context_line":"* Restart Policy: Capsule will have a restart policy just like container. The restart"},{"line_number":43,"context_line":"  policy relies on container restart policy to execute."},{"line_number":44,"context_line":"* Health checker:"},{"line_number":45,"context_line":"  In the first step of realization, container inside the capsule will send its"},{"line_number":46,"context_line":"  status to capsule when its status changed (Need to discuss about the realization)."},{"line_number":47,"context_line":"  Add health checker probes in the future."},{"line_number":48,"context_line":"* Update and rollback:"},{"line_number":49,"context_line":"  Update: Support capsule update(different from zun update). That means the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_1f5bc32e","line":46,"range":{"start_line":45,"start_character":70,"end_line":46,"end_character":19},"updated":"2017-04-12 22:19:02.000000000","message":"I think this needs more details. For example:\n* Who send the status (i.e. docker daemon, the container itself, an additional monitoring container, or the zun-compute)\n* What is the transport medium. http, rpc, or others.\n* Who receive the state (i.e. zun-api, zun-compute, the sandbox container, or others).","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":42,"context_line":"* Restart Policy: Capsule will have a restart policy just like container. The restart"},{"line_number":43,"context_line":"  policy relies on container restart policy to execute."},{"line_number":44,"context_line":"* Health checker:"},{"line_number":45,"context_line":"  In the first step of realization, container inside the capsule will send its"},{"line_number":46,"context_line":"  status to capsule when its status changed (Need to discuss about the realization)."},{"line_number":47,"context_line":"  Add health checker probes in the future."},{"line_number":48,"context_line":"* Update and rollback:"},{"line_number":49,"context_line":"  Update: Support capsule update(different from zun update). That means the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_86e65ae8","line":46,"range":{"start_line":45,"start_character":70,"end_line":46,"end_character":19},"in_reply_to":"9ff52f3f_1f5bc32e","updated":"2017-04-13 15:15:52.000000000","message":"Agree with you. I think here need more investigation about how to realize the health checker.\nDo you mind that we leave this feature in the future BP/bugs :-)","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"f9bfafb0c6c34c430bf0fe07f12b60a3b3ebb96a","unresolved":false,"context_lines":[{"line_number":42,"context_line":"* Restart Policy: Capsule will have a restart policy just like container. The restart"},{"line_number":43,"context_line":"  policy relies on container restart policy to execute."},{"line_number":44,"context_line":"* Health checker:"},{"line_number":45,"context_line":"  In the first step of realization, container inside the capsule will send its"},{"line_number":46,"context_line":"  status to capsule when its status changed (Need to discuss about the realization)."},{"line_number":47,"context_line":"  Add health checker probes in the future."},{"line_number":48,"context_line":"* Update and rollback:"},{"line_number":49,"context_line":"  Update: Support capsule update(different from zun update). That means the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_69cb2253","line":46,"range":{"start_line":45,"start_character":70,"end_line":46,"end_character":19},"in_reply_to":"9ff52f3f_86e65ae8","updated":"2017-04-13 16:19:27.000000000","message":"For sure.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  status to capsule when its status changed (Need to discuss about the realization)."},{"line_number":47,"context_line":"  Add health checker probes in the future."},{"line_number":48,"context_line":"* Update and rollback:"},{"line_number":49,"context_line":"  Update: Support capsule update(different from zun update). That means the"},{"line_number":50,"context_line":"  container image will update, launch the new capsule from new image, then destroy"},{"line_number":51,"context_line":"  the old capsule. The capsule IP address will change. For Volume, need to clarify"},{"line_number":52,"context_line":"  it after Cinder integration."}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_7f9acfc5","line":49,"range":{"start_line":49,"start_character":26,"end_line":49,"end_character":32},"updated":"2017-04-12 22:19:02.000000000","message":"To avoid ambiguous, I would propose to use another word \"upgrade\".","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  status to capsule when its status changed (Need to discuss about the realization)."},{"line_number":47,"context_line":"  Add health checker probes in the future."},{"line_number":48,"context_line":"* Update and rollback:"},{"line_number":49,"context_line":"  Update: Support capsule update(different from zun update). That means the"},{"line_number":50,"context_line":"  container image will update, launch the new capsule from new image, then destroy"},{"line_number":51,"context_line":"  the old capsule. The capsule IP address will change. For Volume, need to clarify"},{"line_number":52,"context_line":"  it after Cinder integration."}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_46ae12e8","line":49,"range":{"start_line":49,"start_character":26,"end_line":49,"end_character":32},"in_reply_to":"9ff52f3f_7f9acfc5","updated":"2017-04-13 15:15:52.000000000","message":"Done","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":47,"context_line":"  Add health checker probes in the future."},{"line_number":48,"context_line":"* Update and rollback:"},{"line_number":49,"context_line":"  Update: Support capsule update(different from zun update). That means the"},{"line_number":50,"context_line":"  container image will update, launch the new capsule from new image, then destroy"},{"line_number":51,"context_line":"  the old capsule. The capsule IP address will change. For Volume, need to clarify"},{"line_number":52,"context_line":"  it after Cinder integration."},{"line_number":53,"context_line":"  Rollback: When update failed, rollback to it origin status."},{"line_number":54,"context_line":"* Cpu and memory limits: Given that host resource allocation, cpu and memory limitation"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_1fd06350","line":51,"range":{"start_line":50,"start_character":31,"end_line":51,"end_character":17},"updated":"2017-04-12 22:19:02.000000000","message":"Actually, I think this is a great idea. Perhaps, we can apply this to container as well: introduce a command \"zun upgrade\" that launch a new container and destroy the old container.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":47,"context_line":"  Add health checker probes in the future."},{"line_number":48,"context_line":"* Update and rollback:"},{"line_number":49,"context_line":"  Update: Support capsule update(different from zun update). That means the"},{"line_number":50,"context_line":"  container image will update, launch the new capsule from new image, then destroy"},{"line_number":51,"context_line":"  the old capsule. The capsule IP address will change. For Volume, need to clarify"},{"line_number":52,"context_line":"  it after Cinder integration."},{"line_number":53,"context_line":"  Rollback: When update failed, rollback to it origin status."},{"line_number":54,"context_line":"* Cpu and memory limits: Given that host resource allocation, cpu and memory limitation"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_26c2ee86","line":51,"range":{"start_line":50,"start_character":31,"end_line":51,"end_character":17},"in_reply_to":"9ff52f3f_1fd06350","updated":"2017-04-13 15:15:52.000000000","message":"Cool, I will file a bug for supporting \"zun upgrade\" as well","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":96,"context_line":"6. Define a yaml file structure for capsule. The yaml file will be compatible with"},{"line_number":97,"context_line":"   Kubernetes pod yaml file, at the same time Zun will define the available properties,"},{"line_number":98,"context_line":"   metadata and template of the yaml file. In the first step, only essential properties"},{"line_number":99,"context_line":"   will be defined. Yaml file structure will be added after the overall designation has"},{"line_number":100,"context_line":"   been approved."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"The diagram below offers an overview of the architecture of ``capsule``:"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_1fbaa3dd","line":100,"range":{"start_line":99,"start_character":20,"end_line":100,"end_character":16},"updated":"2017-04-12 22:19:02.000000000","message":"It seems you already added it in below.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":96,"context_line":"6. Define a yaml file structure for capsule. The yaml file will be compatible with"},{"line_number":97,"context_line":"   Kubernetes pod yaml file, at the same time Zun will define the available properties,"},{"line_number":98,"context_line":"   metadata and template of the yaml file. In the first step, only essential properties"},{"line_number":99,"context_line":"   will be defined. Yaml file structure will be added after the overall designation has"},{"line_number":100,"context_line":"   been approved."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"The diagram below offers an overview of the architecture of ``capsule``:"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_e6b40638","line":100,"range":{"start_line":99,"start_character":20,"end_line":100,"end_character":16},"in_reply_to":"9ff52f3f_1fbaa3dd","updated":"2017-04-13 15:15:52.000000000","message":"Done","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":125,"context_line":" |                                                           |"},{"line_number":126,"context_line":" +-----------------------------------------------------------+"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Yaml format for ``capsule``:"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"apiVersion: beta           \u003cRequired\u003e"},{"line_number":131,"context_line":"catagory: capsule          \u003cRequired\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_ff6b7f1c","line":128,"range":{"start_line":128,"start_character":0,"end_line":128,"end_character":28},"updated":"2017-04-12 22:19:02.000000000","message":"Suggest to rewrite line #130 - #172 as following (similar to https://kubernetes.io/docs/api-reference/v1.6/#pod-v1-core ):\n\nSample capsule:\n\napiVersion: v1\nkind: capsule\nmetadata:\n  name: capsule-example\nspec:\n  containers:\n  - image: ubuntu:trusty\n    command: [\"echo\"]\n    args: [\"Hello World\"]\n    ...\n\nCapsule fields:\n* apiVersion (string): ...\n* kind (string): ...\n* metadata (ObjectMeta): ...\n* spec (CapsuleSpec): ...\n...\n\nObjectMeta fields:\n* name (sting): ...\n...\n\nCapsuleSpec fields:\n* containers (Container array): ...\n...\n\nContainer fields:\n* image (string): ...\n* command (string): ...\n....","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":125,"context_line":" |                                                           |"},{"line_number":126,"context_line":" +-----------------------------------------------------------+"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Yaml format for ``capsule``:"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"apiVersion: beta           \u003cRequired\u003e"},{"line_number":131,"context_line":"catagory: capsule          \u003cRequired\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_d07ad386","line":128,"range":{"start_line":128,"start_character":0,"end_line":128,"end_character":28},"in_reply_to":"9ff52f3f_ff6b7f1c","updated":"2017-04-13 15:15:52.000000000","message":"Done","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":183,"context_line":"* Create a \u0027capsule\u0027 table. Each entry in this table is a record of a capsule."},{"line_number":184,"context_line":"Introduce the capsule Object:"},{"line_number":185,"context_line":"    fields \u003d {"},{"line_number":186,"context_line":"    \u0027apiVersion\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":187,"context_line":"    \u0027category\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":188,"context_line":"    \u0027id\u0027: fields.IntegerField(),"},{"line_number":189,"context_line":"    \u0027uuid\u0027: fields.UUIDField(nullable\u003dTrue),"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_82fe5c03","line":186,"range":{"start_line":186,"start_character":5,"end_line":186,"end_character":15},"updated":"2017-04-12 22:19:02.000000000","message":"I think capsuleVersion is more flexible since we might want to version a capsule independent of the zun api version.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":183,"context_line":"* Create a \u0027capsule\u0027 table. Each entry in this table is a record of a capsule."},{"line_number":184,"context_line":"Introduce the capsule Object:"},{"line_number":185,"context_line":"    fields \u003d {"},{"line_number":186,"context_line":"    \u0027apiVersion\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":187,"context_line":"    \u0027category\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":188,"context_line":"    \u0027id\u0027: fields.IntegerField(),"},{"line_number":189,"context_line":"    \u0027uuid\u0027: fields.UUIDField(nullable\u003dTrue),"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_902c4b48","line":186,"range":{"start_line":186,"start_character":5,"end_line":186,"end_character":15},"in_reply_to":"9ff52f3f_82fe5c03","updated":"2017-04-13 15:15:52.000000000","message":"I see. Do you think we can remove apiVersion from Object?","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"f9bfafb0c6c34c430bf0fe07f12b60a3b3ebb96a","unresolved":false,"context_lines":[{"line_number":183,"context_line":"* Create a \u0027capsule\u0027 table. Each entry in this table is a record of a capsule."},{"line_number":184,"context_line":"Introduce the capsule Object:"},{"line_number":185,"context_line":"    fields \u003d {"},{"line_number":186,"context_line":"    \u0027apiVersion\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":187,"context_line":"    \u0027category\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":188,"context_line":"    \u0027id\u0027: fields.IntegerField(),"},{"line_number":189,"context_line":"    \u0027uuid\u0027: fields.UUIDField(nullable\u003dTrue),"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_6421094e","line":186,"range":{"start_line":186,"start_character":5,"end_line":186,"end_character":15},"in_reply_to":"9ff52f3f_902c4b48","updated":"2017-04-13 16:19:27.000000000","message":"Sorry for my confusing comment. My thinking is to change \u0027apiVersion\u0027 to \u0027version\u0027 or \u0027capsuleVersion\u0027. I think this will sound like the \u0027version\u0027 of capsule is decoupled from the version of zun api. What do you think?","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    # containers hold the containers that included in the capsule"},{"line_number":195,"context_line":"    #"},{"line_number":196,"context_line":"    \u0027containers\u0027: fields.DictOfStringsField(nullable\u003dTrue),"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    \u0027status\u0027: z_fields.ContainerStatusField(nullable\u003dTrue),"},{"line_number":199,"context_line":"    \u0027status_reason\u0027: fields.StringField(nullable\u003dTrue),"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_ff237fbd","line":196,"range":{"start_line":196,"start_character":5,"end_line":196,"end_character":15},"updated":"2017-04-12 22:19:02.000000000","message":"My feeling is adding \u0027capsule\u0027 field at \u0027container\u0027 table is easier since it will be easier to implement the foreign key constraint from container to capsule.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    # containers hold the containers that included in the capsule"},{"line_number":195,"context_line":"    #"},{"line_number":196,"context_line":"    \u0027containers\u0027: fields.DictOfStringsField(nullable\u003dTrue),"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    \u0027status\u0027: z_fields.ContainerStatusField(nullable\u003dTrue),"},{"line_number":199,"context_line":"    \u0027status_reason\u0027: fields.StringField(nullable\u003dTrue),"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_b0b50ff1","line":196,"range":{"start_line":196,"start_character":5,"end_line":196,"end_character":15},"in_reply_to":"9ff52f3f_ff237fbd","updated":"2017-04-13 15:15:52.000000000","message":"OK.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    \u0027meta\u0027: fields.DictOfStringsField(nullable\u003dTrue),"},{"line_number":213,"context_line":"    \u0027volumes\u0027: fields.DictOfStringsField(nullable\u003dTrue),"},{"line_number":214,"context_line":"    \u0027capsuleip\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":215,"context_line":"    \u0027labels\u0027: fields.DictOfStringsField(nullable\u003dTrue),"},{"line_number":216,"context_line":"    \u0027ports\u0027: z_fields.ListOfIntegersField(nullable\u003dTrue),"},{"line_number":217,"context_line":"    \u0027hostname\u0027: fields.StringField(nullable\u003dTrue),"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_82277cb7","line":214,"range":{"start_line":214,"start_character":5,"end_line":214,"end_character":14},"updated":"2017-04-12 22:19:02.000000000","message":"I think just \u0027ip\u0027 is enough since it is already under capsule object.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    \u0027meta\u0027: fields.DictOfStringsField(nullable\u003dTrue),"},{"line_number":213,"context_line":"    \u0027volumes\u0027: fields.DictOfStringsField(nullable\u003dTrue),"},{"line_number":214,"context_line":"    \u0027capsuleip\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":215,"context_line":"    \u0027labels\u0027: fields.DictOfStringsField(nullable\u003dTrue),"},{"line_number":216,"context_line":"    \u0027ports\u0027: z_fields.ListOfIntegersField(nullable\u003dTrue),"},{"line_number":217,"context_line":"    \u0027hostname\u0027: fields.StringField(nullable\u003dTrue),"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_50c24387","line":214,"range":{"start_line":214,"start_character":5,"end_line":214,"end_character":14},"in_reply_to":"9ff52f3f_82277cb7","updated":"2017-04-13 15:15:52.000000000","message":"Done","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":221,"context_line":"---------------"},{"line_number":222,"context_line":"* Add a new API endpoint /capsule to the REST API interface."},{"line_number":223,"context_line":"* Capsule API: Capsule consider to support multiple operations as container"},{"line_number":224,"context_line":"composition. Here is the propersal for the command, while the API is the same::"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"show capsule-id   \u003cGet the information of the capsule\u003e"},{"line_number":227,"context_line":"list capsule-id   \u003cList all the capsule, add parameters about list capsules with the same labels\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_222670b9","line":224,"range":{"start_line":224,"start_character":25,"end_line":224,"end_character":34},"updated":"2017-04-12 22:19:02.000000000","message":"proposal","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":221,"context_line":"---------------"},{"line_number":222,"context_line":"* Add a new API endpoint /capsule to the REST API interface."},{"line_number":223,"context_line":"* Capsule API: Capsule consider to support multiple operations as container"},{"line_number":224,"context_line":"composition. Here is the propersal for the command, while the API is the same::"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"show capsule-id   \u003cGet the information of the capsule\u003e"},{"line_number":227,"context_line":"list capsule-id   \u003cList all the capsule, add parameters about list capsules with the same labels\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_30f0dfc9","line":224,"range":{"start_line":224,"start_character":25,"end_line":224,"end_character":34},"in_reply_to":"9ff52f3f_222670b9","updated":"2017-04-13 15:15:52.000000000","message":"Done","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"show capsule-id   \u003cGet the information of the capsule\u003e"},{"line_number":227,"context_line":"list capsule-id   \u003cList all the capsule, add parameters about list capsules with the same labels\u003e"},{"line_number":228,"context_line":"attach            \u003cAttach to one container in a capsule\u003e"},{"line_number":229,"context_line":"logs capsule-id   \u003cLogs one capsule or a special container\u003e"},{"line_number":230,"context_line":"                  \u003c-f: Start streaming the logs from capsule. The same like “tail -f”\u003e"},{"line_number":231,"context_line":"port-forward      \u003cForward one or more port to the capsule\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_02400c35","line":228,"range":{"start_line":228,"start_character":0,"end_line":228,"end_character":6},"updated":"2017-04-12 22:19:02.000000000","message":"I think it needs a \u0027detach\u0027 as the opposite.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"show capsule-id   \u003cGet the information of the capsule\u003e"},{"line_number":227,"context_line":"list capsule-id   \u003cList all the capsule, add parameters about list capsules with the same labels\u003e"},{"line_number":228,"context_line":"attach            \u003cAttach to one container in a capsule\u003e"},{"line_number":229,"context_line":"logs capsule-id   \u003cLogs one capsule or a special container\u003e"},{"line_number":230,"context_line":"                  \u003c-f: Start streaming the logs from capsule. The same like “tail -f”\u003e"},{"line_number":231,"context_line":"port-forward      \u003cForward one or more port to the capsule\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_70942745","line":228,"range":{"start_line":228,"start_character":0,"end_line":228,"end_character":6},"in_reply_to":"9ff52f3f_02400c35","updated":"2017-04-13 15:15:52.000000000","message":"Done","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":226,"context_line":"show capsule-id   \u003cGet the information of the capsule\u003e"},{"line_number":227,"context_line":"list capsule-id   \u003cList all the capsule, add parameters about list capsules with the same labels\u003e"},{"line_number":228,"context_line":"attach            \u003cAttach to one container in a capsule\u003e"},{"line_number":229,"context_line":"logs capsule-id   \u003cLogs one capsule or a special container\u003e"},{"line_number":230,"context_line":"                  \u003c-f: Start streaming the logs from capsule. The same like “tail -f”\u003e"},{"line_number":231,"context_line":"port-forward      \u003cForward one or more port to the capsule\u003e"},{"line_number":232,"context_line":"create            \u003c-f yaml file\u003e\u003c-f directory\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_e2aac8d0","line":229,"range":{"start_line":229,"start_character":0,"end_line":229,"end_character":15},"updated":"2017-04-12 22:19:02.000000000","message":"This doesn\u0027t seem to work if there are more than one containers in a capsule. If this command simply shows the logs of a special container, it sounds like a duplication of the \"zun logs \u003ccontainer\u003e\" command.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":226,"context_line":"show capsule-id   \u003cGet the information of the capsule\u003e"},{"line_number":227,"context_line":"list capsule-id   \u003cList all the capsule, add parameters about list capsules with the same labels\u003e"},{"line_number":228,"context_line":"attach            \u003cAttach to one container in a capsule\u003e"},{"line_number":229,"context_line":"logs capsule-id   \u003cLogs one capsule or a special container\u003e"},{"line_number":230,"context_line":"                  \u003c-f: Start streaming the logs from capsule. The same like “tail -f”\u003e"},{"line_number":231,"context_line":"port-forward      \u003cForward one or more port to the capsule\u003e"},{"line_number":232,"context_line":"create            \u003c-f yaml file\u003e\u003c-f directory\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_30da1f17","line":229,"range":{"start_line":229,"start_character":0,"end_line":229,"end_character":15},"in_reply_to":"9ff52f3f_e2aac8d0","updated":"2017-04-13 15:15:52.000000000","message":"Yeah will show the logs of a special container.\nI will remove here.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":228,"context_line":"attach            \u003cAttach to one container in a capsule\u003e"},{"line_number":229,"context_line":"logs capsule-id   \u003cLogs one capsule or a special container\u003e"},{"line_number":230,"context_line":"                  \u003c-f: Start streaming the logs from capsule. The same like “tail -f”\u003e"},{"line_number":231,"context_line":"port-forward      \u003cForward one or more port to the capsule\u003e"},{"line_number":232,"context_line":"create            \u003c-f yaml file\u003e\u003c-f directory\u003e"},{"line_number":233,"context_line":"describe          \u003cdisplay the details state of one or more resource"},{"line_number":234,"context_line":"delete"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_90a32b50","line":231,"range":{"start_line":231,"start_character":0,"end_line":231,"end_character":12},"updated":"2017-04-13 15:15:52.000000000","message":"Forward one or more local port to the capsule, I think we may not need it with neutron support. I will remove","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":228,"context_line":"attach            \u003cAttach to one container in a capsule\u003e"},{"line_number":229,"context_line":"logs capsule-id   \u003cLogs one capsule or a special container\u003e"},{"line_number":230,"context_line":"                  \u003c-f: Start streaming the logs from capsule. The same like “tail -f”\u003e"},{"line_number":231,"context_line":"port-forward      \u003cForward one or more port to the capsule\u003e"},{"line_number":232,"context_line":"create            \u003c-f yaml file\u003e\u003c-f directory\u003e"},{"line_number":233,"context_line":"describe          \u003cdisplay the details state of one or more resource"},{"line_number":234,"context_line":"delete"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_e293e8a2","line":231,"range":{"start_line":231,"start_character":19,"end_line":231,"end_character":58},"updated":"2017-04-12 22:19:02.000000000","message":"I think this needs a better clarification. At least, for me, I am not sure exactly what it means.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":230,"context_line":"                  \u003c-f: Start streaming the logs from capsule. The same like “tail -f”\u003e"},{"line_number":231,"context_line":"port-forward      \u003cForward one or more port to the capsule\u003e"},{"line_number":232,"context_line":"create            \u003c-f yaml file\u003e\u003c-f directory\u003e"},{"line_number":233,"context_line":"describe          \u003cdisplay the details state of one or more resource"},{"line_number":234,"context_line":"delete"},{"line_number":235,"context_line":"                  \u003c-f yaml file: Delete the capsule using the same yaml file\u003e"},{"line_number":236,"context_line":"                  \u003c-l name\u003dlabel-name\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_62ed9824","line":233,"range":{"start_line":233,"start_character":0,"end_line":233,"end_character":8},"updated":"2017-04-12 22:19:02.000000000","message":"What are the differences between \"show\" and \"describe\"?","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":230,"context_line":"                  \u003c-f: Start streaming the logs from capsule. The same like “tail -f”\u003e"},{"line_number":231,"context_line":"port-forward      \u003cForward one or more port to the capsule\u003e"},{"line_number":232,"context_line":"create            \u003c-f yaml file\u003e\u003c-f directory\u003e"},{"line_number":233,"context_line":"describe          \u003cdisplay the details state of one or more resource"},{"line_number":234,"context_line":"delete"},{"line_number":235,"context_line":"                  \u003c-f yaml file: Delete the capsule using the same yaml file\u003e"},{"line_number":236,"context_line":"                  \u003c-l name\u003dlabel-name\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_3059ff59","line":233,"range":{"start_line":233,"start_character":0,"end_line":233,"end_character":8},"in_reply_to":"9ff52f3f_62ed9824","updated":"2017-04-13 15:15:52.000000000","message":"You\u0027re right, describe is mostly like show. I will remove show.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":233,"context_line":"describe          \u003cdisplay the details state of one or more resource"},{"line_number":234,"context_line":"delete"},{"line_number":235,"context_line":"                  \u003c-f yaml file: Delete the capsule using the same yaml file\u003e"},{"line_number":236,"context_line":"                  \u003c-l name\u003dlabel-name\u003e"},{"line_number":237,"context_line":"                  \u003c–all\u003e"},{"line_number":238,"context_line":"exec"},{"line_number":239,"context_line":"                  \u003cexec capsule-id “command” : By default the output is from the first container\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_62d6b852","line":236,"range":{"start_line":236,"start_character":18,"end_line":236,"end_character":38},"updated":"2017-04-12 22:19:02.000000000","message":"I think name could be a positional parameter.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":233,"context_line":"describe          \u003cdisplay the details state of one or more resource"},{"line_number":234,"context_line":"delete"},{"line_number":235,"context_line":"                  \u003c-f yaml file: Delete the capsule using the same yaml file\u003e"},{"line_number":236,"context_line":"                  \u003c-l name\u003dlabel-name\u003e"},{"line_number":237,"context_line":"                  \u003c–all\u003e"},{"line_number":238,"context_line":"exec"},{"line_number":239,"context_line":"                  \u003cexec capsule-id “command” : By default the output is from the first container\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_f030370a","line":236,"range":{"start_line":236,"start_character":18,"end_line":236,"end_character":38},"in_reply_to":"9ff52f3f_62d6b852","updated":"2017-04-13 15:15:52.000000000","message":"Done","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                  \u003c-f yaml file: Delete the capsule using the same yaml file\u003e"},{"line_number":236,"context_line":"                  \u003c-l name\u003dlabel-name\u003e"},{"line_number":237,"context_line":"                  \u003c–all\u003e"},{"line_number":238,"context_line":"exec"},{"line_number":239,"context_line":"                  \u003cexec capsule-id “command” : By default the output is from the first container\u003e"},{"line_number":240,"context_line":"                  \u003cexec capsule-id -c container-id “command”\u003e"},{"line_number":241,"context_line":"                  \u003cexec capsule-id -it container-id /bin/bash\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_a2bba00c","line":238,"range":{"start_line":238,"start_character":0,"end_line":238,"end_character":4},"updated":"2017-04-12 22:19:02.000000000","message":"Ditto. This sounds like a duplication of the \"zun exec \u003ccontainer\u003e\" command.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                  \u003c-f yaml file: Delete the capsule using the same yaml file\u003e"},{"line_number":236,"context_line":"                  \u003c-l name\u003dlabel-name\u003e"},{"line_number":237,"context_line":"                  \u003c–all\u003e"},{"line_number":238,"context_line":"exec"},{"line_number":239,"context_line":"                  \u003cexec capsule-id “command” : By default the output is from the first container\u003e"},{"line_number":240,"context_line":"                  \u003cexec capsule-id -c container-id “command”\u003e"},{"line_number":241,"context_line":"                  \u003cexec capsule-id -it container-id /bin/bash\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_133285f2","line":238,"range":{"start_line":238,"start_character":0,"end_line":238,"end_character":4},"in_reply_to":"9ff52f3f_a2bba00c","updated":"2017-04-13 15:15:52.000000000","message":"Yeah it is the same. I leave it here just make align with kubectl.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":238,"context_line":"exec"},{"line_number":239,"context_line":"                  \u003cexec capsule-id “command” : By default the output is from the first container\u003e"},{"line_number":240,"context_line":"                  \u003cexec capsule-id -c container-id “command”\u003e"},{"line_number":241,"context_line":"                  \u003cexec capsule-id -it container-id /bin/bash\u003e"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"Questions:"},{"line_number":244,"context_line":"1. do we need introduce the “events” so that tracking the status for resource"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_02948c43","line":241,"updated":"2017-04-12 22:19:02.000000000","message":"Personally, I proposed to add an optional argument to the container commands:\n\n  $ zun run --capsule \u003ccapsule_id\u003e nginx\n\nIf \"--capsule ..\" is set, the container will be created inside the capsule. Otherwise, it will be created as normal.","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7a5cc0607158f9503afde543117e2501aad93323","unresolved":false,"context_lines":[{"line_number":238,"context_line":"exec"},{"line_number":239,"context_line":"                  \u003cexec capsule-id “command” : By default the output is from the first container\u003e"},{"line_number":240,"context_line":"                  \u003cexec capsule-id -c container-id “command”\u003e"},{"line_number":241,"context_line":"                  \u003cexec capsule-id -it container-id /bin/bash\u003e"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"Questions:"},{"line_number":244,"context_line":"1. do we need introduce the “events” so that tracking the status for resource"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_d39f7db2","line":241,"in_reply_to":"9ff52f3f_02948c43","updated":"2017-04-13 15:15:52.000000000","message":"Cool.\nGood idea I will add","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"7863cf3e0553145c767f3e5d4193caacfa751665","unresolved":false,"context_lines":[{"line_number":241,"context_line":"                  \u003cexec capsule-id -it container-id /bin/bash\u003e"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"Questions:"},{"line_number":244,"context_line":"1. do we need introduce the “events” so that tracking the status for resource"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"Security impact"},{"line_number":247,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9ff52f3f_02e6cc17","line":244,"updated":"2017-04-12 22:19:02.000000000","message":"I think it is optional and can be covered by another BP. Actually, it sounds like an extension of this one: https://blueprints.launchpad.net/zun/+spec/zun-notification","commit_id":"8fb9642ee1324af6a80f0fe150f8ba377304fe7c"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"60619060dc5735de26c2b6e8e579c95c7c79b438","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Yaml format for ``capsule``:"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Sample capsule:"},{"line_number":128,"context_line":"apiVersion: beta"},{"line_number":129,"context_line":"kind: capsule"},{"line_number":130,"context_line":"metadata:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9ff52f3f_6927a214","line":127,"range":{"start_line":127,"start_character":0,"end_line":127,"end_character":15},"updated":"2017-04-13 16:18:42.000000000","message":"I think showing the yaml file in a code block might be better for rendering : http://www.sphinx-doc.org/en/stable/markup/code.html","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"935641b0cb7f7127ae2ff941e7b75a6354c528cb","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Yaml format for ``capsule``:"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Sample capsule:"},{"line_number":128,"context_line":"apiVersion: beta"},{"line_number":129,"context_line":"kind: capsule"},{"line_number":130,"context_line":"metadata:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"7ffa3b31_ea53ace1","line":127,"range":{"start_line":127,"start_character":0,"end_line":127,"end_character":15},"in_reply_to":"9ff52f3f_6927a214","updated":"2017-04-14 09:48:29.000000000","message":"Done","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"60619060dc5735de26c2b6e8e579c95c7c79b438","unresolved":false,"context_lines":[{"line_number":141,"context_line":"* kind(string): the flag to show yaml file property"},{"line_number":142,"context_line":"* metadata(ObjectMeta: metadata Object"},{"line_number":143,"context_line":"* spec (CapsuleSpec): capsule specifications"},{"line_number":144,"context_line":"* restartPolicy(string): [Always | Never | OnFailure], by default is Always"},{"line_number":145,"context_line":"* hostSelector(string): Specify the host that will launch the capsule"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"ObjectMeta fields:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9ff52f3f_29763a08","line":144,"updated":"2017-04-13 16:18:42.000000000","message":"Better to show \"restartPolicy\" and \"hostSelector\" in the sample yaml file above as well.","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"935641b0cb7f7127ae2ff941e7b75a6354c528cb","unresolved":false,"context_lines":[{"line_number":141,"context_line":"* kind(string): the flag to show yaml file property"},{"line_number":142,"context_line":"* metadata(ObjectMeta: metadata Object"},{"line_number":143,"context_line":"* spec (CapsuleSpec): capsule specifications"},{"line_number":144,"context_line":"* restartPolicy(string): [Always | Never | OnFailure], by default is Always"},{"line_number":145,"context_line":"* hostSelector(string): Specify the host that will launch the capsule"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"ObjectMeta fields:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"7ffa3b31_aa5fe4e3","line":144,"in_reply_to":"9ff52f3f_29763a08","updated":"2017-04-14 09:48:29.000000000","message":"Done","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"60619060dc5735de26c2b6e8e579c95c7c79b438","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"ObjectMeta fields:"},{"line_number":148,"context_line":"* name(string): capsule name"},{"line_number":149,"context_line":"* lables(dict, name: string): labels for capsule"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"CapsuleSpec fields:"},{"line_number":152,"context_line":"* containers(Container array): containers info array, one capsule have multiple containers"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9ff52f3f_49d73ec1","line":149,"range":{"start_line":149,"start_character":2,"end_line":149,"end_character":8},"updated":"2017-04-13 16:18:42.000000000","message":"Ditto, better to show labels in the sample yaml file. This applies to all the fields below.","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"935641b0cb7f7127ae2ff941e7b75a6354c528cb","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"ObjectMeta fields:"},{"line_number":148,"context_line":"* name(string): capsule name"},{"line_number":149,"context_line":"* lables(dict, name: string): labels for capsule"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"CapsuleSpec fields:"},{"line_number":152,"context_line":"* containers(Container array): containers info array, one capsule have multiple containers"}],"source_content_type":"text/x-rst","patch_set":12,"id":"7ffa3b31_8a6428bb","line":149,"range":{"start_line":149,"start_character":2,"end_line":149,"end_character":8},"in_reply_to":"9ff52f3f_49d73ec1","updated":"2017-04-14 09:48:29.000000000","message":"Done","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"60619060dc5735de26c2b6e8e579c95c7c79b438","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"CapsuleSpec fields:"},{"line_number":152,"context_line":"* containers(Container array): containers info array, one capsule have multiple containers"},{"line_number":153,"context_line":"* volume(Volume array): volume information"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Containers fields:"},{"line_number":156,"context_line":"* name(string): name for container"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9ff52f3f_a9b7ea86","line":153,"range":{"start_line":153,"start_character":2,"end_line":153,"end_character":8},"updated":"2017-04-13 16:18:42.000000000","message":"volumes (missing \u0027s\u0027)","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"935641b0cb7f7127ae2ff941e7b75a6354c528cb","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"CapsuleSpec fields:"},{"line_number":152,"context_line":"* containers(Container array): containers info array, one capsule have multiple containers"},{"line_number":153,"context_line":"* volume(Volume array): volume information"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Containers fields:"},{"line_number":156,"context_line":"* name(string): name for container"}],"source_content_type":"text/x-rst","patch_set":12,"id":"7ffa3b31_6a59dcfc","line":153,"range":{"start_line":153,"start_character":2,"end_line":153,"end_character":8},"in_reply_to":"9ff52f3f_a9b7ea86","updated":"2017-04-14 09:48:29.000000000","message":"Done","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"60619060dc5735de26c2b6e8e579c95c7c79b438","unresolved":false,"context_lines":[{"line_number":166,"context_line":"* env(dict, name:string): environment variables for container"},{"line_number":167,"context_line":"* resources(recourcesObject): resources that container needed"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"volumnMounts fields:"},{"line_number":170,"context_line":"* name(string): volume name that listed in below field \"volumes\""},{"line_number":171,"context_line":"* mountPath(string): mount path that in the container, absolute path"},{"line_number":172,"context_line":"* readOnly(boolean): read only flags"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9ff52f3f_490a9e26","line":169,"range":{"start_line":169,"start_character":0,"end_line":169,"end_character":12},"updated":"2017-04-13 16:18:42.000000000","message":"nit: VolumnMounts (capital)","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"935641b0cb7f7127ae2ff941e7b75a6354c528cb","unresolved":false,"context_lines":[{"line_number":166,"context_line":"* env(dict, name:string): environment variables for container"},{"line_number":167,"context_line":"* resources(recourcesObject): resources that container needed"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"volumnMounts fields:"},{"line_number":170,"context_line":"* name(string): volume name that listed in below field \"volumes\""},{"line_number":171,"context_line":"* mountPath(string): mount path that in the container, absolute path"},{"line_number":172,"context_line":"* readOnly(boolean): read only flags"}],"source_content_type":"text/x-rst","patch_set":12,"id":"7ffa3b31_4a5e20e7","line":169,"range":{"start_line":169,"start_character":0,"end_line":169,"end_character":12},"in_reply_to":"9ff52f3f_490a9e26","updated":"2017-04-14 09:48:29.000000000","message":"Done","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"60619060dc5735de26c2b6e8e579c95c7c79b438","unresolved":false,"context_lines":[{"line_number":171,"context_line":"* mountPath(string): mount path that in the container, absolute path"},{"line_number":172,"context_line":"* readOnly(boolean): read only flags"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"ports fields:"},{"line_number":175,"context_line":"* name(string): port name, optional"},{"line_number":176,"context_line":"* containerPort(int): port number that container need to listen"},{"line_number":177,"context_line":"* hostPort(int): port number that capsule need to listen"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9ff52f3f_e4fe3904","line":174,"range":{"start_line":174,"start_character":0,"end_line":174,"end_character":5},"updated":"2017-04-13 16:18:42.000000000","message":"nit: Ports . This applies to all below.","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"935641b0cb7f7127ae2ff941e7b75a6354c528cb","unresolved":false,"context_lines":[{"line_number":171,"context_line":"* mountPath(string): mount path that in the container, absolute path"},{"line_number":172,"context_line":"* readOnly(boolean): read only flags"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"ports fields:"},{"line_number":175,"context_line":"* name(string): port name, optional"},{"line_number":176,"context_line":"* containerPort(int): port number that container need to listen"},{"line_number":177,"context_line":"* hostPort(int): port number that capsule need to listen"}],"source_content_type":"text/x-rst","patch_set":12,"id":"7ffa3b31_ea6ccc9d","line":174,"range":{"start_line":174,"start_character":0,"end_line":174,"end_character":5},"in_reply_to":"9ff52f3f_e4fe3904","updated":"2017-04-14 09:48:29.000000000","message":"Done","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"60619060dc5735de26c2b6e8e579c95c7c79b438","unresolved":false,"context_lines":[{"line_number":187,"context_line":"Volumes fields:"},{"line_number":188,"context_line":"* name(string): volume name"},{"line_number":189,"context_line":"* driver(string): volume drivers"},{"line_number":190,"context_line":"* driver_options(string): options for volume driver"},{"line_number":191,"context_line":"* size(string): volume size"},{"line_number":192,"context_line":"* volume_type(string): volume type that cinder need. by default is from cinder config"},{"line_number":193,"context_line":"* image(string): cinder needed to boot from image"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9ff52f3f_241c2169","line":190,"range":{"start_line":190,"start_character":2,"end_line":190,"end_character":16},"updated":"2017-04-13 16:18:42.000000000","message":"nit: driverOptions for consistency.","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"935641b0cb7f7127ae2ff941e7b75a6354c528cb","unresolved":false,"context_lines":[{"line_number":187,"context_line":"Volumes fields:"},{"line_number":188,"context_line":"* name(string): volume name"},{"line_number":189,"context_line":"* driver(string): volume drivers"},{"line_number":190,"context_line":"* driver_options(string): options for volume driver"},{"line_number":191,"context_line":"* size(string): volume size"},{"line_number":192,"context_line":"* volume_type(string): volume type that cinder need. by default is from cinder config"},{"line_number":193,"context_line":"* image(string): cinder needed to boot from image"}],"source_content_type":"text/x-rst","patch_set":12,"id":"7ffa3b31_0a701872","line":190,"range":{"start_line":190,"start_character":2,"end_line":190,"end_character":16},"in_reply_to":"9ff52f3f_241c2169","updated":"2017-04-14 09:48:29.000000000","message":"Done","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"60619060dc5735de26c2b6e8e579c95c7c79b438","unresolved":false,"context_lines":[{"line_number":189,"context_line":"* driver(string): volume drivers"},{"line_number":190,"context_line":"* driver_options(string): options for volume driver"},{"line_number":191,"context_line":"* size(string): volume size"},{"line_number":192,"context_line":"* volume_type(string): volume type that cinder need. by default is from cinder config"},{"line_number":193,"context_line":"* image(string): cinder needed to boot from image"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9ff52f3f_a42151a2","line":192,"range":{"start_line":192,"start_character":2,"end_line":192,"end_character":13},"updated":"2017-04-13 16:18:42.000000000","message":"Ditto, volumeType","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"935641b0cb7f7127ae2ff941e7b75a6354c528cb","unresolved":false,"context_lines":[{"line_number":189,"context_line":"* driver(string): volume drivers"},{"line_number":190,"context_line":"* driver_options(string): options for volume driver"},{"line_number":191,"context_line":"* size(string): volume size"},{"line_number":192,"context_line":"* volume_type(string): volume type that cinder need. by default is from cinder config"},{"line_number":193,"context_line":"* image(string): cinder needed to boot from image"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"7ffa3b31_2a21944e","line":192,"range":{"start_line":192,"start_character":2,"end_line":192,"end_character":13},"in_reply_to":"9ff52f3f_a42151a2","updated":"2017-04-14 09:48:29.000000000","message":"Done","commit_id":"270d29118dc301958d0427f8d902ca492b7c86ec"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ffb923af36ec58cf03f1bcb6dd962173d322855b","unresolved":false,"context_lines":[{"line_number":17,"context_line":"feature in Zun, we can put multiple containers, a sandbox and other related"},{"line_number":18,"context_line":"resources into one unit, we name the unit ``capsule``."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The containers in a ``capsule`` are relatively tightly coupled, they shares"},{"line_number":21,"context_line":"the capsule\u0027s context like Linux namespaces, cgroups and etc, and they work"},{"line_number":22,"context_line":"together closely to form a cohesive unit of service."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_3243bc15","line":20,"range":{"start_line":20,"start_character":69,"end_line":20,"end_character":75},"updated":"2017-04-20 11:34:18.000000000","message":"share","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":17,"context_line":"feature in Zun, we can put multiple containers, a sandbox and other related"},{"line_number":18,"context_line":"resources into one unit, we name the unit ``capsule``."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The containers in a ``capsule`` are relatively tightly coupled, they shares"},{"line_number":21,"context_line":"the capsule\u0027s context like Linux namespaces, cgroups and etc, and they work"},{"line_number":22,"context_line":"together closely to form a cohesive unit of service."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_6a5f9041","line":20,"range":{"start_line":20,"start_character":69,"end_line":20,"end_character":75},"in_reply_to":"7ffa3b31_3243bc15","updated":"2017-04-24 12:28:16.000000000","message":"Done","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":12407,"name":"Shubham Kumar Sharma","email":"shubham.git@gmail.com","username":"shubham.git"},"change_message_id":"ecaaf2eb804cfbf21eb9882435b05360716ee30c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"the capsule\u0027s context like Linux namespaces, cgroups and etc, and they work"},{"line_number":22,"context_line":"together closely to form a cohesive unit of service."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"A ``capsule`` has the following proprieties:"},{"line_number":25,"context_line":"* Structure: It can contains one or multiple containers, and it have a sandbox"},{"line_number":26,"context_line":"  container which will support the network namespace for the capsule."},{"line_number":27,"context_line":"* Scheduler: Containers inside a capsule are scheduled as a unit, thus all"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_8b02673c","line":24,"range":{"start_line":24,"start_character":32,"end_line":24,"end_character":43},"updated":"2017-04-20 05:47:46.000000000","message":"s/proprieties/properties","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":21,"context_line":"the capsule\u0027s context like Linux namespaces, cgroups and etc, and they work"},{"line_number":22,"context_line":"together closely to form a cohesive unit of service."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"A ``capsule`` has the following proprieties:"},{"line_number":25,"context_line":"* Structure: It can contains one or multiple containers, and it have a sandbox"},{"line_number":26,"context_line":"  container which will support the network namespace for the capsule."},{"line_number":27,"context_line":"* Scheduler: Containers inside a capsule are scheduled as a unit, thus all"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_ca3584f9","line":24,"range":{"start_line":24,"start_character":32,"end_line":24,"end_character":43},"in_reply_to":"7ffa3b31_8b02673c","updated":"2017-04-24 12:28:16.000000000","message":"Done","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ffb923af36ec58cf03f1bcb6dd962173d322855b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"together closely to form a cohesive unit of service."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"A ``capsule`` has the following proprieties:"},{"line_number":25,"context_line":"* Structure: It can contains one or multiple containers, and it have a sandbox"},{"line_number":26,"context_line":"  container which will support the network namespace for the capsule."},{"line_number":27,"context_line":"* Scheduler: Containers inside a capsule are scheduled as a unit, thus all"},{"line_number":28,"context_line":"  containers inside a capsule is co-located. All containers inside a capsule"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_325cdceb","line":25,"range":{"start_line":25,"start_character":64,"end_line":25,"end_character":68},"updated":"2017-04-20 11:34:18.000000000","message":"has","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":12407,"name":"Shubham Kumar Sharma","email":"shubham.git@gmail.com","username":"shubham.git"},"change_message_id":"ecaaf2eb804cfbf21eb9882435b05360716ee30c","unresolved":false,"context_lines":[{"line_number":22,"context_line":"together closely to form a cohesive unit of service."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"A ``capsule`` has the following proprieties:"},{"line_number":25,"context_line":"* Structure: It can contains one or multiple containers, and it have a sandbox"},{"line_number":26,"context_line":"  container which will support the network namespace for the capsule."},{"line_number":27,"context_line":"* Scheduler: Containers inside a capsule are scheduled as a unit, thus all"},{"line_number":28,"context_line":"  containers inside a capsule is co-located. All containers inside a capsule"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_2b97d3ee","line":25,"range":{"start_line":25,"start_character":20,"end_line":25,"end_character":28},"updated":"2017-04-20 05:47:46.000000000","message":"s/contains/contain","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"together closely to form a cohesive unit of service."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"A ``capsule`` has the following proprieties:"},{"line_number":25,"context_line":"* Structure: It can contains one or multiple containers, and it have a sandbox"},{"line_number":26,"context_line":"  container which will support the network namespace for the capsule."},{"line_number":27,"context_line":"* Scheduler: Containers inside a capsule are scheduled as a unit, thus all"},{"line_number":28,"context_line":"  containers inside a capsule is co-located. All containers inside a capsule"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_2a2e28a5","line":25,"range":{"start_line":25,"start_character":20,"end_line":25,"end_character":28},"in_reply_to":"7ffa3b31_2b97d3ee","updated":"2017-04-24 12:28:16.000000000","message":"Done","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"together closely to form a cohesive unit of service."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"A ``capsule`` has the following proprieties:"},{"line_number":25,"context_line":"* Structure: It can contains one or multiple containers, and it have a sandbox"},{"line_number":26,"context_line":"  container which will support the network namespace for the capsule."},{"line_number":27,"context_line":"* Scheduler: Containers inside a capsule are scheduled as a unit, thus all"},{"line_number":28,"context_line":"  containers inside a capsule is co-located. All containers inside a capsule"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_4a2174b4","line":25,"range":{"start_line":25,"start_character":64,"end_line":25,"end_character":68},"in_reply_to":"7ffa3b31_325cdceb","updated":"2017-04-24 12:28:16.000000000","message":"Done","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ffb923af36ec58cf03f1bcb6dd962173d322855b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"* Scheduler: Containers inside a capsule are scheduled as a unit, thus all"},{"line_number":28,"context_line":"  containers inside a capsule is co-located. All containers inside a capsule"},{"line_number":29,"context_line":"  will be launched in one compute host."},{"line_number":30,"context_line":"* Network: Containers inside a capsule shared a network namespace, so they"},{"line_number":31,"context_line":"  share IP address(es) and ping each other via localhost by using different"},{"line_number":32,"context_line":"  remapping network port. Capsule IP address(es) will re-use the sandbox IP."},{"line_number":33,"context_line":"  Containers communication between different capsules will use capsules IP and"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_32b85ce3","line":30,"range":{"start_line":30,"start_character":39,"end_line":30,"end_character":47},"updated":"2017-04-20 11:34:18.000000000","message":"\"share the same\" will be more appropriate.","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":27,"context_line":"* Scheduler: Containers inside a capsule are scheduled as a unit, thus all"},{"line_number":28,"context_line":"  containers inside a capsule is co-located. All containers inside a capsule"},{"line_number":29,"context_line":"  will be launched in one compute host."},{"line_number":30,"context_line":"* Network: Containers inside a capsule shared a network namespace, so they"},{"line_number":31,"context_line":"  share IP address(es) and ping each other via localhost by using different"},{"line_number":32,"context_line":"  remapping network port. Capsule IP address(es) will re-use the sandbox IP."},{"line_number":33,"context_line":"  Containers communication between different capsules will use capsules IP and"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_6a0d503d","line":30,"range":{"start_line":30,"start_character":39,"end_line":30,"end_character":47},"in_reply_to":"7ffa3b31_32b85ce3","updated":"2017-04-24 12:28:16.000000000","message":"Done","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ffb923af36ec58cf03f1bcb6dd962173d322855b","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  containers inside a capsule is co-located. All containers inside a capsule"},{"line_number":29,"context_line":"  will be launched in one compute host."},{"line_number":30,"context_line":"* Network: Containers inside a capsule shared a network namespace, so they"},{"line_number":31,"context_line":"  share IP address(es) and ping each other via localhost by using different"},{"line_number":32,"context_line":"  remapping network port. Capsule IP address(es) will re-use the sandbox IP."},{"line_number":33,"context_line":"  Containers communication between different capsules will use capsules IP and"},{"line_number":34,"context_line":"  port."}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_1296804d","line":31,"range":{"start_line":31,"start_character":27,"end_line":31,"end_character":31},"updated":"2017-04-20 11:34:18.000000000","message":"can ping","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  containers inside a capsule is co-located. All containers inside a capsule"},{"line_number":29,"context_line":"  will be launched in one compute host."},{"line_number":30,"context_line":"* Network: Containers inside a capsule shared a network namespace, so they"},{"line_number":31,"context_line":"  share IP address(es) and ping each other via localhost by using different"},{"line_number":32,"context_line":"  remapping network port. Capsule IP address(es) will re-use the sandbox IP."},{"line_number":33,"context_line":"  Containers communication between different capsules will use capsules IP and"},{"line_number":34,"context_line":"  port."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_4a0a9426","line":31,"range":{"start_line":31,"start_character":27,"end_line":31,"end_character":31},"in_reply_to":"7ffa3b31_1296804d","updated":"2017-04-24 12:28:16.000000000","message":"Done","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":12407,"name":"Shubham Kumar Sharma","email":"shubham.git@gmail.com","username":"shubham.git"},"change_message_id":"ecaaf2eb804cfbf21eb9882435b05360716ee30c","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  share IP address(es) and ping each other via localhost by using different"},{"line_number":32,"context_line":"  remapping network port. Capsule IP address(es) will re-use the sandbox IP."},{"line_number":33,"context_line":"  Containers communication between different capsules will use capsules IP and"},{"line_number":34,"context_line":"  port."},{"line_number":35,"context_line":"* LifeCycle: Capsule has different status:"},{"line_number":36,"context_line":"  Starting: Capsule is created, but one or more container inside the capsule is"},{"line_number":37,"context_line":"  being created."}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_4ba69f55","line":34,"updated":"2017-04-20 05:47:46.000000000","message":"Another query : since zun also gives container life-cycle management facility then will the user be able to manage their containers that are running inside a capsule ?","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ffb923af36ec58cf03f1bcb6dd962173d322855b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  share IP address(es) and ping each other via localhost by using different"},{"line_number":32,"context_line":"  remapping network port. Capsule IP address(es) will re-use the sandbox IP."},{"line_number":33,"context_line":"  Containers communication between different capsules will use capsules IP and"},{"line_number":34,"context_line":"  port."},{"line_number":35,"context_line":"* LifeCycle: Capsule has different status:"},{"line_number":36,"context_line":"  Starting: Capsule is created, but one or more container inside the capsule is"},{"line_number":37,"context_line":"  being created."}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_d2c25834","line":34,"in_reply_to":"7ffa3b31_4ba69f55","updated":"2017-04-20 11:34:18.000000000","message":"+1 it will be worth mentioning this in spec","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  share IP address(es) and ping each other via localhost by using different"},{"line_number":32,"context_line":"  remapping network port. Capsule IP address(es) will re-use the sandbox IP."},{"line_number":33,"context_line":"  Containers communication between different capsules will use capsules IP and"},{"line_number":34,"context_line":"  port."},{"line_number":35,"context_line":"* LifeCycle: Capsule has different status:"},{"line_number":36,"context_line":"  Starting: Capsule is created, but one or more container inside the capsule is"},{"line_number":37,"context_line":"  being created."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_ada49209","line":34,"in_reply_to":"7ffa3b31_4ba69f55","updated":"2017-04-24 12:28:16.000000000","message":"Good question.\nWe can discuss in tomorrow\u0027s meeting.","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":12407,"name":"Shubham Kumar Sharma","email":"shubham.git@gmail.com","username":"shubham.git"},"change_message_id":"ecaaf2eb804cfbf21eb9882435b05360716ee30c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"  remapping network port. Capsule IP address(es) will re-use the sandbox IP."},{"line_number":33,"context_line":"  Containers communication between different capsules will use capsules IP and"},{"line_number":34,"context_line":"  port."},{"line_number":35,"context_line":"* LifeCycle: Capsule has different status:"},{"line_number":36,"context_line":"  Starting: Capsule is created, but one or more container inside the capsule is"},{"line_number":37,"context_line":"  being created."},{"line_number":38,"context_line":"  Running: Capsule is created, and all the containers are running."}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_ebb56b7f","line":35,"updated":"2017-04-20 05:47:46.000000000","message":"Should we add another state for the scenario where capsule started successfully but one or more container got failed/terminated later on. May be a \"Warning\" state?\nJust a thought!","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":32,"context_line":"  remapping network port. Capsule IP address(es) will re-use the sandbox IP."},{"line_number":33,"context_line":"  Containers communication between different capsules will use capsules IP and"},{"line_number":34,"context_line":"  port."},{"line_number":35,"context_line":"* LifeCycle: Capsule has different status:"},{"line_number":36,"context_line":"  Starting: Capsule is created, but one or more container inside the capsule is"},{"line_number":37,"context_line":"  being created."},{"line_number":38,"context_line":"  Running: Capsule is created, and all the containers are running."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_edd17a59","line":35,"in_reply_to":"7ffa3b31_ebb56b7f","updated":"2017-04-24 12:28:16.000000000","message":"@Shubham,\n  You mean that we monitor that some container inside the ``capsule`` has running failed?\nIf so, I think this is more suitable to add the status when we have the health checker function.","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ffb923af36ec58cf03f1bcb6dd962173d322855b","unresolved":false,"context_lines":[{"line_number":43,"context_line":"* Health checker:"},{"line_number":44,"context_line":"  In the first step of realization, container inside the capsule will send its"},{"line_number":45,"context_line":"  status to capsule when its status changed."},{"line_number":46,"context_line":"* Upgrade and rollback:"},{"line_number":47,"context_line":"  Upgrade: Support capsule update(different from zun update). That means the"},{"line_number":48,"context_line":"  container image will update, launch the new capsule from new image, then destroy"},{"line_number":49,"context_line":"  the old capsule. The capsule IP address will change. For Volume, need to clarify"},{"line_number":50,"context_line":"  it after Cinder integration."},{"line_number":51,"context_line":"  Rollback: When update failed, rollback to it origin status."},{"line_number":52,"context_line":"* Cpu and memory limits: Given that host resource allocation, cpu and memory limitation"},{"line_number":53,"context_line":"  support will be implemented."}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_f253146a","line":50,"range":{"start_line":46,"start_character":2,"end_line":50,"end_character":30},"updated":"2017-04-20 11:34:18.000000000","message":"I am not sure whether this upgrade makes sense or not. Because everything will change after this action like the capsule ip, container ip. WDYT?","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":43,"context_line":"* Health checker:"},{"line_number":44,"context_line":"  In the first step of realization, container inside the capsule will send its"},{"line_number":45,"context_line":"  status to capsule when its status changed."},{"line_number":46,"context_line":"* Upgrade and rollback:"},{"line_number":47,"context_line":"  Upgrade: Support capsule update(different from zun update). That means the"},{"line_number":48,"context_line":"  container image will update, launch the new capsule from new image, then destroy"},{"line_number":49,"context_line":"  the old capsule. The capsule IP address will change. For Volume, need to clarify"},{"line_number":50,"context_line":"  it after Cinder integration."},{"line_number":51,"context_line":"  Rollback: When update failed, rollback to it origin status."},{"line_number":52,"context_line":"* Cpu and memory limits: Given that host resource allocation, cpu and memory limitation"},{"line_number":53,"context_line":"  support will be implemented."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_2d02c2b5","line":50,"range":{"start_line":46,"start_character":2,"end_line":50,"end_character":30},"in_reply_to":"7ffa3b31_f253146a","updated":"2017-04-24 12:28:16.000000000","message":"Just like nova rebuild or kubectl upgrade.\n\nActually the capsule ip is not changed. Some parameters that the container needed are also not changed, such as port mapping","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ffb923af36ec58cf03f1bcb6dd962173d322855b","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  the old capsule. The capsule IP address will change. For Volume, need to clarify"},{"line_number":50,"context_line":"  it after Cinder integration."},{"line_number":51,"context_line":"  Rollback: When update failed, rollback to it origin status."},{"line_number":52,"context_line":"* Cpu and memory limits: Given that host resource allocation, cpu and memory limitation"},{"line_number":53,"context_line":"  support will be implemented."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_d24c98c9","line":52,"range":{"start_line":52,"start_character":2,"end_line":52,"end_character":5},"updated":"2017-04-20 11:34:18.000000000","message":"CPU","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  the old capsule. The capsule IP address will change. For Volume, need to clarify"},{"line_number":50,"context_line":"  it after Cinder integration."},{"line_number":51,"context_line":"  Rollback: When update failed, rollback to it origin status."},{"line_number":52,"context_line":"* Cpu and memory limits: Given that host resource allocation, cpu and memory limitation"},{"line_number":53,"context_line":"  support will be implemented."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_6d21ea4d","line":52,"range":{"start_line":52,"start_character":2,"end_line":52,"end_character":5},"in_reply_to":"7ffa3b31_d24c98c9","updated":"2017-04-24 12:28:16.000000000","message":"Done","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":12407,"name":"Shubham Kumar Sharma","email":"shubham.git@gmail.com","username":"shubham.git"},"change_message_id":"ecaaf2eb804cfbf21eb9882435b05360716ee30c","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* Cpu and memory limits: Given that host resource allocation, cpu and memory limitation"},{"line_number":53,"context_line":"  support will be implemented."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Problem description"},{"line_number":56,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":57,"context_line":"Currently running or deploying one container to do the operation is not a"},{"line_number":58,"context_line":"very effective way in micro services, while multiple different containers run"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_0b3897ec","line":55,"updated":"2017-04-20 05:47:46.000000000","message":"IMHO, problem description should be the first section of this document. It should be atleast before the section where we introduce capsule","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ffb923af36ec58cf03f1bcb6dd962173d322855b","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* Cpu and memory limits: Given that host resource allocation, cpu and memory limitation"},{"line_number":53,"context_line":"  support will be implemented."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Problem description"},{"line_number":56,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":57,"context_line":"Currently running or deploying one container to do the operation is not a"},{"line_number":58,"context_line":"very effective way in micro services, while multiple different containers run"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_12dc40e2","line":55,"in_reply_to":"7ffa3b31_0b3897ec","updated":"2017-04-20 11:34:18.000000000","message":"+1","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* Cpu and memory limits: Given that host resource allocation, cpu and memory limitation"},{"line_number":53,"context_line":"  support will be implemented."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Problem description"},{"line_number":56,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":57,"context_line":"Currently running or deploying one container to do the operation is not a"},{"line_number":58,"context_line":"very effective way in micro services, while multiple different containers run"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_4d918e52","line":55,"in_reply_to":"7ffa3b31_12dc40e2","updated":"2017-04-24 12:28:16.000000000","message":"OK. Thanks~\nI have moved it up","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"90d27eb79bbb6d1edc7a6dce170bce9290be5374","unresolved":false,"context_lines":[{"line_number":83,"context_line":"3. Add functions about yaml file parser in the CLI side. After parsing the yaml,"},{"line_number":84,"context_line":"   send the REST to API server side, scheduler will decide which host to run"},{"line_number":85,"context_line":"   the capsule."},{"line_number":86,"context_line":"4. Introduce new REST API for capsule. The capsule creation workflow is:"},{"line_number":87,"context_line":"   CLI Parsing capsule information from yaml file --\u003e"},{"line_number":88,"context_line":"   API server do the CRUD operation, call scheduler to launch the capsule, from Cinder"},{"line_number":89,"context_line":"   to get volume, from Kuryr to get network support--\u003e"},{"line_number":90,"context_line":"   Compute host launch the capsule, attach the volume--\u003e"},{"line_number":91,"context_line":"   Send the status to API server, update the DB."},{"line_number":92,"context_line":"5. Capsule creation will finally depend on the backend container driver. Now choose"},{"line_number":93,"context_line":"   Docker driver first."},{"line_number":94,"context_line":"6. Define a yaml file structure for capsule. The yaml file will be compatible with"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_a889cdca","line":91,"range":{"start_line":86,"start_character":0,"end_line":91,"end_character":48},"updated":"2017-04-19 06:36:43.000000000","message":"it seems it is sync operation?","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":83,"context_line":"3. Add functions about yaml file parser in the CLI side. After parsing the yaml,"},{"line_number":84,"context_line":"   send the REST to API server side, scheduler will decide which host to run"},{"line_number":85,"context_line":"   the capsule."},{"line_number":86,"context_line":"4. Introduce new REST API for capsule. The capsule creation workflow is:"},{"line_number":87,"context_line":"   CLI Parsing capsule information from yaml file --\u003e"},{"line_number":88,"context_line":"   API server do the CRUD operation, call scheduler to launch the capsule, from Cinder"},{"line_number":89,"context_line":"   to get volume, from Kuryr to get network support--\u003e"},{"line_number":90,"context_line":"   Compute host launch the capsule, attach the volume--\u003e"},{"line_number":91,"context_line":"   Send the status to API server, update the DB."},{"line_number":92,"context_line":"5. Capsule creation will finally depend on the backend container driver. Now choose"},{"line_number":93,"context_line":"   Docker driver first."},{"line_number":94,"context_line":"6. Define a yaml file structure for capsule. The yaml file will be compatible with"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_4dc86e54","line":91,"range":{"start_line":86,"start_character":0,"end_line":91,"end_character":48},"in_reply_to":"7ffa3b31_1278c0c1","updated":"2017-04-24 12:28:16.000000000","message":"@Pradeep @Madhuri:\n  Here is should be async.\n  Just the same procedure when we launch pause image and functional image. The only different is that add Volume support and add multiple functional containers.","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ffb923af36ec58cf03f1bcb6dd962173d322855b","unresolved":false,"context_lines":[{"line_number":83,"context_line":"3. Add functions about yaml file parser in the CLI side. After parsing the yaml,"},{"line_number":84,"context_line":"   send the REST to API server side, scheduler will decide which host to run"},{"line_number":85,"context_line":"   the capsule."},{"line_number":86,"context_line":"4. Introduce new REST API for capsule. The capsule creation workflow is:"},{"line_number":87,"context_line":"   CLI Parsing capsule information from yaml file --\u003e"},{"line_number":88,"context_line":"   API server do the CRUD operation, call scheduler to launch the capsule, from Cinder"},{"line_number":89,"context_line":"   to get volume, from Kuryr to get network support--\u003e"},{"line_number":90,"context_line":"   Compute host launch the capsule, attach the volume--\u003e"},{"line_number":91,"context_line":"   Send the status to API server, update the DB."},{"line_number":92,"context_line":"5. Capsule creation will finally depend on the backend container driver. Now choose"},{"line_number":93,"context_line":"   Docker driver first."},{"line_number":94,"context_line":"6. Define a yaml file structure for capsule. The yaml file will be compatible with"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_1278c0c1","line":91,"range":{"start_line":86,"start_character":0,"end_line":91,"end_character":48},"in_reply_to":"7ffa3b31_a889cdca","updated":"2017-04-20 11:34:18.000000000","message":"It should be async","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ffb923af36ec58cf03f1bcb6dd962173d322855b","unresolved":false,"context_lines":[{"line_number":89,"context_line":"   to get volume, from Kuryr to get network support--\u003e"},{"line_number":90,"context_line":"   Compute host launch the capsule, attach the volume--\u003e"},{"line_number":91,"context_line":"   Send the status to API server, update the DB."},{"line_number":92,"context_line":"5. Capsule creation will finally depend on the backend container driver. Now choose"},{"line_number":93,"context_line":"   Docker driver first."},{"line_number":94,"context_line":"6. Define a yaml file structure for capsule. The yaml file will be compatible with"},{"line_number":95,"context_line":"   Kubernetes pod yaml file, at the same time Zun will define the available properties,"},{"line_number":96,"context_line":"   metadata and template of the yaml file. In the first step, only essential properties"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_75536e18","line":93,"range":{"start_line":92,"start_character":3,"end_line":93,"end_character":23},"updated":"2017-04-20 11:34:18.000000000","message":"How will this work?\n\ncreate sandbox -\u003e create containers -\u003e attach containers to sandbox?\n\nI think adding this info in spec will be huge, so feel free to ignore this comment. But just curious to know how will the capsule actually created at the backend.","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":89,"context_line":"   to get volume, from Kuryr to get network support--\u003e"},{"line_number":90,"context_line":"   Compute host launch the capsule, attach the volume--\u003e"},{"line_number":91,"context_line":"   Send the status to API server, update the DB."},{"line_number":92,"context_line":"5. Capsule creation will finally depend on the backend container driver. Now choose"},{"line_number":93,"context_line":"   Docker driver first."},{"line_number":94,"context_line":"6. Define a yaml file structure for capsule. The yaml file will be compatible with"},{"line_number":95,"context_line":"   Kubernetes pod yaml file, at the same time Zun will define the available properties,"},{"line_number":96,"context_line":"   metadata and template of the yaml file. In the first step, only essential properties"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_cd7d9ee8","line":93,"range":{"start_line":92,"start_character":3,"end_line":93,"end_character":23},"in_reply_to":"7ffa3b31_75536e18","updated":"2017-04-24 12:28:16.000000000","message":"Yes, the same when we run pause container(network container) and function container. The diff is we run multiple containers together.","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ffb923af36ec58cf03f1bcb6dd962173d322855b","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"The diagram below offers an overview of the architecture of ``capsule``:"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"::"},{"line_number":102,"context_line":" +-----------------------------------------------------------+"},{"line_number":103,"context_line":" |                       +-----------+                       |"},{"line_number":104,"context_line":" |                       |           |                       |"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_758a4e6a","line":101,"updated":"2017-04-20 11:34:18.000000000","message":"can we try to show that the containers are linked to sandbox?","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"The diagram below offers an overview of the architecture of ``capsule``:"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"::"},{"line_number":102,"context_line":" +-----------------------------------------------------------+"},{"line_number":103,"context_line":" |                       +-----------+                       |"},{"line_number":104,"context_line":" |                       |           |                       |"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_2df3e2a0","line":101,"in_reply_to":"7ffa3b31_758a4e6a","updated":"2017-04-24 12:28:16.000000000","message":"I guess you mean we add a field to record the sandbox inside the container Object?","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ffb923af36ec58cf03f1bcb6dd962173d322855b","unresolved":false,"context_lines":[{"line_number":139,"context_line":"      - image: ubuntu:trusty"},{"line_number":140,"context_line":"        command: [\"echo\"]"},{"line_number":141,"context_line":"        args: [\"Hello World\"]"},{"line_number":142,"context_line":"        imagePullPolicy"},{"line_number":143,"context_line":"        imageDriver"},{"line_number":144,"context_line":"        workDir"},{"line_number":145,"context_line":"        labels:"},{"line_number":146,"context_line":"          app: web"},{"line_number":147,"context_line":"        volumeMounts:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_d5e36233","line":144,"range":{"start_line":142,"start_character":8,"end_line":144,"end_character":15},"updated":"2017-04-20 11:34:18.000000000","message":"\u0027:\u0027 is missing","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":139,"context_line":"      - image: ubuntu:trusty"},{"line_number":140,"context_line":"        command: [\"echo\"]"},{"line_number":141,"context_line":"        args: [\"Hello World\"]"},{"line_number":142,"context_line":"        imagePullPolicy"},{"line_number":143,"context_line":"        imageDriver"},{"line_number":144,"context_line":"        workDir"},{"line_number":145,"context_line":"        labels:"},{"line_number":146,"context_line":"          app: web"},{"line_number":147,"context_line":"        volumeMounts:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_ed75fa99","line":144,"range":{"start_line":142,"start_character":8,"end_line":144,"end_character":15},"in_reply_to":"7ffa3b31_d5e36233","updated":"2017-04-24 12:28:16.000000000","message":"Done","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"90d27eb79bbb6d1edc7a6dce170bce9290be5374","unresolved":false,"context_lines":[{"line_number":170,"context_line":"Capsule fields:"},{"line_number":171,"context_line":"* apiVersion(string): the first version is beta"},{"line_number":172,"context_line":"* kind(string): the flag to show yaml file property"},{"line_number":173,"context_line":"* metadata(ObjectMeta: metadata Object"},{"line_number":174,"context_line":"* spec(CapsuleSpec): capsule specifications"},{"line_number":175,"context_line":"* restartPolicy(string): [Always | Never | OnFailure], by default is Always"},{"line_number":176,"context_line":"* hostSelector(string): Specify the host that will launch the capsule"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_68ace533","line":173,"range":{"start_line":173,"start_character":10,"end_line":173,"end_character":21},"updated":"2017-04-19 06:36:43.000000000","message":"closing bracket missing","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":170,"context_line":"Capsule fields:"},{"line_number":171,"context_line":"* apiVersion(string): the first version is beta"},{"line_number":172,"context_line":"* kind(string): the flag to show yaml file property"},{"line_number":173,"context_line":"* metadata(ObjectMeta: metadata Object"},{"line_number":174,"context_line":"* spec(CapsuleSpec): capsule specifications"},{"line_number":175,"context_line":"* restartPolicy(string): [Always | Never | OnFailure], by default is Always"},{"line_number":176,"context_line":"* hostSelector(string): Specify the host that will launch the capsule"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_8d5b162d","line":173,"range":{"start_line":173,"start_character":10,"end_line":173,"end_character":21},"in_reply_to":"7ffa3b31_68ace533","updated":"2017-04-24 12:28:16.000000000","message":"Done","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"90d27eb79bbb6d1edc7a6dce170bce9290be5374","unresolved":false,"context_lines":[{"line_number":173,"context_line":"* metadata(ObjectMeta: metadata Object"},{"line_number":174,"context_line":"* spec(CapsuleSpec): capsule specifications"},{"line_number":175,"context_line":"* restartPolicy(string): [Always | Never | OnFailure], by default is Always"},{"line_number":176,"context_line":"* hostSelector(string): Specify the host that will launch the capsule"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"ObjectMeta fields:"},{"line_number":179,"context_line":"* name(string): capsule name"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_e846b57c","line":176,"range":{"start_line":176,"start_character":1,"end_line":176,"end_character":69},"updated":"2017-04-19 06:36:43.000000000","message":"We dont have mechanism to label the hosts yet, do we need to give the control of host selection to user?","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":173,"context_line":"* metadata(ObjectMeta: metadata Object"},{"line_number":174,"context_line":"* spec(CapsuleSpec): capsule specifications"},{"line_number":175,"context_line":"* restartPolicy(string): [Always | Never | OnFailure], by default is Always"},{"line_number":176,"context_line":"* hostSelector(string): Specify the host that will launch the capsule"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"ObjectMeta fields:"},{"line_number":179,"context_line":"* name(string): capsule name"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_ed785af9","line":176,"range":{"start_line":176,"start_character":1,"end_line":176,"end_character":69},"in_reply_to":"7ffa3b31_e846b57c","updated":"2017-04-24 12:28:16.000000000","message":"We can discuss it tomorrow. Maybe need to file a bp about it","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"90d27eb79bbb6d1edc7a6dce170bce9290be5374","unresolved":false,"context_lines":[{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Ports fields:"},{"line_number":206,"context_line":"* name(string): port name, optional"},{"line_number":207,"context_line":"* containerPort(int): port number that container need to listen"},{"line_number":208,"context_line":"* hostPort(int): port number that capsule need to listen"},{"line_number":209,"context_line":"* protocol(string): TCP or UDP, by default is TCP"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"RecourcesObject fields:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_482a4990","line":208,"range":{"start_line":207,"start_character":0,"end_line":208,"end_character":56},"updated":"2017-04-19 06:36:43.000000000","message":"how relevant are these if we use Neutron networking, i think we are not going to expose the host port to the user?","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Ports fields:"},{"line_number":206,"context_line":"* name(string): port name, optional"},{"line_number":207,"context_line":"* containerPort(int): port number that container need to listen"},{"line_number":208,"context_line":"* hostPort(int): port number that capsule need to listen"},{"line_number":209,"context_line":"* protocol(string): TCP or UDP, by default is TCP"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"RecourcesObject fields:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_edbdfa68","line":208,"range":{"start_line":207,"start_character":0,"end_line":208,"end_character":56},"in_reply_to":"7ffa3b31_482a4990","updated":"2017-04-24 12:28:16.000000000","message":"Yes. Here I think the host port refer to the ``capsule port``","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"90d27eb79bbb6d1edc7a6dce170bce9290be5374","unresolved":false,"context_lines":[{"line_number":233,"context_line":""},{"line_number":234,"context_line":"Data model impact"},{"line_number":235,"context_line":"-----------------"},{"line_number":236,"context_line":"* Add a field to container to store the id of the capsule which conclude the container"},{"line_number":237,"context_line":"* Create a \u0027capsule\u0027 table. Each entry in this table is a record of a capsule."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":".. code-block:: python"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_e8147550","line":236,"range":{"start_line":236,"start_character":64,"end_line":236,"end_character":72},"updated":"2017-04-19 06:36:43.000000000","message":"include?","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":233,"context_line":""},{"line_number":234,"context_line":"Data model impact"},{"line_number":235,"context_line":"-----------------"},{"line_number":236,"context_line":"* Add a field to container to store the id of the capsule which conclude the container"},{"line_number":237,"context_line":"* Create a \u0027capsule\u0027 table. Each entry in this table is a record of a capsule."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":".. code-block:: python"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_0d47064e","line":236,"range":{"start_line":236,"start_character":64,"end_line":236,"end_character":72},"in_reply_to":"7ffa3b31_e8147550","updated":"2017-04-24 12:28:16.000000000","message":"Done","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ffb923af36ec58cf03f1bcb6dd962173d322855b","unresolved":false,"context_lines":[{"line_number":239,"context_line":".. code-block:: python"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"    Introduce the capsule Object:"},{"line_number":242,"context_line":"        fields \u003d {"},{"line_number":243,"context_line":"        \u0027capsuleVersion\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":244,"context_line":"        \u0027kind\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":245,"context_line":"        \u0027id\u0027: fields.IntegerField(),"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_9506facd","line":242,"updated":"2017-04-20 11:34:18.000000000","message":"I can\u0027t see the \u0027containers\u0027 in the capsule object. Have you missed it?","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":239,"context_line":".. code-block:: python"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"    Introduce the capsule Object:"},{"line_number":242,"context_line":"        fields \u003d {"},{"line_number":243,"context_line":"        \u0027capsuleVersion\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":244,"context_line":"        \u0027kind\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":245,"context_line":"        \u0027id\u0027: fields.IntegerField(),"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_cd66be52","line":242,"in_reply_to":"7ffa3b31_9506facd","updated":"2017-04-24 12:28:16.000000000","message":"@Madhuri,\nPer discuss with @Hongbin, we have an idea that: add a field to show capsule id in container object side, not record it in the capsule side","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"90d27eb79bbb6d1edc7a6dce170bce9290be5374","unresolved":false,"context_lines":[{"line_number":295,"context_line":"None"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"Notifications impact"},{"line_number":299,"context_line":"--------------------"},{"line_number":300,"context_line":"None"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"Other end user impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7ffa3b31_cb2533ad","line":300,"range":{"start_line":298,"start_character":0,"end_line":300,"end_character":4},"updated":"2017-04-19 06:36:43.000000000","message":"do we need to create notification for capsule operations, like \u0027capsule created\u0027, \u0027capsule deleted\u0027 etc?","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"b4fbfd73e34a1086316bce77ec8ebbe983bc42a4","unresolved":false,"context_lines":[{"line_number":295,"context_line":"None"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"Notifications impact"},{"line_number":299,"context_line":"--------------------"},{"line_number":300,"context_line":"None"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"Other end user impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5ff73747_cdcb5e1c","line":300,"range":{"start_line":298,"start_character":0,"end_line":300,"end_character":4},"in_reply_to":"7ffa3b31_cb2533ad","updated":"2017-04-24 12:28:16.000000000","message":"Yeah I think we need. I\u0027ve recorded this in the \"dependencies\"  section. I also add the info here.","commit_id":"55b6d24dc423fbc13d0ca391b84c373cb21a6662"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"3638b40ead38436d3fdbd784678f1ec1d3721f26","unresolved":false,"context_lines":[{"line_number":294,"context_line":"                  Otherwise, it will be created as normal."},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"Container API:"},{"line_number":297,"context_line":"* show/list"},{"line_number":298,"context_line":"** list/show all containers"},{"line_number":299,"context_line":"* create/delete"},{"line_number":300,"context_line":"** allow bare container only (disallow in-capsule containers)"},{"line_number":301,"context_line":"* update"},{"line_number":302,"context_line":"** zun update [--capsule XXX] \u003ccontainer\u003e"},{"line_number":303,"context_line":"** for container in the capsule, need \u003c--capsule\u003e params. Bare container doesn\u0027t need."},{"line_number":304,"context_line":"* start/stop/restart/kill/pause/unpause"},{"line_number":305,"context_line":"** allow bare container only (disallow in-capsule containers)"},{"line_number":306,"context_line":"* attach/cp/logs/top"},{"line_number":307,"context_line":"* allow any containers"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"Security impact"},{"line_number":310,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1f013ff3_9d4b5686","line":307,"range":{"start_line":297,"start_character":0,"end_line":307,"end_character":22},"updated":"2017-05-14 01:52:22.000000000","message":"nit: the readability can be better if using a consistent style:\n\nshow/list         xxxxx\ncreate/delete     xxxxx\n...","commit_id":"bbde45ab9657e505c8f36a0d80582abef8cdb06a"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"18107691831d7276a33b91dc3a998ff66fab2bf3","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  containers inside a capsule is co-located. All containers inside a capsule"},{"line_number":50,"context_line":"  will be launched in one compute host."},{"line_number":51,"context_line":"* Network: Containers inside a capsule share the same network namespace, so they"},{"line_number":52,"context_line":"  share IP address(es) and can ping each other via localhost by using different"},{"line_number":53,"context_line":"  remapping network port. Capsule IP address(es) will re-use the sandbox IP."},{"line_number":54,"context_line":"  Containers communication between different capsules will use capsules IP and"},{"line_number":55,"context_line":"  port."}],"source_content_type":"text/x-rst","patch_set":17,"id":"df140735_acbea062","line":52,"range":{"start_line":52,"start_character":31,"end_line":52,"end_character":35},"updated":"2017-05-31 18:33:01.000000000","message":"do you mean \"find\" instead?","commit_id":"d5a87bb0a96ee613387592f155b989071065ac65"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"01b02a9cf6319653bbdac1247e862717bd8d3d1b","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  containers inside a capsule is co-located. All containers inside a capsule"},{"line_number":50,"context_line":"  will be launched in one compute host."},{"line_number":51,"context_line":"* Network: Containers inside a capsule share the same network namespace, so they"},{"line_number":52,"context_line":"  share IP address(es) and can ping each other via localhost by using different"},{"line_number":53,"context_line":"  remapping network port. Capsule IP address(es) will re-use the sandbox IP."},{"line_number":54,"context_line":"  Containers communication between different capsules will use capsules IP and"},{"line_number":55,"context_line":"  port."}],"source_content_type":"text/x-rst","patch_set":17,"id":"df140735_45d6522a","line":52,"range":{"start_line":52,"start_character":31,"end_line":52,"end_character":35},"in_reply_to":"df140735_acbea062","updated":"2017-06-05 02:26:50.000000000","message":"Done","commit_id":"d5a87bb0a96ee613387592f155b989071065ac65"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"18107691831d7276a33b91dc3a998ff66fab2bf3","unresolved":false,"context_lines":[{"line_number":51,"context_line":"* Network: Containers inside a capsule share the same network namespace, so they"},{"line_number":52,"context_line":"  share IP address(es) and can ping each other via localhost by using different"},{"line_number":53,"context_line":"  remapping network port. Capsule IP address(es) will re-use the sandbox IP."},{"line_number":54,"context_line":"  Containers communication between different capsules will use capsules IP and"},{"line_number":55,"context_line":"  port."},{"line_number":56,"context_line":"* LifeCycle: Capsule has different status:"},{"line_number":57,"context_line":"  Starting: Capsule is created, but one or more container inside the capsule is"}],"source_content_type":"text/x-rst","patch_set":17,"id":"df140735_0737a7e5","line":54,"range":{"start_line":54,"start_character":2,"end_line":54,"end_character":53},"updated":"2017-05-31 18:33:01.000000000","message":"Can containers between capsules use hostname to communicate with each other? Hostname has many advantages over IP. I assume containers\u0027 hostname is the capsule\u0027s name. Do we support it?","commit_id":"d5a87bb0a96ee613387592f155b989071065ac65"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2123a3617a221a91cfec59d7edb4be36a15a5daf","unresolved":false,"context_lines":[{"line_number":51,"context_line":"* Network: Containers inside a capsule share the same network namespace, so they"},{"line_number":52,"context_line":"  share IP address(es) and can ping each other via localhost by using different"},{"line_number":53,"context_line":"  remapping network port. Capsule IP address(es) will re-use the sandbox IP."},{"line_number":54,"context_line":"  Containers communication between different capsules will use capsules IP and"},{"line_number":55,"context_line":"  port."},{"line_number":56,"context_line":"* LifeCycle: Capsule has different status:"},{"line_number":57,"context_line":"  Starting: Capsule is created, but one or more container inside the capsule is"}],"source_content_type":"text/x-rst","patch_set":17,"id":"df140735_58967995","line":54,"range":{"start_line":54,"start_character":2,"end_line":54,"end_character":53},"in_reply_to":"df140735_0737a7e5","updated":"2017-06-01 20:48:35.000000000","message":"This is a good idea although I am not exactly sure if it is feasible. According to what I tested, two containers can resolved each other by hostname as long as:\n* They are on the same host (haven\u0027t tested the multi-host scenario yet)\n* They are connected to the same docker network\n\nI think we can investigate if this is still feasible after switching to capsule. This effort might not need to part of this BP but it is a good initiative.","commit_id":"d5a87bb0a96ee613387592f155b989071065ac65"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"18107691831d7276a33b91dc3a998ff66fab2bf3","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  Running: Capsule is created, and all the containers are running."},{"line_number":60,"context_line":"  Finished: All containers inside the capsule have successfully executed and exited."},{"line_number":61,"context_line":"  Failed: Capsule creation is failed"},{"line_number":62,"context_line":"* Restart Policy: Capsule will have a restart policy just like container. The restart"},{"line_number":63,"context_line":"  policy relies on container restart policy to execute."},{"line_number":64,"context_line":"* Health checker:"},{"line_number":65,"context_line":"  In the first step of realization, container inside the capsule will send its"}],"source_content_type":"text/x-rst","patch_set":17,"id":"df140735_0790c74d","line":62,"range":{"start_line":62,"start_character":10,"end_line":62,"end_character":16},"updated":"2017-05-31 18:33:01.000000000","message":"Policies","commit_id":"d5a87bb0a96ee613387592f155b989071065ac65"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"18107691831d7276a33b91dc3a998ff66fab2bf3","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  Running: Capsule is created, and all the containers are running."},{"line_number":60,"context_line":"  Finished: All containers inside the capsule have successfully executed and exited."},{"line_number":61,"context_line":"  Failed: Capsule creation is failed"},{"line_number":62,"context_line":"* Restart Policy: Capsule will have a restart policy just like container. The restart"},{"line_number":63,"context_line":"  policy relies on container restart policy to execute."},{"line_number":64,"context_line":"* Health checker:"},{"line_number":65,"context_line":"  In the first step of realization, container inside the capsule will send its"}],"source_content_type":"text/x-rst","patch_set":17,"id":"df140735_a78a3b18","line":62,"range":{"start_line":62,"start_character":36,"end_line":62,"end_character":52},"updated":"2017-05-31 18:33:01.000000000","message":"policies","commit_id":"d5a87bb0a96ee613387592f155b989071065ac65"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"01b02a9cf6319653bbdac1247e862717bd8d3d1b","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  Running: Capsule is created, and all the containers are running."},{"line_number":60,"context_line":"  Finished: All containers inside the capsule have successfully executed and exited."},{"line_number":61,"context_line":"  Failed: Capsule creation is failed"},{"line_number":62,"context_line":"* Restart Policy: Capsule will have a restart policy just like container. The restart"},{"line_number":63,"context_line":"  policy relies on container restart policy to execute."},{"line_number":64,"context_line":"* Health checker:"},{"line_number":65,"context_line":"  In the first step of realization, container inside the capsule will send its"}],"source_content_type":"text/x-rst","patch_set":17,"id":"df140735_5aa51146","line":62,"range":{"start_line":62,"start_character":10,"end_line":62,"end_character":16},"in_reply_to":"df140735_0790c74d","updated":"2017-06-05 02:26:50.000000000","message":"Thanks bin ,due to every capsule has only one restart policy, do you think policy is more suitable","commit_id":"d5a87bb0a96ee613387592f155b989071065ac65"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"18107691831d7276a33b91dc3a998ff66fab2bf3","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  Running: Capsule is created, and all the containers are running."},{"line_number":60,"context_line":"  Finished: All containers inside the capsule have successfully executed and exited."},{"line_number":61,"context_line":"  Failed: Capsule creation is failed"},{"line_number":62,"context_line":"* Restart Policy: Capsule will have a restart policy just like container. The restart"},{"line_number":63,"context_line":"  policy relies on container restart policy to execute."},{"line_number":64,"context_line":"* Health checker:"},{"line_number":65,"context_line":"  In the first step of realization, container inside the capsule will send its"},{"line_number":66,"context_line":"  status to capsule when its status changed."}],"source_content_type":"text/x-rst","patch_set":17,"id":"df140735_2722ab53","line":63,"range":{"start_line":62,"start_character":18,"end_line":63,"end_character":54},"updated":"2017-05-31 18:33:01.000000000","message":"It is not very clear to me. If capsule\u0027s policy is different than single container\u0027s, which policy will take precedence.  Will restarting a capsule results in restarting all the containers inside?","commit_id":"d5a87bb0a96ee613387592f155b989071065ac65"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"01b02a9cf6319653bbdac1247e862717bd8d3d1b","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  Running: Capsule is created, and all the containers are running."},{"line_number":60,"context_line":"  Finished: All containers inside the capsule have successfully executed and exited."},{"line_number":61,"context_line":"  Failed: Capsule creation is failed"},{"line_number":62,"context_line":"* Restart Policy: Capsule will have a restart policy just like container. The restart"},{"line_number":63,"context_line":"  policy relies on container restart policy to execute."},{"line_number":64,"context_line":"* Health checker:"},{"line_number":65,"context_line":"  In the first step of realization, container inside the capsule will send its"},{"line_number":66,"context_line":"  status to capsule when its status changed."}],"source_content_type":"text/x-rst","patch_set":17,"id":"df140735_655dd613","line":63,"range":{"start_line":62,"start_character":18,"end_line":63,"end_character":54},"in_reply_to":"df140735_2722ab53","updated":"2017-06-05 02:26:50.000000000","message":"restartPolicy applies all the containers in the capsule. So capsule restartPolicy will replace all the restartPolicy inside the capsule","commit_id":"d5a87bb0a96ee613387592f155b989071065ac65"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"18107691831d7276a33b91dc3a998ff66fab2bf3","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  the old capsule. The capsule IP address will change. For Volume, need to clarify"},{"line_number":71,"context_line":"  it after Cinder integration."},{"line_number":72,"context_line":"  Rollback: When update failed, rollback to it origin status."},{"line_number":73,"context_line":"* CPU and memory limits: Given that host resource allocation, cpu and memory limitation"},{"line_number":74,"context_line":"  support will be implemented."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Implementation:"}],"source_content_type":"text/x-rst","patch_set":17,"id":"df140735_472b5f2f","line":73,"range":{"start_line":73,"start_character":2,"end_line":73,"end_character":23},"updated":"2017-05-31 18:33:01.000000000","message":"With the limits, the CPU/RAM usage of the capsule will never beyond the number, but do we have any grantee that how much resources allocated to a capsule? Should we use resources instead of limits here?","commit_id":"d5a87bb0a96ee613387592f155b989071065ac65"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"01b02a9cf6319653bbdac1247e862717bd8d3d1b","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  the old capsule. The capsule IP address will change. For Volume, need to clarify"},{"line_number":71,"context_line":"  it after Cinder integration."},{"line_number":72,"context_line":"  Rollback: When update failed, rollback to it origin status."},{"line_number":73,"context_line":"* CPU and memory limits: Given that host resource allocation, cpu and memory limitation"},{"line_number":74,"context_line":"  support will be implemented."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Implementation:"}],"source_content_type":"text/x-rst","patch_set":17,"id":"df140735_3a1dbd73","line":73,"range":{"start_line":73,"start_character":2,"end_line":73,"end_character":23},"in_reply_to":"df140735_472b5f2f","updated":"2017-06-05 02:26:50.000000000","message":"Good point. I will put this to tomorrow\u0027s meeting for discussion","commit_id":"d5a87bb0a96ee613387592f155b989071065ac65"},{"author":{"_account_id":25026,"name":"Bin Zhou","email":"lakerzhou@gmail.com","username":"lakerzhou"},"change_message_id":"18107691831d7276a33b91dc3a998ff66fab2bf3","unresolved":false,"context_lines":[{"line_number":84,"context_line":"   in a capsule should be scheduled to and spawned on the same host. Server side"},{"line_number":85,"context_line":"   will keep the information in DB."},{"line_number":86,"context_line":"3. Add functions about yaml file parser in the CLI side. After parsing the yaml,"},{"line_number":87,"context_line":"   send the REST to API server side, scheduler will decide which host to run"},{"line_number":88,"context_line":"   the capsule."},{"line_number":89,"context_line":"4. Introduce new REST API for capsule. The capsule creation workflow is:"},{"line_number":90,"context_line":"   CLI Parsing capsule information from yaml file --\u003e"},{"line_number":91,"context_line":"   API server do the CRUD operation, call scheduler to launch the capsule, from Cinder"}],"source_content_type":"text/x-rst","patch_set":17,"id":"df140735_67b2e3e8","line":88,"range":{"start_line":87,"start_character":37,"end_line":88,"end_character":14},"updated":"2017-05-31 18:33:01.000000000","message":"what are the computational resources allocated for capsule?","commit_id":"d5a87bb0a96ee613387592f155b989071065ac65"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"01b02a9cf6319653bbdac1247e862717bd8d3d1b","unresolved":false,"context_lines":[{"line_number":84,"context_line":"   in a capsule should be scheduled to and spawned on the same host. Server side"},{"line_number":85,"context_line":"   will keep the information in DB."},{"line_number":86,"context_line":"3. Add functions about yaml file parser in the CLI side. After parsing the yaml,"},{"line_number":87,"context_line":"   send the REST to API server side, scheduler will decide which host to run"},{"line_number":88,"context_line":"   the capsule."},{"line_number":89,"context_line":"4. Introduce new REST API for capsule. The capsule creation workflow is:"},{"line_number":90,"context_line":"   CLI Parsing capsule information from yaml file --\u003e"},{"line_number":91,"context_line":"   API server do the CRUD operation, call scheduler to launch the capsule, from Cinder"}],"source_content_type":"text/x-rst","patch_set":17,"id":"df140735_1a52f93b","line":88,"range":{"start_line":87,"start_character":37,"end_line":88,"end_character":14},"in_reply_to":"df140735_67b2e3e8","updated":"2017-06-05 02:26:50.000000000","message":"Actually it is the same as container need. And scheduler will also re-use the zun container scheduler in the beginning.","commit_id":"d5a87bb0a96ee613387592f155b989071065ac65"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"1b9e075ee91898157663948ce13a99e710f278ed","unresolved":false,"context_lines":[{"line_number":212,"context_line":"* protocol(string): TCP or UDP, by default is TCP"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"RecourcesObject fields:"},{"line_number":215,"context_line":"* limits(LimitsObject): limit information"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"LimitsObject:"},{"line_number":218,"context_line":"* cpu(string): cpu limits, cores number"}],"source_content_type":"text/x-rst","patch_set":18,"id":"df140735_f38a99bc","line":215,"range":{"start_line":215,"start_character":2,"end_line":215,"end_character":8},"updated":"2017-06-06 15:52:53.000000000","message":"I remembered @zhoubin suggested to re-word this to avoid the confusion about resource limits.","commit_id":"7eb6e572fee7986435c9f17c422450aef980c67b"}]}
