)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":27153,"name":"Nguyen Hai","email":"nguyentrihai93@gmail.com","username":"nguyentrihai"},"change_message_id":"ec351dc8399959d552bb64c1f09f8d90f1357568","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     root \u003cgrechny.alexander@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-08-07 13:02:36 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Implemented tosca-csar-mgmt-driver blueptint"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Icbc6afa192b50b3fe6640207863ada9bac7c1fda"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3f79a3b5_d3974090","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":11},"updated":"2018-08-07 13:00:15.000000000","message":"Implement","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":27153,"name":"Nguyen Hai","email":"nguyentrihai93@gmail.com","username":"nguyentrihai"},"change_message_id":"1457bbda36f07314e98142921d9a6eb67b5f727b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     root \u003cgrechny.alexander@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-08-07 13:02:36 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Implemented tosca-csar-mgmt-driver blueptint"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Icbc6afa192b50b3fe6640207863ada9bac7c1fda"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3f79a3b5_2a14fdf4","line":7,"range":{"start_line":7,"start_character":35,"end_line":7,"end_character":44},"updated":"2018-08-07 11:10:57.000000000","message":"blueprint","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"40ede604803704fc40192a760becfd69e9ca4b1e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     ahrechny \u003cgrechny.alexander@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-08-07 16:48:41 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Implement tosca-csar-mgmt-driver blueprint"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Icbc6afa192b50b3fe6640207863ada9bac7c1fda"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3f79a3b5_c5a448bc","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":42},"updated":"2018-08-08 03:08:06.000000000","message":"Implement: blueprint tosca-csar-mgmt-driver\n\nAnd could you explain more specifically?\nBelow is a guide of commit message.\nhttps://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"33308ee02828efe6aaff305e8131894ab4e1cb52","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     ahrechny \u003cgrechny.alexander@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-08-07 16:48:41 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Implement tosca-csar-mgmt-driver blueprint"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Icbc6afa192b50b3fe6640207863ada9bac7c1fda"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3f79a3b5_322c3298","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":42},"in_reply_to":"3f79a3b5_c5a448bc","updated":"2018-08-09 15:25:32.000000000","message":"Done","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"}],"specs/rocky/CSAR-Support-In-Tacker.rst":[{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"9ccc4ee286c519451f233e100c4d857c098b8b01","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Problem description\r"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":10,"context_line":"\r"},{"line_number":11,"context_line":"Currently in Tacker there is already implemented the functionality of onboarding of YAML VNF descriptors. But Cloud Service Archive is not supported, in spite of the fact, that it is possible to select CSAR file in Tacker Horizon for onboarding and CSAR is supported in TOSCA parser.\r"},{"line_number":12,"context_line":"\r"},{"line_number":13,"context_line":"The Cloud Service Archive CSAR is a package defined by OASIS TOSCA. It is a container file using the ZIP file format. Besides the service template of a cloud application it includes all artifacts required to manage the lifecycle of the corresponding cloud application (i.e. the implementation artifacts of the operations of the node types) as well as all artifacts to execute the cloud application (i.e. the deployment artifacts of the node types like virtual images, SQL DDL etc).\r"},{"line_number":14,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_2405ca79","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":29},"updated":"2018-07-16 16:15:05.000000000","message":"You have to keep one line\u0027s length is under 80 characters.","commit_id":"3e8b210f56d16f2f4d0777e034f92fb66f4120b1"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"29e3e31dbd94d80ea449cdd0403f2291af5e6c10","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Problem description\r"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":10,"context_line":"\r"},{"line_number":11,"context_line":"Currently in Tacker there is already implemented the functionality of onboarding of YAML VNF descriptors. But Cloud Service Archive is not supported, in spite of the fact, that it is possible to select CSAR file in Tacker Horizon for onboarding and CSAR is supported in TOSCA parser.\r"},{"line_number":12,"context_line":"\r"},{"line_number":13,"context_line":"The Cloud Service Archive CSAR is a package defined by OASIS TOSCA. It is a container file using the ZIP file format. Besides the service template of a cloud application it includes all artifacts required to manage the lifecycle of the corresponding cloud application (i.e. the implementation artifacts of the operations of the node types) as well as all artifacts to execute the cloud application (i.e. the deployment artifacts of the node types like virtual images, SQL DDL etc).\r"},{"line_number":14,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_109fee03","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":29},"in_reply_to":"5f7c97a3_2405ca79","updated":"2018-08-07 13:24:30.000000000","message":"Done","commit_id":"3e8b210f56d16f2f4d0777e034f92fb66f4120b1"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"9ccc4ee286c519451f233e100c4d857c098b8b01","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\r"},{"line_number":15,"context_line":"In order to support in a certain environment the execution and management of the lifecycle of a cloud application all corresponding artifacts must be available in that environment. This means that beside the service definition of the cloud application the deployment artifacts and implementation artifacts must be available in that environment. To ease the task of ensuring the availability of all these, this specification defines a corresponding archive format called CSAR (Cloud Service ARchive).\r"},{"line_number":16,"context_line":"\r"},{"line_number":17,"context_line":"CSAR allows to specify:\r"},{"line_number":18,"context_line":"\r"},{"line_number":19,"context_line":" * Metadata providing an entry information for processing a CSAR file\r"},{"line_number":20,"context_line":" * The manifest file is the key for decision regarding a VNF package integrity and validity in terms of its contained artifacts. \r"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_84f5be86","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":23},"updated":"2018-07-16 16:15:05.000000000","message":"Can you add directory structure here, such as: TOSCA-Metadata, Definitions, Files, Scripts, etc.","commit_id":"3e8b210f56d16f2f4d0777e034f92fb66f4120b1"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"29e3e31dbd94d80ea449cdd0403f2291af5e6c10","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\r"},{"line_number":15,"context_line":"In order to support in a certain environment the execution and management of the lifecycle of a cloud application all corresponding artifacts must be available in that environment. This means that beside the service definition of the cloud application the deployment artifacts and implementation artifacts must be available in that environment. To ease the task of ensuring the availability of all these, this specification defines a corresponding archive format called CSAR (Cloud Service ARchive).\r"},{"line_number":16,"context_line":"\r"},{"line_number":17,"context_line":"CSAR allows to specify:\r"},{"line_number":18,"context_line":"\r"},{"line_number":19,"context_line":" * Metadata providing an entry information for processing a CSAR file\r"},{"line_number":20,"context_line":" * The manifest file is the key for decision regarding a VNF package integrity and validity in terms of its contained artifacts. \r"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_30a46a57","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":23},"in_reply_to":"5f7c97a3_84f5be86","updated":"2018-08-07 13:24:30.000000000","message":"Done","commit_id":"3e8b210f56d16f2f4d0777e034f92fb66f4120b1"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"9ccc4ee286c519451f233e100c4d857c098b8b01","unresolved":false,"context_lines":[{"line_number":50,"context_line":"* Necessary modifications in Tacker Client:\r"},{"line_number":51,"context_line":"add validation of VNFD source (YAML or CSAR) and mapping to calls of mentioned above server methods.\r"},{"line_number":52,"context_line":"\r"},{"line_number":53,"context_line":"  +------------+         +--------------+         +---------------+\r"},{"line_number":54,"context_line":"  |            |         |              |         |               |\r"},{"line_number":55,"context_line":"  |    CSAR    |         |              |         |     Tacker    |\r"},{"line_number":56,"context_line":"  |  package   +---------\u003e    Horizon   +---------\u003e     Client    |\r"},{"line_number":57,"context_line":"  |            |         |              |         |               |\r"},{"line_number":58,"context_line":"  +------------+         +--------------+         +---+------+----+\r"},{"line_number":59,"context_line":"                                                      |      |\r"},{"line_number":60,"context_line":"  +--------------------------------+                  |      |\r"},{"line_number":61,"context_line":"  |              Tacker            |                  |      |\r"},{"line_number":62,"context_line":"  |   +-----------+                | POST /v1.0 /vnfds|      |\r"},{"line_number":63,"context_line":"  |   |           \u003c----------------|------------------+      |                            +\r"},{"line_number":64,"context_line":"  |   |    REST   |                |                         |\r"},{"line_number":65,"context_line":"  |   | Conroller |                | PATCH /v1.0/vnfds/uuid  |\r"},{"line_number":66,"context_line":"  |   |           \u003c----------------|-------------------------+\r"},{"line_number":67,"context_line":"  |   ++--+-------+                |\r"},{"line_number":68,"context_line":"  |    |  |                        |\r"},{"line_number":69,"context_line":"  |    |  |                        |       +----------------------+\r"},{"line_number":70,"context_line":"  |    |  | +--------------------+ |       |       Libraries      |\r"},{"line_number":71,"context_line":"  |    |  | |    VNFM Plugin     | |       |   +--------------+   |\r"},{"line_number":72,"context_line":"  |    |  | | +----------------+ | |       |   |    TOSCA     |   |\r"},{"line_number":73,"context_line":"  |    |  +---\u003e   create_vnfd  | +-------------\u003e    PARCER    |   |\r"},{"line_number":74,"context_line":"  |    |    | +----------------+ | |       |   +--------------+   |\r"},{"line_number":75,"context_line":"  |    |    |                    | |       |                      |\r"},{"line_number":76,"context_line":"  |    |    | +----------------+ | |       |   +--------------+   |\r"},{"line_number":77,"context_line":"  |    +------\u003e   upload_vnfd  | +-------------\u003e     HEAT     |   |\r"},{"line_number":78,"context_line":"  |         | +----------------+ | |       |   |  TRANSLATOR  |   |\r"},{"line_number":79,"context_line":"  |         +--------------------+ |       |   +--------------+   |\r"},{"line_number":80,"context_line":"  +--------------------------------+       +----------------------+\r"},{"line_number":81,"context_line":"  \r"},{"line_number":82,"context_line":"  \r"},{"line_number":83,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_0410ceaa","line":80,"range":{"start_line":53,"start_character":0,"end_line":80,"end_character":67},"updated":"2018-07-16 16:15:05.000000000","message":"add .. code-block:: console","commit_id":"3e8b210f56d16f2f4d0777e034f92fb66f4120b1"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"29e3e31dbd94d80ea449cdd0403f2291af5e6c10","unresolved":false,"context_lines":[{"line_number":50,"context_line":"* Necessary modifications in Tacker Client:\r"},{"line_number":51,"context_line":"add validation of VNFD source (YAML or CSAR) and mapping to calls of mentioned above server methods.\r"},{"line_number":52,"context_line":"\r"},{"line_number":53,"context_line":"  +------------+         +--------------+         +---------------+\r"},{"line_number":54,"context_line":"  |            |         |              |         |               |\r"},{"line_number":55,"context_line":"  |    CSAR    |         |              |         |     Tacker    |\r"},{"line_number":56,"context_line":"  |  package   +---------\u003e    Horizon   +---------\u003e     Client    |\r"},{"line_number":57,"context_line":"  |            |         |              |         |               |\r"},{"line_number":58,"context_line":"  +------------+         +--------------+         +---+------+----+\r"},{"line_number":59,"context_line":"                                                      |      |\r"},{"line_number":60,"context_line":"  +--------------------------------+                  |      |\r"},{"line_number":61,"context_line":"  |              Tacker            |                  |      |\r"},{"line_number":62,"context_line":"  |   +-----------+                | POST /v1.0 /vnfds|      |\r"},{"line_number":63,"context_line":"  |   |           \u003c----------------|------------------+      |                            +\r"},{"line_number":64,"context_line":"  |   |    REST   |                |                         |\r"},{"line_number":65,"context_line":"  |   | Conroller |                | PATCH /v1.0/vnfds/uuid  |\r"},{"line_number":66,"context_line":"  |   |           \u003c----------------|-------------------------+\r"},{"line_number":67,"context_line":"  |   ++--+-------+                |\r"},{"line_number":68,"context_line":"  |    |  |                        |\r"},{"line_number":69,"context_line":"  |    |  |                        |       +----------------------+\r"},{"line_number":70,"context_line":"  |    |  | +--------------------+ |       |       Libraries      |\r"},{"line_number":71,"context_line":"  |    |  | |    VNFM Plugin     | |       |   +--------------+   |\r"},{"line_number":72,"context_line":"  |    |  | | +----------------+ | |       |   |    TOSCA     |   |\r"},{"line_number":73,"context_line":"  |    |  +---\u003e   create_vnfd  | +-------------\u003e    PARCER    |   |\r"},{"line_number":74,"context_line":"  |    |    | +----------------+ | |       |   +--------------+   |\r"},{"line_number":75,"context_line":"  |    |    |                    | |       |                      |\r"},{"line_number":76,"context_line":"  |    |    | +----------------+ | |       |   +--------------+   |\r"},{"line_number":77,"context_line":"  |    +------\u003e   upload_vnfd  | +-------------\u003e     HEAT     |   |\r"},{"line_number":78,"context_line":"  |         | +----------------+ | |       |   |  TRANSLATOR  |   |\r"},{"line_number":79,"context_line":"  |         +--------------------+ |       |   +--------------+   |\r"},{"line_number":80,"context_line":"  +--------------------------------+       +----------------------+\r"},{"line_number":81,"context_line":"  \r"},{"line_number":82,"context_line":"  \r"},{"line_number":83,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_90921ef6","line":80,"range":{"start_line":53,"start_character":0,"end_line":80,"end_character":67},"in_reply_to":"5f7c97a3_0410ceaa","updated":"2018-08-07 13:24:30.000000000","message":"Done","commit_id":"3e8b210f56d16f2f4d0777e034f92fb66f4120b1"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"9ccc4ee286c519451f233e100c4d857c098b8b01","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Data model Impact\r"},{"line_number":85,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":86,"context_line":"\r"},{"line_number":87,"context_line":"  +-----------------------------------------------------------+\r"},{"line_number":88,"context_line":"  |            VNFD Catalog Tacker Database                   |\r"},{"line_number":89,"context_line":"  |-----------------------------------------------------------|\r"},{"line_number":90,"context_line":"  |                                                           |\r"},{"line_number":91,"context_line":"  |                               +-----------------+         |\r"},{"line_number":92,"context_line":"  |   +-----------------+         |   servicetypes  |         |\r"},{"line_number":93,"context_line":"  |   |      vnfd       |         |-----------------|         |\r"},{"line_number":94,"context_line":"  |   |-----------------|         |  id             |         |\r"},{"line_number":95,"context_line":"  |   | id              +----+----\u003e  vnfd_id        |         |\r"},{"line_number":96,"context_line":"  |   | tenant_id       |    |    |  tenant_id      |         |\r"},{"line_number":97,"context_line":"  |   | name            |    |    |  service_type   |         |\r"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_e40cb294","line":94,"range":{"start_line":87,"start_character":0,"end_line":94,"end_character":63},"updated":"2018-07-16 16:15:05.000000000","message":"ditto","commit_id":"3e8b210f56d16f2f4d0777e034f92fb66f4120b1"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"29e3e31dbd94d80ea449cdd0403f2291af5e6c10","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Data model Impact\r"},{"line_number":85,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\r"},{"line_number":86,"context_line":"\r"},{"line_number":87,"context_line":"  +-----------------------------------------------------------+\r"},{"line_number":88,"context_line":"  |            VNFD Catalog Tacker Database                   |\r"},{"line_number":89,"context_line":"  |-----------------------------------------------------------|\r"},{"line_number":90,"context_line":"  |                                                           |\r"},{"line_number":91,"context_line":"  |                               +-----------------+         |\r"},{"line_number":92,"context_line":"  |   +-----------------+         |   servicetypes  |         |\r"},{"line_number":93,"context_line":"  |   |      vnfd       |         |-----------------|         |\r"},{"line_number":94,"context_line":"  |   |-----------------|         |  id             |         |\r"},{"line_number":95,"context_line":"  |   | id              +----+----\u003e  vnfd_id        |         |\r"},{"line_number":96,"context_line":"  |   | tenant_id       |    |    |  tenant_id      |         |\r"},{"line_number":97,"context_line":"  |   | name            |    |    |  service_type   |         |\r"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_b08f1acb","line":94,"range":{"start_line":87,"start_character":0,"end_line":94,"end_character":63},"in_reply_to":"5f7c97a3_e40cb294","updated":"2018-08-07 13:24:30.000000000","message":"Done","commit_id":"3e8b210f56d16f2f4d0777e034f92fb66f4120b1"},{"author":{"_account_id":27153,"name":"Nguyen Hai","email":"nguyentrihai93@gmail.com","username":"nguyentrihai"},"change_message_id":"1457bbda36f07314e98142921d9a6eb67b5f727b","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Problem description"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Currently Tacker is able to onboard VNF descriptors using files in YAML format"},{"line_number":12,"context_line":"or plain text. Cloud Service Archive is not supported (but it is possible to"},{"line_number":13,"context_line":"use files with `csar` extension in horizon-tacker)."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_0a282132","line":11,"updated":"2018-08-07 11:10:57.000000000","message":"add a \u0027,\u0027 here.","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"52de658211fc62c50f3e38bc53371e87b33ff725","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Problem description"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Currently Tacker is able to onboard VNF descriptors using files in YAML format"},{"line_number":12,"context_line":"or plain text. Cloud Service Archive is not supported (but it is possible to"},{"line_number":13,"context_line":"use files with `csar` extension in horizon-tacker)."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_3ed3db3a","line":11,"in_reply_to":"3f79a3b5_0a282132","updated":"2018-08-07 13:52:42.000000000","message":"Done","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":27153,"name":"Nguyen Hai","email":"nguyentrihai93@gmail.com","username":"nguyentrihai"},"change_message_id":"1457bbda36f07314e98142921d9a6eb67b5f727b","unresolved":false,"context_lines":[{"line_number":23,"context_line":"CSAR file also may include:"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":" * Metadata that provides entry information for a TOSCA orchestrator"},{"line_number":26,"context_line":" * The manifest file is the key for decision regarding a VNF package integrity"},{"line_number":27,"context_line":"   and validity in terms of its contained artifacts."},{"line_number":28,"context_line":" * The VNF licensing information"},{"line_number":29,"context_line":" * Types definitions for topology template"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_ea9fe54d","line":26,"updated":"2018-08-07 11:10:57.000000000","message":"a/the","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"52de658211fc62c50f3e38bc53371e87b33ff725","unresolved":false,"context_lines":[{"line_number":23,"context_line":"CSAR file also may include:"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":" * Metadata that provides entry information for a TOSCA orchestrator"},{"line_number":26,"context_line":" * The manifest file is the key for decision regarding a VNF package integrity"},{"line_number":27,"context_line":"   and validity in terms of its contained artifacts."},{"line_number":28,"context_line":" * The VNF licensing information"},{"line_number":29,"context_line":" * Types definitions for topology template"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_5ed81752","line":26,"in_reply_to":"3f79a3b5_ea9fe54d","updated":"2018-08-07 13:52:42.000000000","message":"Done","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":27153,"name":"Nguyen Hai","email":"nguyentrihai93@gmail.com","username":"nguyentrihai"},"change_message_id":"1457bbda36f07314e98142921d9a6eb67b5f727b","unresolved":false,"context_lines":[{"line_number":31,"context_line":" * Monitoring configurations"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"CSAR packages are essential for most VNF and NS that contain a lot of artifacts,"},{"line_number":34,"context_line":"security sensitive data, and etc. The lack of support of CSAR packages makes"},{"line_number":35,"context_line":"Tacker incompatible with most modern VNF descriptors."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"The goal here is to implement the functionality in Tacker and provide interfaces"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_4aa139a9","line":34,"range":{"start_line":34,"start_character":54,"end_line":34,"end_character":56},"updated":"2018-08-07 11:10:57.000000000","message":"for","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"52de658211fc62c50f3e38bc53371e87b33ff725","unresolved":false,"context_lines":[{"line_number":31,"context_line":" * Monitoring configurations"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"CSAR packages are essential for most VNF and NS that contain a lot of artifacts,"},{"line_number":34,"context_line":"security sensitive data, and etc. The lack of support of CSAR packages makes"},{"line_number":35,"context_line":"Tacker incompatible with most modern VNF descriptors."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"The goal here is to implement the functionality in Tacker and provide interfaces"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_1ee29f04","line":34,"range":{"start_line":34,"start_character":54,"end_line":34,"end_character":56},"in_reply_to":"3f79a3b5_4aa139a9","updated":"2018-08-07 13:52:42.000000000","message":"Done","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":27153,"name":"Nguyen Hai","email":"nguyentrihai93@gmail.com","username":"nguyentrihai"},"change_message_id":"1457bbda36f07314e98142921d9a6eb67b5f727b","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":"The high-level changes needed to Tacker in order to accommodate this new feature"},{"line_number":44,"context_line":"will include changes to Horizon-Tacker, Tacker Client, Tacker Server,"},{"line_number":45,"context_line":"and Tosca Parser."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Changes include:"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_0a99016d","line":45,"range":{"start_line":44,"start_character":24,"end_line":45,"end_character":17},"updated":"2018-08-07 11:10:57.000000000","message":"Tacker-horizon, Tacker-client, Tacker-server, and TOSCA-Parser.","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"52de658211fc62c50f3e38bc53371e87b33ff725","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":"The high-level changes needed to Tacker in order to accommodate this new feature"},{"line_number":44,"context_line":"will include changes to Horizon-Tacker, Tacker Client, Tacker Server,"},{"line_number":45,"context_line":"and Tosca Parser."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Changes include:"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_bee60b16","line":45,"range":{"start_line":44,"start_character":24,"end_line":45,"end_character":17},"in_reply_to":"3f79a3b5_0a99016d","updated":"2018-08-07 13:52:42.000000000","message":"Done","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":27153,"name":"Nguyen Hai","email":"nguyentrihai93@gmail.com","username":"nguyentrihai"},"change_message_id":"1457bbda36f07314e98142921d9a6eb67b5f727b","unresolved":false,"context_lines":[{"line_number":52,"context_line":"  * Create a new individual VNF package resource."},{"line_number":53,"context_line":"  * Upload a VNF package by providing the content of the VNF package."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Add ability to use CSAR packages in Tacker Server and make some corrections"},{"line_number":56,"context_line":"  in Tosca Parser."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_4addb912","line":55,"range":{"start_line":55,"start_character":38,"end_line":55,"end_character":51},"updated":"2018-08-07 11:10:57.000000000","message":"Tacker-server","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"52de658211fc62c50f3e38bc53371e87b33ff725","unresolved":false,"context_lines":[{"line_number":52,"context_line":"  * Create a new individual VNF package resource."},{"line_number":53,"context_line":"  * Upload a VNF package by providing the content of the VNF package."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Add ability to use CSAR packages in Tacker Server and make some corrections"},{"line_number":56,"context_line":"  in Tosca Parser."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_7ef073ca","line":55,"range":{"start_line":55,"start_character":38,"end_line":55,"end_character":51},"in_reply_to":"3f79a3b5_4addb912","updated":"2018-08-07 13:52:42.000000000","message":"Done","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":27153,"name":"Nguyen Hai","email":"nguyentrihai93@gmail.com","username":"nguyentrihai"},"change_message_id":"1457bbda36f07314e98142921d9a6eb67b5f727b","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  * Upload a VNF package by providing the content of the VNF package."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Add ability to use CSAR packages in Tacker Server and make some corrections"},{"line_number":56,"context_line":"  in Tosca Parser."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":".. code-block:: console"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_cad0e9fa","line":56,"range":{"start_line":56,"start_character":5,"end_line":56,"end_character":17},"updated":"2018-08-07 11:10:57.000000000","message":"TOSCA-Parser","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"52de658211fc62c50f3e38bc53371e87b33ff725","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  * Upload a VNF package by providing the content of the VNF package."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Add ability to use CSAR packages in Tacker Server and make some corrections"},{"line_number":56,"context_line":"  in Tosca Parser."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":".. code-block:: console"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_3ebc3bdb","line":56,"range":{"start_line":56,"start_character":5,"end_line":56,"end_character":17},"in_reply_to":"3f79a3b5_cad0e9fa","updated":"2018-08-07 13:52:42.000000000","message":"Done","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"985206925872797ee993ca3b8a9c2f3b5edd454d","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    |              Tacker            |                      |          |"},{"line_number":69,"context_line":"    |   +-----------+                |                      |          |"},{"line_number":70,"context_line":"    |   |           \u003c----------------|----------------------+          |"},{"line_number":71,"context_line":"    |   |   REST    |                |POST /vnfpkgm/v1/vnf_packages    |"},{"line_number":72,"context_line":"    |   | Conroller |                |                                 |"},{"line_number":73,"context_line":"    |   |           \u003c----------------|---------------------------------+"},{"line_number":74,"context_line":"    |   +--+--------+                |PUT /vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_ad9b4770","line":71,"range":{"start_line":71,"start_character":44,"end_line":71,"end_character":51},"updated":"2018-08-07 12:06:59.000000000","message":"Should we use the existing api, such as \"GET /v1.0/vnfds/{vnfd_id}\" (https://developer.openstack.org/api-ref/nfv-orchestration/v1/index.html)","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"29e3e31dbd94d80ea449cdd0403f2291af5e6c10","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    |              Tacker            |                      |          |"},{"line_number":69,"context_line":"    |   +-----------+                |                      |          |"},{"line_number":70,"context_line":"    |   |           \u003c----------------|----------------------+          |"},{"line_number":71,"context_line":"    |   |   REST    |                |POST /vnfpkgm/v1/vnf_packages    |"},{"line_number":72,"context_line":"    |   | Conroller |                |                                 |"},{"line_number":73,"context_line":"    |   |           \u003c----------------|---------------------------------+"},{"line_number":74,"context_line":"    |   +--+--------+                |PUT /vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_53d33039","line":71,"range":{"start_line":71,"start_character":44,"end_line":71,"end_character":51},"in_reply_to":"3f79a3b5_ad9b4770","updated":"2018-08-07 13:24:30.000000000","message":"Sorry, but could you please explain the question? Are You asking about backward compatibility or using an existing API for the feature? \nAs Hiroyuki Jo suggested I want to support ETSI SOL005 specification for an onboarding and that specification specifies the full path for REST API, so I guess we need to change the existing format to support ETSI SOL","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"985206925872797ee993ca3b8a9c2f3b5edd454d","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    |      |  | +----------------+ | |       |       Libraries      |"},{"line_number":80,"context_line":"    |      +----\u003e create_package | | |       |   +--------------+   |"},{"line_number":81,"context_line":"    |      |  | +----------------+ | |       |   |    TOSCA     |   |"},{"line_number":82,"context_line":"    |      |  |                    +-------------\u003e    PARCER    |   |"},{"line_number":83,"context_line":"    |      |  | +----------------+ | |       |   +--------------+   |"},{"line_number":84,"context_line":"    |      +----\u003e upload_content | | |       +----------------------+"},{"line_number":85,"context_line":"    |         | +----------------+ | |"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_6da68fc4","line":82,"range":{"start_line":82,"start_character":54,"end_line":82,"end_character":60},"updated":"2018-08-07 12:06:59.000000000","message":"PARSER","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"52de658211fc62c50f3e38bc53371e87b33ff725","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    |      |  | +----------------+ | |       |       Libraries      |"},{"line_number":80,"context_line":"    |      +----\u003e create_package | | |       |   +--------------+   |"},{"line_number":81,"context_line":"    |      |  | +----------------+ | |       |   |    TOSCA     |   |"},{"line_number":82,"context_line":"    |      |  |                    +-------------\u003e    PARCER    |   |"},{"line_number":83,"context_line":"    |      |  | +----------------+ | |       |   +--------------+   |"},{"line_number":84,"context_line":"    |      +----\u003e upload_content | | |       +----------------------+"},{"line_number":85,"context_line":"    |         | +----------------+ | |"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_feb563ef","line":82,"range":{"start_line":82,"start_character":54,"end_line":82,"end_character":60},"in_reply_to":"3f79a3b5_6da68fc4","updated":"2018-08-07 13:52:42.000000000","message":"Done","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"985206925872797ee993ca3b8a9c2f3b5edd454d","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    |      |  | +----------------+ | |       |   |    TOSCA     |   |"},{"line_number":82,"context_line":"    |      |  |                    +-------------\u003e    PARCER    |   |"},{"line_number":83,"context_line":"    |      |  | +----------------+ | |       |   +--------------+   |"},{"line_number":84,"context_line":"    |      +----\u003e upload_content | | |       +----------------------+"},{"line_number":85,"context_line":"    |         | +----------------+ | |"},{"line_number":86,"context_line":"    |         +--------------------+ |"},{"line_number":87,"context_line":"    +--------------------------------+"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_ed24df0f","line":84,"range":{"start_line":84,"start_character":18,"end_line":84,"end_character":32},"updated":"2018-08-07 12:06:59.000000000","message":"As I known, CSAR supports storing image file (linux distros) in zip file. Should we consider converting some large files like image to Glance before on-boarding VNFD, to reduce VNF content in Tacker database?","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"a6e94e20d32e9d0aef97b2e1e50ece8350802fd1","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    |      |  | +----------------+ | |       |   |    TOSCA     |   |"},{"line_number":82,"context_line":"    |      |  |                    +-------------\u003e    PARCER    |   |"},{"line_number":83,"context_line":"    |      |  | +----------------+ | |       |   +--------------+   |"},{"line_number":84,"context_line":"    |      +----\u003e upload_content | | |       +----------------------+"},{"line_number":85,"context_line":"    |         | +----------------+ | |"},{"line_number":86,"context_line":"    |         +--------------------+ |"},{"line_number":87,"context_line":"    +--------------------------------+"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_26b41f35","line":84,"range":{"start_line":84,"start_character":18,"end_line":84,"end_character":32},"in_reply_to":"3f79a3b5_d34ae025","updated":"2018-08-08 09:07:43.000000000","message":"One more question - CSAR specification does not specify directory where we should store images, only entry point into TOSCA descriptor. It means that we need parse our descriptor during onboarding and we need to find paths to VM images. Maybe we should upload images later (as a part of deploying?)","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"29e3e31dbd94d80ea449cdd0403f2291af5e6c10","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    |      |  | +----------------+ | |       |   |    TOSCA     |   |"},{"line_number":82,"context_line":"    |      |  |                    +-------------\u003e    PARCER    |   |"},{"line_number":83,"context_line":"    |      |  | +----------------+ | |       |   +--------------+   |"},{"line_number":84,"context_line":"    |      +----\u003e upload_content | | |       +----------------------+"},{"line_number":85,"context_line":"    |         | +----------------+ | |"},{"line_number":86,"context_line":"    |         +--------------------+ |"},{"line_number":87,"context_line":"    +--------------------------------+"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_d34ae025","line":84,"range":{"start_line":84,"start_character":18,"end_line":84,"end_character":32},"in_reply_to":"3f79a3b5_ed24df0f","updated":"2018-08-07 13:24:30.000000000","message":"I think we can upload these images to Glance if they don\u0027t exist. As for storing images in the database, I plan to store only the main TOSCA file in the database and store other unpacked files in /var/lib/tacker/... directory (I tried to explain this in the `Data Model Impact` section)","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":27153,"name":"Nguyen Hai","email":"nguyentrihai93@gmail.com","username":"nguyentrihai"},"change_message_id":"1457bbda36f07314e98142921d9a6eb67b5f727b","unresolved":false,"context_lines":[{"line_number":131,"context_line":"                                    |   --      ...       |"},{"line_number":132,"context_line":"                                    +---------------------+"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"References"},{"line_number":136,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_aad7aded","line":134,"updated":"2018-08-07 11:10:57.000000000","message":"Any other Impacts?","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":27153,"name":"Nguyen Hai","email":"nguyentrihai93@gmail.com","username":"nguyentrihai"},"change_message_id":"4d6611b2ad8cbc14fc7407aff0c36c055595df12","unresolved":false,"context_lines":[{"line_number":131,"context_line":"                                    |   --      ...       |"},{"line_number":132,"context_line":"                                    +---------------------+"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"References"},{"line_number":136,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_10284e32","line":134,"in_reply_to":"3f79a3b5_4d63931b","updated":"2018-08-07 12:30:55.000000000","message":"Assignee(s) also.","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"52de658211fc62c50f3e38bc53371e87b33ff725","unresolved":false,"context_lines":[{"line_number":131,"context_line":"                                    |   --      ...       |"},{"line_number":132,"context_line":"                                    +---------------------+"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"References"},{"line_number":136,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_9ec6af67","line":134,"in_reply_to":"3f79a3b5_4d63931b","updated":"2018-08-07 13:52:42.000000000","message":"Done","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"985206925872797ee993ca3b8a9c2f3b5edd454d","unresolved":false,"context_lines":[{"line_number":131,"context_line":"                                    |   --      ...       |"},{"line_number":132,"context_line":"                                    +---------------------+"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"References"},{"line_number":136,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f79a3b5_4d63931b","line":134,"in_reply_to":"3f79a3b5_aad7aded","updated":"2018-08-07 12:06:59.000000000","message":"IMO, you can add steps to solve problem here by using Work items. For example, https://specs.openstack.org/openstack/tacker-specs/specs/mitaka/multi-site-feature.html.","commit_id":"f9408732ec3869e78a9ef0e862c61dd439280a3b"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"caf950d1a5f78b1cd8d7e85dd3f491f3e18eb394","unresolved":false,"context_lines":[{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Currently, Tacker is able to onboard VNF descriptors using files in YAML format"},{"line_number":12,"context_line":"or plain text. Cloud Service Archive is not supported (but it is possible to"},{"line_number":13,"context_line":"use files with ‘csar’ extension in horizon-tacker)."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The Cloud Service Archive (CSAR) is a package defined by OASIS. TOSCA Simple"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_df715a0e","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":13},"updated":"2018-08-09 02:55:44.000000000","message":"can be removed.","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"33308ee02828efe6aaff305e8131894ab4e1cb52","unresolved":false,"context_lines":[{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Currently, Tacker is able to onboard VNF descriptors using files in YAML format"},{"line_number":12,"context_line":"or plain text. Cloud Service Archive is not supported (but it is possible to"},{"line_number":13,"context_line":"use files with ‘csar’ extension in horizon-tacker)."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The Cloud Service Archive (CSAR) is a package defined by OASIS. TOSCA Simple"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_ec41040d","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":13},"in_reply_to":"3f79a3b5_df715a0e","updated":"2018-08-09 15:25:32.000000000","message":"Done","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"40ede604803704fc40192a760becfd69e9ca4b1e","unresolved":false,"context_lines":[{"line_number":25,"context_line":" * Metadata that provides entry information for a TOSCA orchestrator"},{"line_number":26,"context_line":" * The manifest file is the key for a decision regarding a VNF package integrity"},{"line_number":27,"context_line":"   and validity in terms of its contained artifacts."},{"line_number":28,"context_line":" * The VNF licensing information"},{"line_number":29,"context_line":" * Types definitions for topology template"},{"line_number":30,"context_line":" * Virtual machine images"},{"line_number":31,"context_line":" * Configuration artifacts"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_509314a4","line":28,"range":{"start_line":28,"start_character":2,"end_line":28,"end_character":32},"updated":"2018-08-08 03:08:06.000000000","message":"Do you have a plan how this file is used by Tacker? Just storing for now?","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"a6e94e20d32e9d0aef97b2e1e50ece8350802fd1","unresolved":false,"context_lines":[{"line_number":25,"context_line":" * Metadata that provides entry information for a TOSCA orchestrator"},{"line_number":26,"context_line":" * The manifest file is the key for a decision regarding a VNF package integrity"},{"line_number":27,"context_line":"   and validity in terms of its contained artifacts."},{"line_number":28,"context_line":" * The VNF licensing information"},{"line_number":29,"context_line":" * Types definitions for topology template"},{"line_number":30,"context_line":" * Virtual machine images"},{"line_number":31,"context_line":" * Configuration artifacts"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_11727e12","line":28,"range":{"start_line":28,"start_character":2,"end_line":28,"end_character":32},"in_reply_to":"3f79a3b5_509314a4","updated":"2018-08-08 09:07:43.000000000","message":"Usually, licence files are used by configuration artifacts and may be used as part of init configuration or user data","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"40ede604803704fc40192a760becfd69e9ca4b1e","unresolved":false,"context_lines":[{"line_number":28,"context_line":" * The VNF licensing information"},{"line_number":29,"context_line":" * Types definitions for topology template"},{"line_number":30,"context_line":" * Virtual machine images"},{"line_number":31,"context_line":" * Configuration artifacts"},{"line_number":32,"context_line":" * Monitoring configurations"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"CSAR packages are essential for most VNF and NS that contain a lot of artifacts,"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_f091009b","line":31,"range":{"start_line":31,"start_character":2,"end_line":31,"end_character":26},"updated":"2018-08-08 03:08:06.000000000","message":"ditto","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"a6e94e20d32e9d0aef97b2e1e50ece8350802fd1","unresolved":false,"context_lines":[{"line_number":28,"context_line":" * The VNF licensing information"},{"line_number":29,"context_line":" * Types definitions for topology template"},{"line_number":30,"context_line":" * Virtual machine images"},{"line_number":31,"context_line":" * Configuration artifacts"},{"line_number":32,"context_line":" * Monitoring configurations"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"CSAR packages are essential for most VNF and NS that contain a lot of artifacts,"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_b195cae6","line":31,"range":{"start_line":31,"start_character":2,"end_line":31,"end_character":26},"in_reply_to":"3f79a3b5_f091009b","updated":"2018-08-08 09:07:43.000000000","message":"Artifacts is a part of TOSCA and we can specify path to configuration file or use some files in our scripts. As I understand we can use that configuration in Heat for instantiation and etc","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"40ede604803704fc40192a760becfd69e9ca4b1e","unresolved":false,"context_lines":[{"line_number":29,"context_line":" * Types definitions for topology template"},{"line_number":30,"context_line":" * Virtual machine images"},{"line_number":31,"context_line":" * Configuration artifacts"},{"line_number":32,"context_line":" * Monitoring configurations"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"CSAR packages are essential for most VNF and NS that contain a lot of artifacts,"},{"line_number":35,"context_line":"security sensitive data, and etc. The lack of support for CSAR packages makes"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_108d9c7a","line":32,"range":{"start_line":32,"start_character":2,"end_line":32,"end_character":28},"updated":"2018-08-08 03:08:06.000000000","message":"ditto","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"a6e94e20d32e9d0aef97b2e1e50ece8350802fd1","unresolved":false,"context_lines":[{"line_number":29,"context_line":" * Types definitions for topology template"},{"line_number":30,"context_line":" * Virtual machine images"},{"line_number":31,"context_line":" * Configuration artifacts"},{"line_number":32,"context_line":" * Monitoring configurations"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"CSAR packages are essential for most VNF and NS that contain a lot of artifacts,"},{"line_number":35,"context_line":"security sensitive data, and etc. The lack of support for CSAR packages makes"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_91bbee70","line":32,"range":{"start_line":32,"start_character":2,"end_line":32,"end_character":28},"in_reply_to":"3f79a3b5_108d9c7a","updated":"2018-08-08 09:07:43.000000000","message":"I guess just storing for now. But it is only examples of CSAR content","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"caf950d1a5f78b1cd8d7e85dd3f491f3e18eb394","unresolved":false,"context_lines":[{"line_number":44,"context_line":"The high-level changes needed to Tacker in order to accommodate this new feature"},{"line_number":45,"context_line":"will include changes to Tacker-horizon, Tacker-client, Tacker-server,"},{"line_number":46,"context_line":"and TOSCA-Parser."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Changes include:"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* Implement 2-stage onboading of CSAR file according to ETSI SOL005"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_df02ba0b","line":47,"updated":"2018-08-09 02:55:44.000000000","message":"Could you please explain more about implementation details.","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"33308ee02828efe6aaff305e8131894ab4e1cb52","unresolved":false,"context_lines":[{"line_number":44,"context_line":"The high-level changes needed to Tacker in order to accommodate this new feature"},{"line_number":45,"context_line":"will include changes to Tacker-horizon, Tacker-client, Tacker-server,"},{"line_number":46,"context_line":"and TOSCA-Parser."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Changes include:"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* Implement 2-stage onboading of CSAR file according to ETSI SOL005"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_cc468822","line":47,"in_reply_to":"3f79a3b5_df02ba0b","updated":"2018-08-09 15:25:32.000000000","message":"Done","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"40ede604803704fc40192a760becfd69e9ca4b1e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  specification [#third]_:"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * Create a new individual VNF package resource."},{"line_number":54,"context_line":"  * Upload a VNF package by providing the content of the VNF package."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Add ability to use CSAR packages in Tacker-server and make some corrections"},{"line_number":57,"context_line":"  in TOSCA-Parser."}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_0555601d","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":10},"updated":"2018-08-08 03:08:06.000000000","message":"Don\u0027t we need full CRUD interfece?","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"a6e94e20d32e9d0aef97b2e1e50ece8350802fd1","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  specification [#third]_:"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * Create a new individual VNF package resource."},{"line_number":54,"context_line":"  * Upload a VNF package by providing the content of the VNF package."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Add ability to use CSAR packages in Tacker-server and make some corrections"},{"line_number":57,"context_line":"  in TOSCA-Parser."}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_91176e52","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":10},"in_reply_to":"3f79a3b5_0555601d","updated":"2018-08-08 09:07:43.000000000","message":"Yes, I can add getting and deleting REST API by ETSI SOL, but I\u0027m not sure that we need support updating of VNF - it is unused case.","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"33308ee02828efe6aaff305e8131894ab4e1cb52","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  specification [#third]_:"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  * Create a new individual VNF package resource."},{"line_number":54,"context_line":"  * Upload a VNF package by providing the content of the VNF package."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Add ability to use CSAR packages in Tacker-server and make some corrections"},{"line_number":57,"context_line":"  in TOSCA-Parser."}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_2c613caa","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":10},"in_reply_to":"3f79a3b5_91176e52","updated":"2018-08-09 15:25:32.000000000","message":"Done","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"40ede604803704fc40192a760becfd69e9ca4b1e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  * Create a new individual VNF package resource."},{"line_number":54,"context_line":"  * Upload a VNF package by providing the content of the VNF package."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Add ability to use CSAR packages in Tacker-server and make some corrections"},{"line_number":57,"context_line":"  in TOSCA-Parser."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_10b4bc34","line":56,"range":{"start_line":56,"start_character":16,"end_line":56,"end_character":34},"updated":"2018-08-08 03:08:06.000000000","message":"Can you explain more specifically? I guess what tacker needs to do is:\n- unpack CSAR\n- upload image file to glance\n- upload VNFD to tacker using current API\n- store other files to local storage\n- and others?","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"a6e94e20d32e9d0aef97b2e1e50ece8350802fd1","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  * Create a new individual VNF package resource."},{"line_number":54,"context_line":"  * Upload a VNF package by providing the content of the VNF package."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Add ability to use CSAR packages in Tacker-server and make some corrections"},{"line_number":57,"context_line":"  in TOSCA-Parser."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_43226d54","line":56,"range":{"start_line":56,"start_character":16,"end_line":56,"end_character":34},"in_reply_to":"3f79a3b5_10b4bc34","updated":"2018-08-08 09:07:43.000000000","message":"Not exactly - we can\u0027t use current API because we don\u0027t have possibility to include file to current REST API payload.\nAdd ability means have possibility to onboard and instantiate CSAR package.\n\nI\u0027ve tried to explain what taker needs to do in \u0027Work Items\u0027 section. Should I add more explanation here?","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"33308ee02828efe6aaff305e8131894ab4e1cb52","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  * Create a new individual VNF package resource."},{"line_number":54,"context_line":"  * Upload a VNF package by providing the content of the VNF package."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Add ability to use CSAR packages in Tacker-server and make some corrections"},{"line_number":57,"context_line":"  in TOSCA-Parser."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_ec5a64f1","line":56,"range":{"start_line":56,"start_character":16,"end_line":56,"end_character":34},"in_reply_to":"3f79a3b5_3a573c05","updated":"2018-08-09 15:25:32.000000000","message":"Done","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"caf950d1a5f78b1cd8d7e85dd3f491f3e18eb394","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  * Create a new individual VNF package resource."},{"line_number":54,"context_line":"  * Upload a VNF package by providing the content of the VNF package."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Add ability to use CSAR packages in Tacker-server and make some corrections"},{"line_number":57,"context_line":"  in TOSCA-Parser."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_3a573c05","line":56,"range":{"start_line":56,"start_character":16,"end_line":56,"end_character":34},"in_reply_to":"3f79a3b5_43226d54","updated":"2018-08-09 02:55:44.000000000","message":"Please explain more here.","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"caf950d1a5f78b1cd8d7e85dd3f491f3e18eb394","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Add ability to use CSAR packages in Tacker-server and make some corrections"},{"line_number":57,"context_line":"  in TOSCA-Parser."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":".. code-block:: console"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    +------------+         +--------------+         +---------------+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_7a7614a7","line":58,"updated":"2018-08-09 02:55:44.000000000","message":"How the management drivers will be introduced ?","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"33308ee02828efe6aaff305e8131894ab4e1cb52","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Add ability to use CSAR packages in Tacker-server and make some corrections"},{"line_number":57,"context_line":"  in TOSCA-Parser."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":".. code-block:: console"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    +------------+         +--------------+         +---------------+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f79a3b5_8c4bb0ae","line":58,"in_reply_to":"3f79a3b5_7a7614a7","updated":"2018-08-09 15:25:32.000000000","message":"I added a new way to specify management driver. I guess it will be much better to use new way if needed and we can leave current implementation for the backward compatibility.\nBy the way TOSCA simple profile describes implementation artifacts so we can provide all scripts that we need inside CSAR (bash scripts, ansible configuration, and etc) and we don\u0027t need to use management drivers at all","commit_id":"9841acf6d31f593b4103a6a0c952685d1d2b15ab"},{"author":{"_account_id":27181,"name":"lijiale","email":"lijiale_yewu@cmss.chinamobile.com","username":"lijiale"},"change_message_id":"b4f19c6a4ec30a137461cfb95313f266d7467ccc","unresolved":false,"context_lines":[{"line_number":28,"context_line":"   and validity in terms of its contained artifacts."},{"line_number":29,"context_line":" * The VNF licensing information"},{"line_number":30,"context_line":" * Types definitions for topology template"},{"line_number":31,"context_line":" * Virtual machine images"},{"line_number":32,"context_line":" * Configuration artifacts"},{"line_number":33,"context_line":" * Monitoring configurations (aren\u0027t supported in Tacker yet)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_f38a2a68","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":25},"updated":"2018-08-10 08:47:13.000000000","message":"The CSAR contains images.  when onboarding CSAR, the image also will be onboarded to VIM?","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"17d36bd90998f88344f7f0aaf7e1aa4e3ab2e750","unresolved":false,"context_lines":[{"line_number":28,"context_line":"   and validity in terms of its contained artifacts."},{"line_number":29,"context_line":" * The VNF licensing information"},{"line_number":30,"context_line":" * Types definitions for topology template"},{"line_number":31,"context_line":" * Virtual machine images"},{"line_number":32,"context_line":" * Configuration artifacts"},{"line_number":33,"context_line":" * Monitoring configurations (aren\u0027t supported in Tacker yet)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_eb2c7203","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":25},"in_reply_to":"3f79a3b5_d9070f82","updated":"2018-08-10 12:02:00.000000000","message":"What the logic if the vim already has this image?\n\nI thought about storing csar in DB and decided to store the extracted files in a storage. My reasons are as follows:\n- we need to unpack archive only once;\n- we can store archives without size limits;\n- other services can use files without query to db, e.g. we can specify link to configuration file for heat, ansible, etc.\n- it is possible to implement web view for csar content later.\n\nSo, I don\u0027t see significant advantages if we store csar in database.","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"c6176cb45d524d17bcef450c49b351cfa5640da8","unresolved":false,"context_lines":[{"line_number":28,"context_line":"   and validity in terms of its contained artifacts."},{"line_number":29,"context_line":" * The VNF licensing information"},{"line_number":30,"context_line":" * Types definitions for topology template"},{"line_number":31,"context_line":" * Virtual machine images"},{"line_number":32,"context_line":" * Configuration artifacts"},{"line_number":33,"context_line":" * Monitoring configurations (aren\u0027t supported in Tacker yet)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_fe0bd1d2","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":25},"in_reply_to":"3f79a3b5_f38a2a68","updated":"2018-08-10 09:57:12.000000000","message":"CSAR specification does not specify directory where we should store images, only entry point into TOSCA descriptor. It means that we need parse our descriptor during onboarding and we need to find paths to VM images. Maybe we should upload images later (as a part of deploying?)\nOr we can implement that feature later in another blueprint","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"13efa2c2b99639f42cda93eda42cc374e2e00ac3","unresolved":false,"context_lines":[{"line_number":28,"context_line":"   and validity in terms of its contained artifacts."},{"line_number":29,"context_line":" * The VNF licensing information"},{"line_number":30,"context_line":" * Types definitions for topology template"},{"line_number":31,"context_line":" * Virtual machine images"},{"line_number":32,"context_line":" * Configuration artifacts"},{"line_number":33,"context_line":" * Monitoring configurations (aren\u0027t supported in Tacker yet)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_d9070f82","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":25},"in_reply_to":"3f79a3b5_fe0bd1d2","updated":"2018-08-10 11:14:58.000000000","message":"Tacker currently supported import image to remote VIM via http url. IMO, http url is better than uploading a full VM image within CSAR zip file.\n- https://github.com/openstack/tacker/blob/master/samples/tosca-templates/vnfd/tosca-vnfd-image.yaml#L27\n- https://github.com/openstack/tacker/blob/master/tacker/tosca/utils.py#L630-L648\n\nWe can limit package\u0027s size as KB, so we can store CSAR file in Tacker database. What do you think about it?","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":27181,"name":"lijiale","email":"lijiale_yewu@cmss.chinamobile.com","username":"lijiale"},"change_message_id":"b4f19c6a4ec30a137461cfb95313f266d7467ccc","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    using CSAR packages."},{"line_number":76,"context_line":"  * Make necessary changes to Tacker-server."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Tacker-server\u0027s new REST API Resources and methods overview:"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"+-------------------------+-----------------------------------------------------+-------------+-----------------------------------------+"},{"line_number":81,"context_line":"| Resource name           | Resource URI                                        | HTTP Method | Meaning                                 |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_b3cef2b1","line":78,"range":{"start_line":78,"start_character":0,"end_line":78,"end_character":60},"updated":"2018-08-10 08:47:13.000000000","message":"Now  vnfd is managed by VNFM. if add this feature, CSAR will be manged by NFVO ?","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"c6176cb45d524d17bcef450c49b351cfa5640da8","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    using CSAR packages."},{"line_number":76,"context_line":"  * Make necessary changes to Tacker-server."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Tacker-server\u0027s new REST API Resources and methods overview:"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"+-------------------------+-----------------------------------------------------+-------------+-----------------------------------------+"},{"line_number":81,"context_line":"| Resource name           | Resource URI                                        | HTTP Method | Meaning                                 |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_3e1629f3","line":78,"range":{"start_line":78,"start_character":0,"end_line":78,"end_character":60},"in_reply_to":"3f79a3b5_b3cef2b1","updated":"2018-08-10 09:57:12.000000000","message":"Yes, ETSI SOL005 implies VNF and NS catalog as a part of NFVO","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"9d1f0c9d9326fa4df89efd532be17fc30bdf2f6f","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    |   |   REST    |                |POST /vnfpkgm/v1/vnf_packages    |"},{"line_number":111,"context_line":"    |   | Conroller |                |                                 |"},{"line_number":112,"context_line":"    |   |           \u003c----------------|---------------------------------+"},{"line_number":113,"context_line":"    |   +--+--------+                |PUT /vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content"},{"line_number":114,"context_line":"    |      |                         |"},{"line_number":115,"context_line":"    |      |                         |"},{"line_number":116,"context_line":"    |      |  +--------------------+ |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_c1840a0f","line":113,"range":{"start_line":113,"start_character":38,"end_line":113,"end_character":93},"updated":"2018-08-09 18:15:39.000000000","message":"Correct me if I am wrong here. PUT is used for updating, when a CSAR file contains many files, does \u0027package_content\u0027 point to one file of them.\n\nFor simplification, PUT /vnfpkgm/v1/vnf_packages/{vnfPkgId} with new CSAR zip file in body can be used to update a VNFD.","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"184b19e89b4955896bc467c279b118a8d9fcbb5a","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    |   |   REST    |                |POST /vnfpkgm/v1/vnf_packages    |"},{"line_number":111,"context_line":"    |   | Conroller |                |                                 |"},{"line_number":112,"context_line":"    |   |           \u003c----------------|---------------------------------+"},{"line_number":113,"context_line":"    |   +--+--------+                |PUT /vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content"},{"line_number":114,"context_line":"    |      |                         |"},{"line_number":115,"context_line":"    |      |                         |"},{"line_number":116,"context_line":"    |      |  +--------------------+ |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_2dfe9e37","line":113,"range":{"start_line":113,"start_character":38,"end_line":113,"end_character":93},"in_reply_to":"3f79a3b5_2b74aafd","updated":"2018-09-21 01:58:34.000000000","message":"I think we can support updating CSAR, because sometime we need to update new version of it.","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"13efa2c2b99639f42cda93eda42cc374e2e00ac3","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    |   |   REST    |                |POST /vnfpkgm/v1/vnf_packages    |"},{"line_number":111,"context_line":"    |   | Conroller |                |                                 |"},{"line_number":112,"context_line":"    |   |           \u003c----------------|---------------------------------+"},{"line_number":113,"context_line":"    |   +--+--------+                |PUT /vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content"},{"line_number":114,"context_line":"    |      |                         |"},{"line_number":115,"context_line":"    |      |                         |"},{"line_number":116,"context_line":"    |      |  +--------------------+ |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_f9520b3b","line":113,"range":{"start_line":113,"start_character":38,"end_line":113,"end_character":93},"in_reply_to":"3f79a3b5_7ead81e7","updated":"2018-08-10 11:14:58.000000000","message":"IMO we can use PUT to replace the older CSAR package.","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"13f22a01c11c1895dce6119a232aa48f9b600993","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    |   |   REST    |                |POST /vnfpkgm/v1/vnf_packages    |"},{"line_number":111,"context_line":"    |   | Conroller |                |                                 |"},{"line_number":112,"context_line":"    |   |           \u003c----------------|---------------------------------+"},{"line_number":113,"context_line":"    |   +--+--------+                |PUT /vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content"},{"line_number":114,"context_line":"    |      |                         |"},{"line_number":115,"context_line":"    |      |                         |"},{"line_number":116,"context_line":"    |      |  +--------------------+ |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_eda7adbc","line":113,"range":{"start_line":113,"start_character":38,"end_line":113,"end_character":93},"in_reply_to":"3f79a3b5_c1840a0f","updated":"2018-08-10 07:42:46.000000000","message":"No, it doesn\u0027t update vnfd, it create vnfd\nFirst request just creates a package - it\u0027s an abstract group of VNFs. Theoretically, you can upload many VNFDs in one package (for example many versions of one descriptor or descriptor with different versions of virtual machine images). This approach is recommended by ETSI and many vendors already used that in theirs solutions","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"c6176cb45d524d17bcef450c49b351cfa5640da8","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    |   |   REST    |                |POST /vnfpkgm/v1/vnf_packages    |"},{"line_number":111,"context_line":"    |   | Conroller |                |                                 |"},{"line_number":112,"context_line":"    |   |           \u003c----------------|---------------------------------+"},{"line_number":113,"context_line":"    |   +--+--------+                |PUT /vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content"},{"line_number":114,"context_line":"    |      |                         |"},{"line_number":115,"context_line":"    |      |                         |"},{"line_number":116,"context_line":"    |      |  +--------------------+ |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_7ead81e7","line":113,"range":{"start_line":113,"start_character":38,"end_line":113,"end_character":93},"in_reply_to":"3f79a3b5_eda7adbc","updated":"2018-08-10 09:57:12.000000000","message":"Sorry, I misled you, forget my previous message)\nPOST create VNF package without any content.\nPUT means uploading content to the VNF package. ETSI SOL does not provide interface for updating content of VNF, so you need to create a new VNF package (e.g. new version). You can update VNF Package information (not content) using PATCH, but I think in our case we don\u0027t need to implement this.","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"17d36bd90998f88344f7f0aaf7e1aa4e3ab2e750","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    |   |   REST    |                |POST /vnfpkgm/v1/vnf_packages    |"},{"line_number":111,"context_line":"    |   | Conroller |                |                                 |"},{"line_number":112,"context_line":"    |   |           \u003c----------------|---------------------------------+"},{"line_number":113,"context_line":"    |   +--+--------+                |PUT /vnfpkgm/v1/vnf_packages/{vnfPkgId}/package_content"},{"line_number":114,"context_line":"    |      |                         |"},{"line_number":115,"context_line":"    |      |                         |"},{"line_number":116,"context_line":"    |      |  +--------------------+ |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_2b74aafd","line":113,"range":{"start_line":113,"start_character":38,"end_line":113,"end_character":93},"in_reply_to":"3f79a3b5_f9520b3b","updated":"2018-08-10 12:02:00.000000000","message":"Yes, we can but this behavior is not described by ETSI SOL specifications and I\u0027m not sure that we really need it. What do you think?","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"9d1f0c9d9326fa4df89efd532be17fc30bdf2f6f","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    +-----------------------------------------------------+"},{"line_number":161,"context_line":"                               |"},{"line_number":162,"context_line":"                               |    +---------------------+"},{"line_number":163,"context_line":"                               |    | Server file storage |"},{"line_number":164,"context_line":"                               |    |---------------------|"},{"line_number":165,"context_line":"                               |    |                     |"},{"line_number":166,"context_line":"                               +----\u003e /var/lib/tacker/... |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_e617dc50","line":163,"range":{"start_line":163,"start_character":38,"end_line":163,"end_character":57},"updated":"2018-08-09 18:15:39.000000000","message":"IMO, we shouldn\u0027t store CSAR file in local storage of Tacker server. It is better if we can put it on other service such as Swift.","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"c6176cb45d524d17bcef450c49b351cfa5640da8","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    +-----------------------------------------------------+"},{"line_number":161,"context_line":"                               |"},{"line_number":162,"context_line":"                               |    +---------------------+"},{"line_number":163,"context_line":"                               |    | Server file storage |"},{"line_number":164,"context_line":"                               |    |---------------------|"},{"line_number":165,"context_line":"                               |    |                     |"},{"line_number":166,"context_line":"                               +----\u003e /var/lib/tacker/... |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_be9b1964","line":163,"range":{"start_line":163,"start_character":38,"end_line":163,"end_character":57},"in_reply_to":"3f79a3b5_8daf197c","updated":"2018-08-10 09:57:12.000000000","message":"I understand that storing a file in the local storage is not very good but I guess we can create a new blueprint/spec for this feature. I think we need to be able to not use swift if we don\u0027t want","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"13f22a01c11c1895dce6119a232aa48f9b600993","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    +-----------------------------------------------------+"},{"line_number":161,"context_line":"                               |"},{"line_number":162,"context_line":"                               |    +---------------------+"},{"line_number":163,"context_line":"                               |    | Server file storage |"},{"line_number":164,"context_line":"                               |    |---------------------|"},{"line_number":165,"context_line":"                               |    |                     |"},{"line_number":166,"context_line":"                               +----\u003e /var/lib/tacker/... |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_8daf197c","line":163,"range":{"start_line":163,"start_character":38,"end_line":163,"end_character":57},"in_reply_to":"3f79a3b5_e617dc50","updated":"2018-08-10 07:42:46.000000000","message":"Ok, thank you, I will investigate that.","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"9d1f0c9d9326fa4df89efd532be17fc30bdf2f6f","unresolved":false,"context_lines":[{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* Add new onboarding REST API Endpoints to Tacker-server."},{"line_number":177,"context_line":"* Support for storing unpacked CSAR packages stored in local file system"},{"line_number":178,"context_line":"* TOSCA-Parser: add ability to use CSAR packages as a parameter of ToscaTemplate"},{"line_number":179,"context_line":"  init method"},{"line_number":180,"context_line":"* Modifications to vnfm plugin to work with CSAR packages."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_4136bae8","line":177,"range":{"start_line":177,"start_character":2,"end_line":177,"end_character":72},"updated":"2018-08-09 18:15:39.000000000","message":"As I known, CSAR packages are zip files. If package size is small, we can put it on Tacker database, if not Swift can be a solution here.","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"13f22a01c11c1895dce6119a232aa48f9b600993","unresolved":false,"context_lines":[{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"* Add new onboarding REST API Endpoints to Tacker-server."},{"line_number":177,"context_line":"* Support for storing unpacked CSAR packages stored in local file system"},{"line_number":178,"context_line":"* TOSCA-Parser: add ability to use CSAR packages as a parameter of ToscaTemplate"},{"line_number":179,"context_line":"  init method"},{"line_number":180,"context_line":"* Modifications to vnfm plugin to work with CSAR packages."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_2dd5a5e5","line":177,"range":{"start_line":177,"start_character":2,"end_line":177,"end_character":72},"in_reply_to":"3f79a3b5_4136bae8","updated":"2018-08-10 07:42:46.000000000","message":"I think we should use one approach for all archives, regardless of size","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"9d1f0c9d9326fa4df89efd532be17fc30bdf2f6f","unresolved":false,"context_lines":[{"line_number":180,"context_line":"* Modifications to vnfm plugin to work with CSAR packages."},{"line_number":181,"context_line":"* Changes for tacker-horizon and python-tackerclient for using new API."},{"line_number":182,"context_line":"* Add unit tests cases for onboarding of CSAR packages."},{"line_number":183,"context_line":"* Add new field ‘package_id’ to ‘vnfd’ table of Tacker DB and provide migration"},{"line_number":184,"context_line":"  scripts."},{"line_number":185,"context_line":"* Provide user documentation and developer documentation which explains the new"},{"line_number":186,"context_line":"  onboarding process."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_c1cc0abe","line":183,"range":{"start_line":183,"start_character":17,"end_line":183,"end_character":27},"updated":"2018-08-09 18:15:39.000000000","message":"I wonder how \u0027package_id\u0027 is used.","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"13f22a01c11c1895dce6119a232aa48f9b600993","unresolved":false,"context_lines":[{"line_number":180,"context_line":"* Modifications to vnfm plugin to work with CSAR packages."},{"line_number":181,"context_line":"* Changes for tacker-horizon and python-tackerclient for using new API."},{"line_number":182,"context_line":"* Add unit tests cases for onboarding of CSAR packages."},{"line_number":183,"context_line":"* Add new field ‘package_id’ to ‘vnfd’ table of Tacker DB and provide migration"},{"line_number":184,"context_line":"  scripts."},{"line_number":185,"context_line":"* Provide user documentation and developer documentation which explains the new"},{"line_number":186,"context_line":"  onboarding process."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_edc48df7","line":183,"range":{"start_line":183,"start_character":17,"end_line":183,"end_character":27},"in_reply_to":"3f79a3b5_c1cc0abe","updated":"2018-08-10 07:42:46.000000000","message":"we need to save it if we want to support ETSI SOL003/005 specification, because we have to use package_id on our REST API URI to create and remove VNFD","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"},{"author":{"_account_id":28530,"name":"Aliaksandr Hrechny","email":"grechny.alexander@gmail.com","username":"ahrechny"},"change_message_id":"c6176cb45d524d17bcef450c49b351cfa5640da8","unresolved":false,"context_lines":[{"line_number":180,"context_line":"* Modifications to vnfm plugin to work with CSAR packages."},{"line_number":181,"context_line":"* Changes for tacker-horizon and python-tackerclient for using new API."},{"line_number":182,"context_line":"* Add unit tests cases for onboarding of CSAR packages."},{"line_number":183,"context_line":"* Add new field ‘package_id’ to ‘vnfd’ table of Tacker DB and provide migration"},{"line_number":184,"context_line":"  scripts."},{"line_number":185,"context_line":"* Provide user documentation and developer documentation which explains the new"},{"line_number":186,"context_line":"  onboarding process."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3f79a3b5_3eb3894f","line":183,"range":{"start_line":183,"start_character":17,"end_line":183,"end_character":27},"in_reply_to":"3f79a3b5_edc48df7","updated":"2018-08-10 09:57:12.000000000","message":"Sorry, I think you right. We can use vnfd id as a package_id and implement that feature without database impact. I will change that part of specification","commit_id":"d3adaaf14ea972f20689b6d3478e7d880d68a63f"}],"specs/stein/CSAR-Support-In-Tacker.rst":[{"author":{"_account_id":16511,"name":"Bob Haddleton","email":"bob.haddleton@nokia.com","username":"bobh"},"change_message_id":"044c5fe180f6269d371665f7271b7ae5ef4eb692","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    if necessary (e.g. management driver) and change the southbound API"},{"line_number":72,"context_line":"    to new endpoints."},{"line_number":73,"context_line":"  * Change Tacker-client methods to use new Tacker-server REST API."},{"line_number":74,"context_line":"  * Make changes to TOSCA-Parser to support creation of Tosca Template objects"},{"line_number":75,"context_line":"    using CSAR packages."},{"line_number":76,"context_line":"  * Make necessary changes to Tacker-server."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3f79a3b5_4a9379b1","line":74,"updated":"2018-11-15 11:41:41.000000000","message":"TOSCA-Parser already supports accepting CSAR packages - if the path parameter to the ToscaTemplate object ends in \u0027.zip\u0027 or \u0027.csar\u0027 it will be treated as a CSAR file, validated, unpacked, and parsed.","commit_id":"7fb1aca1566ef2963b772ea54b131eaa7854c533"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"184b19e89b4955896bc467c279b118a8d9fcbb5a","unresolved":false,"context_lines":[{"line_number":129,"context_line":"Data model Impact"},{"line_number":130,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"CSAR is preferable to store in the file structure than in the database,"},{"line_number":133,"context_line":"that way will give the following advantages:"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"* archive will be unpacked only once;"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3f79a3b5_cd8daad4","line":132,"range":{"start_line":132,"start_character":35,"end_line":132,"end_character":49},"updated":"2018-09-21 01:58:34.000000000","message":"We should decide where to store them, and IMO it can not be Tacker server, maybe Swift. We can discuss about it later.","commit_id":"7fb1aca1566ef2963b772ea54b131eaa7854c533"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"a8b251dc1f6d237d7c2c7e9d72aa2da8cc2f4153","unresolved":false,"context_lines":[{"line_number":129,"context_line":"Data model Impact"},{"line_number":130,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"CSAR is preferable to store in the file structure than in the database,"},{"line_number":133,"context_line":"that way will give the following advantages:"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"* archive will be unpacked only once;"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3f79a3b5_2416bea2","line":132,"range":{"start_line":132,"start_character":35,"end_line":132,"end_character":49},"in_reply_to":"3f79a3b5_cd8daad4","updated":"2018-10-16 06:56:58.000000000","message":"\u003e We should decide where to store them, and IMO it can not be Tacker\n \u003e server, maybe Swift. We can discuss about it later.\n\nAgree to keep it in swift side.\nAlthough I think we again needs to fetch data from SWIFT and  unpack archive every time or to store unpacked data locally.\n\nSo for now I think we can keep it with tacker lib.\n\nwdyt?","commit_id":"7fb1aca1566ef2963b772ea54b131eaa7854c533"}],"specs/train/vnf_package_support.rst":[{"author":{"_account_id":17255,"name":"Toshiaki Takahashi","email":"ts-takahashi@nec.com","username":"takahashi_ts"},"change_message_id":"93f2b1a01d4cff501d62feba15f876071fc6b7a5","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Changes include:"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* Implement 2-stage onboading of CSAR file according to ETSI SOL005"},{"line_number":60,"context_line":"  specification [#etsi_sol005]_:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"  * Create a new individual VNF package resource."}],"source_content_type":"text/x-rst","patch_set":13,"id":"bfb3d3c7_79854c06","line":59,"range":{"start_line":59,"start_character":20,"end_line":59,"end_character":29},"updated":"2019-05-31 02:18:22.000000000","message":"nit: onboading -\u003e onboarding","commit_id":"03ec558970eb5d74211b23824a5176cb0d599038"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"4b93d44a394dd9258546474267c003be39fb9285","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Changes include:"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* Implement 2-stage onboading of CSAR file according to ETSI SOL005"},{"line_number":60,"context_line":"  specification [#etsi_sol005]_:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"  * Create a new individual VNF package resource."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9fb8cfa7_595ed476","line":59,"range":{"start_line":59,"start_character":20,"end_line":59,"end_character":29},"in_reply_to":"bfb3d3c7_79854c06","updated":"2019-06-25 08:22:11.000000000","message":"Done","commit_id":"03ec558970eb5d74211b23824a5176cb0d599038"},{"author":{"_account_id":17255,"name":"Toshiaki Takahashi","email":"ts-takahashi@nec.com","username":"takahashi_ts"},"change_message_id":"93f2b1a01d4cff501d62feba15f876071fc6b7a5","unresolved":false,"context_lines":[{"line_number":65,"context_line":"* Support for new endpoints according to ETSI SOL005 specification for"},{"line_number":66,"context_line":"  getting and removing VNF packages."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* Specify a management driver during on-boarding parameters instead of"},{"line_number":69,"context_line":"  the parameter in a TOSCA Template."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* Add the ability to use CSAR packages in Tacker for on-boarding and"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bfb3d3c7_9991204a","line":68,"range":{"start_line":68,"start_character":2,"end_line":68,"end_character":59},"updated":"2019-05-31 02:18:22.000000000","message":"What does it mean?\n   a) the list of available management drivers are already installed in tacker.\n      User then select which managemenr driver to use during onboarding.\n\n   b)a \"management driver\" is included in CSAR package.\n     When the user specifies this management driver, it will be added to tacker.\n  \n   c) both (a) and (b)\n      User can either specify an existing management driver or specify a new one included in the CSAR package.","commit_id":"03ec558970eb5d74211b23824a5176cb0d599038"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"4b93d44a394dd9258546474267c003be39fb9285","unresolved":false,"context_lines":[{"line_number":65,"context_line":"* Support for new endpoints according to ETSI SOL005 specification for"},{"line_number":66,"context_line":"  getting and removing VNF packages."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* Specify a management driver during on-boarding parameters instead of"},{"line_number":69,"context_line":"  the parameter in a TOSCA Template."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* Add the ability to use CSAR packages in Tacker for on-boarding and"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9fb8cfa7_d4a7bdbb","line":68,"range":{"start_line":68,"start_character":2,"end_line":68,"end_character":59},"in_reply_to":"bfb3d3c7_9991204a","updated":"2019-06-25 08:22:11.000000000","message":"This part is no longer needless. I will remove.","commit_id":"03ec558970eb5d74211b23824a5176cb0d599038"},{"author":{"_account_id":17255,"name":"Toshiaki Takahashi","email":"ts-takahashi@nec.com","username":"takahashi_ts"},"change_message_id":"93f2b1a01d4cff501d62feba15f876071fc6b7a5","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    |   +-----------+                |                      |          |"},{"line_number":113,"context_line":"    |   |           \u003c----------------|----------------------+          |"},{"line_number":114,"context_line":"    |   |   REST    |                |1. POST /vnfpkgm/v1/vnf_packages |"},{"line_number":115,"context_line":"    |   | Conroller |                |                                 |"},{"line_number":116,"context_line":"    |   |           \u003c----------------|---------------------------------+"},{"line_number":117,"context_line":"    |   +--+--------+                |2. PUT /vnfpkgm/v1/vnf_packages/{vnfdId}/package_content"},{"line_number":118,"context_line":"    |      |                         |"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bfb3d3c7_799a2c62","line":115,"range":{"start_line":115,"start_character":10,"end_line":115,"end_character":19},"updated":"2019-05-31 02:18:22.000000000","message":"nit: Conroller -\u003e Controller","commit_id":"03ec558970eb5d74211b23824a5176cb0d599038"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"4b93d44a394dd9258546474267c003be39fb9285","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    |   +-----------+                |                      |          |"},{"line_number":113,"context_line":"    |   |           \u003c----------------|----------------------+          |"},{"line_number":114,"context_line":"    |   |   REST    |                |1. POST /vnfpkgm/v1/vnf_packages |"},{"line_number":115,"context_line":"    |   | Conroller |                |                                 |"},{"line_number":116,"context_line":"    |   |           \u003c----------------|---------------------------------+"},{"line_number":117,"context_line":"    |   +--+--------+                |2. PUT /vnfpkgm/v1/vnf_packages/{vnfdId}/package_content"},{"line_number":118,"context_line":"    |      |                         |"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9fb8cfa7_79615839","line":115,"range":{"start_line":115,"start_character":10,"end_line":115,"end_character":19},"in_reply_to":"bfb3d3c7_799a2c62","updated":"2019-06-25 08:22:11.000000000","message":"Done","commit_id":"03ec558970eb5d74211b23824a5176cb0d599038"},{"author":{"_account_id":17255,"name":"Toshiaki Takahashi","email":"ts-takahashi@nec.com","username":"takahashi_ts"},"change_message_id":"93f2b1a01d4cff501d62feba15f876071fc6b7a5","unresolved":false,"context_lines":[{"line_number":248,"context_line":"* Support for storing unpacked CSAR packages stored in local file system"},{"line_number":249,"context_line":"* TOSCA-Parser: Add ability to use CSAR packages as a parameter of"},{"line_number":250,"context_line":"  ToscaTemplate init method"},{"line_number":251,"context_line":"* Add new plugin to support managment of VNF csar packages"},{"line_number":252,"context_line":"* Changes for tacker-horizon and python-tackerclient for using new APIs"},{"line_number":253,"context_line":"* Add unit and functional tests cases for onboarding of CSAR packages"},{"line_number":254,"context_line":"* Provide user documentation and developer documentation which explains"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bfb3d3c7_f9a5bc9f","line":251,"range":{"start_line":251,"start_character":28,"end_line":251,"end_character":37},"updated":"2019-05-31 02:18:22.000000000","message":"nit: managment -\u003e management","commit_id":"03ec558970eb5d74211b23824a5176cb0d599038"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"4b93d44a394dd9258546474267c003be39fb9285","unresolved":false,"context_lines":[{"line_number":248,"context_line":"* Support for storing unpacked CSAR packages stored in local file system"},{"line_number":249,"context_line":"* TOSCA-Parser: Add ability to use CSAR packages as a parameter of"},{"line_number":250,"context_line":"  ToscaTemplate init method"},{"line_number":251,"context_line":"* Add new plugin to support managment of VNF csar packages"},{"line_number":252,"context_line":"* Changes for tacker-horizon and python-tackerclient for using new APIs"},{"line_number":253,"context_line":"* Add unit and functional tests cases for onboarding of CSAR packages"},{"line_number":254,"context_line":"* Provide user documentation and developer documentation which explains"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9fb8cfa7_99644c4b","line":251,"range":{"start_line":251,"start_character":28,"end_line":251,"end_character":37},"in_reply_to":"bfb3d3c7_f9a5bc9f","updated":"2019-06-25 08:22:11.000000000","message":"Done","commit_id":"03ec558970eb5d74211b23824a5176cb0d599038"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"a2550cd41d248043bf3eae0d725e57f45cd5c228","unresolved":false,"context_lines":[{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Currently, Tacker is able to onboard VNF descriptors using files in YAML"},{"line_number":12,"context_line":"format. VNF Pacakge is not supported (but it is possible to use files"},{"line_number":13,"context_line":"with ‘csar’, Cloud Service Archive, extension in horizon-tacker)."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The Cloud Service Archive (CSAR) is a package described in"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9fb8cfa7_158f3875","line":12,"range":{"start_line":12,"start_character":12,"end_line":12,"end_character":19},"updated":"2019-07-01 11:08:27.000000000","message":"nit: package","commit_id":"0881927441dd3bec1d9c64cc5bc0055048326a1d"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"6e27674677b663fabb40d13931b0ad70d1379da0","unresolved":false,"context_lines":[{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Currently, Tacker is able to onboard VNF descriptors using files in YAML"},{"line_number":12,"context_line":"format. VNF Pacakge is not supported (but it is possible to use files"},{"line_number":13,"context_line":"with ‘csar’, Cloud Service Archive, extension in horizon-tacker)."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The Cloud Service Archive (CSAR) is a package described in"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9fb8cfa7_c28f96ca","line":12,"range":{"start_line":12,"start_character":12,"end_line":12,"end_character":19},"in_reply_to":"9fb8cfa7_158f3875","updated":"2019-07-08 08:00:34.000000000","message":"Done","commit_id":"0881927441dd3bec1d9c64cc5bc0055048326a1d"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"a2550cd41d248043bf3eae0d725e57f45cd5c228","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    |      |                         |"},{"line_number":131,"context_line":"    |      |                         |"},{"line_number":132,"context_line":"    |      |  +--------------------+ |"},{"line_number":133,"context_line":"    |      |  |    VNFM Plugin     | |       +----------------------+"},{"line_number":134,"context_line":"    |      |  | +----------------+ | |       |       Libraries      |"},{"line_number":135,"context_line":"    |      +----\u003e create_package | | |       |   +--------------+   |"},{"line_number":136,"context_line":"    |      |  | +----------------+ | |       |   |    TOSCA     |   |"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9fb8cfa7_2496cf4d","line":133,"range":{"start_line":133,"start_character":19,"end_line":133,"end_character":23},"updated":"2019-07-01 11:08:27.000000000","message":"I believe it would be NFVO. isn\u0027t ?","commit_id":"0881927441dd3bec1d9c64cc5bc0055048326a1d"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"6e27674677b663fabb40d13931b0ad70d1379da0","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    |      |                         |"},{"line_number":131,"context_line":"    |      |                         |"},{"line_number":132,"context_line":"    |      |  +--------------------+ |"},{"line_number":133,"context_line":"    |      |  |    VNFM Plugin     | |       +----------------------+"},{"line_number":134,"context_line":"    |      |  | +----------------+ | |       |       Libraries      |"},{"line_number":135,"context_line":"    |      +----\u003e create_package | | |       |   +--------------+   |"},{"line_number":136,"context_line":"    |      |  | +----------------+ | |       |   |    TOSCA     |   |"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9fb8cfa7_e28adab9","line":133,"range":{"start_line":133,"start_character":19,"end_line":133,"end_character":23},"in_reply_to":"9fb8cfa7_2496cf4d","updated":"2019-07-08 08:00:34.000000000","message":"Yes, thanks!","commit_id":"0881927441dd3bec1d9c64cc5bc0055048326a1d"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"a2550cd41d248043bf3eae0d725e57f45cd5c228","unresolved":false,"context_lines":[{"line_number":180,"context_line":"\"ENABLED\" and the value of the \"usageState\" attribute equals to"},{"line_number":181,"context_line":"\"NOT_IN_USE\"."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Error handling: In case of failure, appropriate error information is"},{"line_number":184,"context_line":"provided in the response."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"When user will upload the VNF package_contents, it will be extracted in"},{"line_number":187,"context_line":"the temporary folder which will be configurable with a new config"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9fb8cfa7_a7008102","line":184,"range":{"start_line":183,"start_character":0,"end_line":184,"end_character":25},"updated":"2019-07-01 11:08:27.000000000","message":"Just a question: What are all possible state values of onboardingState, operationalState and usageState, for all different cases(i.e. before post-condition, error and susses of completion)?","commit_id":"0881927441dd3bec1d9c64cc5bc0055048326a1d"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"6e27674677b663fabb40d13931b0ad70d1379da0","unresolved":false,"context_lines":[{"line_number":180,"context_line":"\"ENABLED\" and the value of the \"usageState\" attribute equals to"},{"line_number":181,"context_line":"\"NOT_IN_USE\"."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Error handling: In case of failure, appropriate error information is"},{"line_number":184,"context_line":"provided in the response."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"When user will upload the VNF package_contents, it will be extracted in"},{"line_number":187,"context_line":"the temporary folder which will be configurable with a new config"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_5bd83d52","line":184,"range":{"start_line":183,"start_character":0,"end_line":184,"end_character":25},"in_reply_to":"9fb8cfa7_96f47f5c","updated":"2019-07-08 08:00:34.000000000","message":"And NFV-SOL 005 Figure B.2.2-1 describes all state values and their transition model. I added a reference to it.","commit_id":"0881927441dd3bec1d9c64cc5bc0055048326a1d"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"da55b5c219f5ddd4869e2b5a8f613c0f843f57b9","unresolved":false,"context_lines":[{"line_number":180,"context_line":"\"ENABLED\" and the value of the \"usageState\" attribute equals to"},{"line_number":181,"context_line":"\"NOT_IN_USE\"."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Error handling: In case of failure, appropriate error information is"},{"line_number":184,"context_line":"provided in the response."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"When user will upload the VNF package_contents, it will be extracted in"},{"line_number":187,"context_line":"the temporary folder which will be configurable with a new config"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9fb8cfa7_96f47f5c","line":184,"range":{"start_line":183,"start_character":0,"end_line":184,"end_character":25},"in_reply_to":"9fb8cfa7_a7008102","updated":"2019-07-02 06:29:46.000000000","message":"onBoardingState:\n  CREATED: The VNF package resource has been created.\n  UPLOADING: The associated VNF package content is being uploaded.\n  PROCESSING: The associated VNF package content is being processed, e.g. validation.\n  ONBOARDED: The associated VNF package content is successfully on-boarded.\n\noperationalState\n  ENABLED: The VNF package is enabled, i.e. it can be used for instantiation of new VNF instances.\n  DISABLED: The VNF package is disabled, i.e. it cannot be used for further VNF instantiation requests (unless   and until the VNF package is re-enabled).\n\nusageState:\n  IN_USE: VNF instances instantiated from this VNF package exist.\n  NOT_IN_USE: No existing VNF instance is instantiated from this VNF package.","commit_id":"0881927441dd3bec1d9c64cc5bc0055048326a1d"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"a2550cd41d248043bf3eae0d725e57f45cd5c228","unresolved":false,"context_lines":[{"line_number":212,"context_line":""},{"line_number":213,"context_line":"vnf_packages::"},{"line_number":214,"context_line":"  `uuid` varchar(36) Pri"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"  `onboarding_state` varchar(255)"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"  `operational_state` varchar(255)"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9fb8cfa7_4747451e","line":215,"updated":"2019-07-01 11:08:27.000000000","message":"Don\u0027t need package name, tenant id?","commit_id":"0881927441dd3bec1d9c64cc5bc0055048326a1d"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"da55b5c219f5ddd4869e2b5a8f613c0f843f57b9","unresolved":false,"context_lines":[{"line_number":212,"context_line":""},{"line_number":213,"context_line":"vnf_packages::"},{"line_number":214,"context_line":"  `uuid` varchar(36) Pri"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"  `onboarding_state` varchar(255)"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"  `operational_state` varchar(255)"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9fb8cfa7_b68f43cb","line":215,"in_reply_to":"9fb8cfa7_4747451e","updated":"2019-07-02 06:29:46.000000000","message":"As tacker supports Muti-tenancy, yes, tenant_id is needed.\n\nAs per Section Table 9.5.2.2 of \nhttps://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_nfv-sol005v020601p.pdf, CreateVnfPkgInfoRequest type doesn\u0027t include package name so it\u0027s not needed.","commit_id":"0881927441dd3bec1d9c64cc5bc0055048326a1d"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"6e27674677b663fabb40d13931b0ad70d1379da0","unresolved":false,"context_lines":[{"line_number":212,"context_line":""},{"line_number":213,"context_line":"vnf_packages::"},{"line_number":214,"context_line":"  `uuid` varchar(36) Pri"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"  `onboarding_state` varchar(255)"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"  `operational_state` varchar(255)"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_bbe61116","line":215,"in_reply_to":"9fb8cfa7_b68f43cb","updated":"2019-07-08 08:00:34.000000000","message":"Done","commit_id":"0881927441dd3bec1d9c64cc5bc0055048326a1d"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"a2550cd41d248043bf3eae0d725e57f45cd5c228","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"  This table will have `uuid` as primary key."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"vnf_packages_user_data::"},{"line_number":233,"context_line":"  `id` int(11) Pri, auto_increment"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"  `package_uuid` varchar(36) NOT NULL"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9fb8cfa7_47918551","line":232,"range":{"start_line":232,"start_character":0,"end_line":232,"end_character":22},"updated":"2019-07-01 11:08:27.000000000","message":"What kind of data will this table have?","commit_id":"0881927441dd3bec1d9c64cc5bc0055048326a1d"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"da55b5c219f5ddd4869e2b5a8f613c0f843f57b9","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"  This table will have `uuid` as primary key."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"vnf_packages_user_data::"},{"line_number":233,"context_line":"  `id` int(11) Pri, auto_increment"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"  `package_uuid` varchar(36) NOT NULL"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9fb8cfa7_36b5937e","line":232,"range":{"start_line":232,"start_character":0,"end_line":232,"end_character":22},"in_reply_to":"9fb8cfa7_47918551","updated":"2019-07-02 06:29:46.000000000","message":"As per Section Table 9.5.2.2 of \nhttps://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.06.01_60/gs_nfv-sol005v020601p.pdf, CreateVnfPkgInfoRequest type contain userDefinedData which will be a dict. This data will be stored in this db table.","commit_id":"0881927441dd3bec1d9c64cc5bc0055048326a1d"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"db79c1f67b5c450b5d73cad9b5a367be0ca3deb9","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  python-openstackclient."},{"line_number":69,"context_line":"* Tacker-horizon: Add a new interface to support management of VNF csar"},{"line_number":70,"context_line":"  packages."},{"line_number":71,"context_line":"* Tacker-conductor service: Uploading and processing of vnf packages will be"},{"line_number":72,"context_line":"  done by tacker-conductor service. When a request to upload a VNF package"},{"line_number":73,"context_line":"  is received by the tacker API service on the controller node, the"},{"line_number":74,"context_line":"  responsibility of uploading and extraction of the CSAR file will be assigned"},{"line_number":75,"context_line":"  to the tacker-conductor service using new RPC API calls. The CSAR file will"},{"line_number":76,"context_line":"  be uploaded in the glance store (in case of multiple controller node"},{"line_number":77,"context_line":"  deployment we need to make csar file available on all nodes) and later it"},{"line_number":78,"context_line":"  will be downloaded from glance store and extracted in the path configurable"},{"line_number":79,"context_line":"  using a new config option ``vnf_package_csar_path`` so that any subsequent"},{"line_number":80,"context_line":"  calls to fetch VNF packages doesn\u0027t require to download CSAR file from"},{"line_number":81,"context_line":"  glance_store again and again."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. note:: In tacker.conf, a new section ``glance_store`` will be added to"},{"line_number":84,"context_line":"          configure the backend to be used for storing the vnf packages csar"},{"line_number":85,"context_line":"          zip file. In case of ``default_store`` is set to filesystem or file,"},{"line_number":86,"context_line":"          we recommend to configure ``filesystem_store_datadir`` option on"},{"line_number":87,"context_line":"          shared storage in case you plan to deploy tacker API and"},{"line_number":88,"context_line":"          tacker-conductor services on multiple controller nodes."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Changes include:"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"7faddb67_e11e885d","line":88,"range":{"start_line":71,"start_character":0,"end_line":88,"end_character":65},"updated":"2019-08-19 16:25:17.000000000","message":"I tried to recall earlier days discussions of conductor on HA case, but observed not much on that.\nJust putting this info so that we are on same page:  In case of multi-node deployment, In generic we can have multiple tacker servers and conductors, and it is recommended to have   a load balancer for tacker-conductors.\nSo the deployment of tacker-conductor is not fixed to per controller(haven\u0027t tested), but yes, considering it in spec is helpful to keep it generic and looks fine to me.","commit_id":"82cffab1b9106a976e33bdc810d95b47275da58c"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"d6d0c3b059fa2edfd6f42f60f063b8174d8ad011","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  python-openstackclient."},{"line_number":69,"context_line":"* Tacker-horizon: Add a new interface to support management of VNF csar"},{"line_number":70,"context_line":"  packages."},{"line_number":71,"context_line":"* Tacker-conductor service: Uploading and processing of vnf packages will be"},{"line_number":72,"context_line":"  done by tacker-conductor service. When a request to upload a VNF package"},{"line_number":73,"context_line":"  is received by the tacker API service on the controller node, the"},{"line_number":74,"context_line":"  responsibility of uploading and extraction of the CSAR file will be assigned"},{"line_number":75,"context_line":"  to the tacker-conductor service using new RPC API calls. The CSAR file will"},{"line_number":76,"context_line":"  be uploaded in the glance store (in case of multiple controller node"},{"line_number":77,"context_line":"  deployment we need to make csar file available on all nodes) and later it"},{"line_number":78,"context_line":"  will be downloaded from glance store and extracted in the path configurable"},{"line_number":79,"context_line":"  using a new config option ``vnf_package_csar_path`` so that any subsequent"},{"line_number":80,"context_line":"  calls to fetch VNF packages doesn\u0027t require to download CSAR file from"},{"line_number":81,"context_line":"  glance_store again and again."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. note:: In tacker.conf, a new section ``glance_store`` will be added to"},{"line_number":84,"context_line":"          configure the backend to be used for storing the vnf packages csar"},{"line_number":85,"context_line":"          zip file. In case of ``default_store`` is set to filesystem or file,"},{"line_number":86,"context_line":"          we recommend to configure ``filesystem_store_datadir`` option on"},{"line_number":87,"context_line":"          shared storage in case you plan to deploy tacker API and"},{"line_number":88,"context_line":"          tacker-conductor services on multiple controller nodes."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Changes include:"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"7faddb67_1be78ce5","line":88,"range":{"start_line":71,"start_character":0,"end_line":88,"end_character":65},"in_reply_to":"7faddb67_e11e885d","updated":"2019-08-20 01:07:55.000000000","message":"+1.","commit_id":"82cffab1b9106a976e33bdc810d95b47275da58c"}]}
