)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"1d0bb5b420273b8c514c29568d33dd50085d719b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Bharath Thiruveedula \u003cbharath_ves@hotmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-12-02 22:35:02 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Automatic resoure creation for Tacker"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This spec describes the automatic resource creation feature that"},{"line_number":10,"context_line":"will be added to Tacker."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a740942_a57cf772","line":7,"updated":"2015-12-05 15:33:00.000000000","message":"s/resoure/resource/","commit_id":"0674f4e1fc390d4053afd5e7426849480f6d9de2"}],"specs/mitaka/automatic-resource-creation.rst":[{"author":{"_account_id":18401,"name":"Luka Krajger","email":"luka.krajger@gmail.com","username":"KLuka"},"change_message_id":"261292c7513a2484025ea59ce3757f6410959d26","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/tacker/+spec/automatic-resource-creation"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Creating the custom openstack resources like flavors/networks/image is one"},{"line_number":14,"context_line":"of the requirement from the VNF vendors. This blueprint proposes to add the "},{"line_number":15,"context_line":"support for automatic resource creation while onboarding the VNFD in tacker."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_2189b5c9","line":14,"updated":"2015-11-26 13:08:41.000000000","message":"Whitespace.","commit_id":"32349adeccea0a2812e4ee04d648717cb6de0d2c"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"4e75ef5c6826d3c8623b62d9d3c6b0a4982b3ad9","unresolved":false,"context_lines":[{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":" vdu1:"},{"line_number":61,"context_line":"   vm_image: \u003cURL\u003e or \u003cGlance image name\u003e"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   host:"},{"line_number":64,"context_line":"     properties:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_da0670cd","line":61,"updated":"2015-11-27 03:46:36.000000000","message":"we need more properties, or metadata for glance.","commit_id":"32349adeccea0a2812e4ee04d648717cb6de0d2c"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"a0bc1cadbecf9e602df1b5aba3b1a68aca83cad4","unresolved":false,"context_lines":[{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":" vdu1:"},{"line_number":61,"context_line":"   vm_image: \u003cURL\u003e or \u003cGlance image name\u003e"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   host:"},{"line_number":64,"context_line":"     properties:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_93c3f388","line":61,"in_reply_to":"9a8ffd7b_da0670cd","updated":"2015-11-27 06:53:07.000000000","message":"Yes, agreed. We need to have disk and container formats for glance image creation. But those are not yet supported http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/TOSCA-Simple-Profile-YAML-v1.0.html refer 5.3.3.4.2 section.","commit_id":"32349adeccea0a2812e4ee04d648717cb6de0d2c"},{"author":{"_account_id":18401,"name":"Luka Krajger","email":"luka.krajger@gmail.com","username":"KLuka"},"change_message_id":"261292c7513a2484025ea59ce3757f6410959d26","unresolved":false,"context_lines":[{"line_number":74,"context_line":"--------------------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Template Changes"},{"line_number":77,"context_line":"~~~~~~~~~~~~~~~~ "},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"network_interfaces:"},{"line_number":80,"context_line":"    management:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_a1c365ec","line":77,"updated":"2015-11-26 13:08:41.000000000","message":"Whitespace.","commit_id":"32349adeccea0a2812e4ee04d648717cb6de0d2c"},{"author":{"_account_id":18401,"name":"Luka Krajger","email":"luka.krajger@gmail.com","username":"KLuka"},"change_message_id":"261292c7513a2484025ea59ce3757f6410959d26","unresolved":false,"context_lines":[{"line_number":90,"context_line":"The other major change this blueprint introduces is statefulness of the VNFD."},{"line_number":91,"context_line":"The possible states for the VNFD are discussed below:"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"PENDING_CREATE: Tacker VNFD creation is in progress and creating the openstack "},{"line_number":94,"context_line":"resources."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"ACTIVE: VNFD creation is done, created all openstack resources."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_21b0d589","line":93,"updated":"2015-11-26 13:08:41.000000000","message":"Whitespace.","commit_id":"32349adeccea0a2812e4ee04d648717cb6de0d2c"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"4e75ef5c6826d3c8623b62d9d3c6b0a4982b3ad9","unresolved":false,"context_lines":[{"line_number":156,"context_line":"  plugin."},{"line_number":157,"context_line":"* Add novaclient and add support for automatic flavor creation."},{"line_number":158,"context_line":"* Add glanceclient and add support for automatic image creation."},{"line_number":159,"context_line":"* Add neutronclient and add support for automatic network creation."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Dependencies"},{"line_number":162,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_1a18781d","line":159,"updated":"2015-11-27 03:46:36.000000000","message":"can we use heat to create?","commit_id":"32349adeccea0a2812e4ee04d648717cb6de0d2c"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"a0bc1cadbecf9e602df1b5aba3b1a68aca83cad4","unresolved":false,"context_lines":[{"line_number":156,"context_line":"  plugin."},{"line_number":157,"context_line":"* Add novaclient and add support for automatic flavor creation."},{"line_number":158,"context_line":"* Add glanceclient and add support for automatic image creation."},{"line_number":159,"context_line":"* Add neutronclient and add support for automatic network creation."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Dependencies"},{"line_number":162,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_335327e4","line":159,"in_reply_to":"9a8ffd7b_1a18781d","updated":"2015-11-27 06:53:07.000000000","message":"But we are avoiding more heat code in tacker.","commit_id":"32349adeccea0a2812e4ee04d648717cb6de0d2c"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"48ae1230c03c6b6f1fa28bc664f914a81e4137f1","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            mem_size: 2048 MB"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"When the user give host properties, Tacker will create a new flavor with those"},{"line_number":48,"context_line":"details and add the entry `instance_type` to the VNFD. So that the tacker can"},{"line_number":49,"context_line":"handle existing approach of specifying `instance_type` and host properties also."},{"line_number":50,"context_line":"Tacker will handle three minimum host properties like \u0027disk_size\u0027 and \u0027num_cpus\u0027"},{"line_number":51,"context_line":"and \u0027mem_size\u0027. To refer the other properties, refer[1]."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_83c005e2","line":48,"updated":"2015-12-01 07:57:18.000000000","message":"does this mean the user provided template will be modified to have the entry instance_type \u003cnew_flavor\u003e in stead of host option under vdu1 once the new flavor is successfully created?. are we going to store the modified template in the devicetemplateattributes table?","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"7e767dbd970b78d4142798f97614c44409b00a50","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            mem_size: 2048 MB"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"When the user give host properties, Tacker will create a new flavor with those"},{"line_number":48,"context_line":"details and add the entry `instance_type` to the VNFD. So that the tacker can"},{"line_number":49,"context_line":"handle existing approach of specifying `instance_type` and host properties also."},{"line_number":50,"context_line":"Tacker will handle three minimum host properties like \u0027disk_size\u0027 and \u0027num_cpus\u0027"},{"line_number":51,"context_line":"and \u0027mem_size\u0027. To refer the other properties, refer[1]."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a710552_68ab4dd7","line":48,"in_reply_to":"9a8ffd7b_627fdf66","updated":"2015-12-16 00:34:44.000000000","message":"Essentially what we store in db is the modified template of what user would have originally provided as an input.\n\nReg. adding \u0027instance_type\u0027 to template dict to modify less code\u0027 can you please elaborate?","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"f37fb20a321556d288d722df30bd594dfa1a2533","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            mem_size: 2048 MB"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"When the user give host properties, Tacker will create a new flavor with those"},{"line_number":48,"context_line":"details and add the entry `instance_type` to the VNFD. So that the tacker can"},{"line_number":49,"context_line":"handle existing approach of specifying `instance_type` and host properties also."},{"line_number":50,"context_line":"Tacker will handle three minimum host properties like \u0027disk_size\u0027 and \u0027num_cpus\u0027"},{"line_number":51,"context_line":"and \u0027mem_size\u0027. To refer the other properties, refer[1]."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_627fdf66","line":48,"in_reply_to":"9a8ffd7b_83c005e2","updated":"2015-12-02 16:56:37.000000000","message":"Yes, we are storing all created resources in devicetemplateattributes table. But I thought of adding \u0027instance_type\u0027 to template dict to modify less code in create functionality.","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"49e08c466f5d28477457e3e20799a1f7efabaf85","unresolved":false,"context_lines":[{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":" vdu1:"},{"line_number":61,"context_line":"   vm_image: \u003cURL\u003e or \u003cGlance image name\u003e"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   host:"},{"line_number":64,"context_line":"     properties:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_5ab8c5e5","line":61,"updated":"2015-12-01 02:28:43.000000000","message":"Based on [1], I just learnt the correct TOSCA syntax for images is,\n\nvdu1:\n  artifacts:\n     nat_router_image:\n        type: tosca.artifacts.Deployment.Image.VM.QCOW2\n        file: http://filer/vnf/vRouterVNF.qcow2\n\n\nIf both type: and file: are unspecified we can lookup the image name \"nat_router_image\" in glance.\n\n[1] http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/csprd01/TOSCA-Simple-Profile-YAML-v1.0-csprd01.html#_Toc430015674","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"48ae1230c03c6b6f1fa28bc664f914a81e4137f1","unresolved":false,"context_lines":[{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":" vdu1:"},{"line_number":61,"context_line":"   vm_image: \u003cURL\u003e or \u003cGlance image name\u003e"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   host:"},{"line_number":64,"context_line":"     properties:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_b947764a","line":61,"updated":"2015-12-01 07:57:18.000000000","message":"is the vm_image going to be public for all users?","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"7e767dbd970b78d4142798f97614c44409b00a50","unresolved":false,"context_lines":[{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":" vdu1:"},{"line_number":61,"context_line":"   vm_image: \u003cURL\u003e or \u003cGlance image name\u003e"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   host:"},{"line_number":64,"context_line":"     properties:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a710552_8841d90d","line":61,"in_reply_to":"9a8ffd7b_4cd1b2cc","updated":"2015-12-16 00:34:44.000000000","message":"Agree","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"84d1334da184bcf1d98957afc4b3cd5313241e75","unresolved":false,"context_lines":[{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":" vdu1:"},{"line_number":61,"context_line":"   vm_image: \u003cURL\u003e or \u003cGlance image name\u003e"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   host:"},{"line_number":64,"context_line":"     properties:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_4cd1b2cc","line":61,"in_reply_to":"9a8ffd7b_b947764a","updated":"2015-12-02 00:39:30.000000000","message":"For now we can get away by parking all this in \u0027tacker\u0027 service tenant and making it available for \u0027tacker\u0027 user. \n\nI think we eventually need to introduce a nfv-user-group and have it exposed to those users part of that privileged user group ?","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"48ae1230c03c6b6f1fa28bc664f914a81e4137f1","unresolved":false,"context_lines":[{"line_number":81,"context_line":"      network: net_mgmt"},{"line_number":82,"context_line":"      management: true"},{"line_number":83,"context_line":"      cidr: 10.0.0.0/24"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"In this modified template, users can specify the CIDR of the network, they want"},{"line_number":86,"context_line":"to deploy VNF. If the user specify the CIDR and not the network_id, tacker will"},{"line_number":87,"context_line":"automatically create network and corresponding subnet. Refer [2] for the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_3913860f","line":84,"updated":"2015-12-01 07:57:18.000000000","message":"how do we specify the network type and provider network mappings?","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"f37fb20a321556d288d722df30bd594dfa1a2533","unresolved":false,"context_lines":[{"line_number":81,"context_line":"      network: net_mgmt"},{"line_number":82,"context_line":"      management: true"},{"line_number":83,"context_line":"      cidr: 10.0.0.0/24"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"In this modified template, users can specify the CIDR of the network, they want"},{"line_number":86,"context_line":"to deploy VNF. If the user specify the CIDR and not the network_id, tacker will"},{"line_number":87,"context_line":"automatically create network and corresponding subnet. Refer [2] for the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_068b5a69","line":84,"in_reply_to":"9a8ffd7b_3913860f","updated":"2015-12-02 16:56:37.000000000","message":"we can specify network type using \u0027network_type\u0027 as mentioned here: http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/csprd01/TOSCA-Simple-Profile-YAML-v1.0-csprd01.html#_Toc430015804","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":16511,"name":"Bob Haddleton","email":"bob.haddleton@nokia.com","username":"bobh"},"change_message_id":"5c8d715d033624cc7fc35200c5657f5d35ad48b1","unresolved":false,"context_lines":[{"line_number":85,"context_line":"In this modified template, users can specify the CIDR of the network, they want"},{"line_number":86,"context_line":"to deploy VNF. If the user specify the CIDR and not the network_id, tacker will"},{"line_number":87,"context_line":"automatically create network and corresponding subnet. Refer [2] for the"},{"line_number":88,"context_line":"properties the tacker will support in network_interfaces."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The other major change this blueprint introduces is statefulness of the VNFD."},{"line_number":91,"context_line":"The possible states for the VNFD are discussed below:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_94f041cb","line":88,"updated":"2015-12-01 04:17:45.000000000","message":"There may be an issue with creating networks at VNFD-create time.  When there are multiple deployments of a single VNFD, all of the VNF instances would shared the pre-created networks.  This may be desirable for external/public networks for signaling and OAM, but it may NOT be desirable for internal networks between the VMs of a single VNF that should not be shared between deployments.  There should be a way to specify whether a specific network should be created with the VNFD or with each VNF, using existing Heat functionality.","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"f37fb20a321556d288d722df30bd594dfa1a2533","unresolved":false,"context_lines":[{"line_number":85,"context_line":"In this modified template, users can specify the CIDR of the network, they want"},{"line_number":86,"context_line":"to deploy VNF. If the user specify the CIDR and not the network_id, tacker will"},{"line_number":87,"context_line":"automatically create network and corresponding subnet. Refer [2] for the"},{"line_number":88,"context_line":"properties the tacker will support in network_interfaces."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The other major change this blueprint introduces is statefulness of the VNFD."},{"line_number":91,"context_line":"The possible states for the VNFD are discussed below:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_06503ad3","line":88,"in_reply_to":"9a8ffd7b_94f041cb","updated":"2015-12-02 16:56:37.000000000","message":"As discussed on this issue over IRC, we gonna create networks at VNF creation time.","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"84d1334da184bcf1d98957afc4b3cd5313241e75","unresolved":false,"context_lines":[{"line_number":85,"context_line":"In this modified template, users can specify the CIDR of the network, they want"},{"line_number":86,"context_line":"to deploy VNF. If the user specify the CIDR and not the network_id, tacker will"},{"line_number":87,"context_line":"automatically create network and corresponding subnet. Refer [2] for the"},{"line_number":88,"context_line":"properties the tacker will support in network_interfaces."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The other major change this blueprint introduces is statefulness of the VNFD."},{"line_number":91,"context_line":"The possible states for the VNFD are discussed below:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_8c31da0d","line":88,"in_reply_to":"9a8ffd7b_94f041cb","updated":"2015-12-02 00:39:30.000000000","message":"Excellent gotcha! They way I envision this feature will be used *ONLY* for internal networks (internal-virtual-links in ETSI lingo) and the ip-address range will be parameterized during instantiation. \n\nPerhaps it make sense to take this up during VNF creation time ?","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"49e08c466f5d28477457e3e20799a1f7efabaf85","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    \u0027network\u0027: \u003cUUID\u003e"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"}"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"REST API impact"},{"line_number":122,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_9abaadbf","line":119,"updated":"2015-12-01 02:28:43.000000000","message":"If tacker is not creating these resource instead referring to existing flavor, network or glance image how do we anticipate to populate this ? Will we query these objects from nova, neutron and glance to populate here or will be leave it empty ?\n\nOn the naming, I\u0027d call it \u0027vdu_resources\u0027 instead of \u0027created_resources\u0027.","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"f37fb20a321556d288d722df30bd594dfa1a2533","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    \u0027network\u0027: \u003cUUID\u003e"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"}"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"REST API impact"},{"line_number":122,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_e6ee56ec","line":119,"in_reply_to":"9a8ffd7b_9abaadbf","updated":"2015-12-02 16:56:37.000000000","message":"I will change the name to VDU_resources. This column will be empty if tacker doesn\u0027t create any resources. Otherwise it will be UUID of the resources.","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":16511,"name":"Bob Haddleton","email":"bob.haddleton@nokia.com","username":"bobh"},"change_message_id":"5c8d715d033624cc7fc35200c5657f5d35ad48b1","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    \u0027network\u0027: \u003cUUID\u003e"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"}"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"REST API impact"},{"line_number":122,"context_line":"---------------"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_34395542","line":120,"updated":"2015-12-01 04:17:45.000000000","message":"What happens if/when a created resource is in use even when all of the VNFs and the VNFD have been deleted?  Is it possible for other users to have access to the resources that have been created (like flavors)?","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"f37fb20a321556d288d722df30bd594dfa1a2533","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    \u0027network\u0027: \u003cUUID\u003e"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"}"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"REST API impact"},{"line_number":122,"context_line":"---------------"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_467ba228","line":120,"in_reply_to":"9a8ffd7b_34395542","updated":"2015-12-02 16:56:37.000000000","message":"Except for networks, we can delete other resources even if it is associated with the instance,","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"84d1334da184bcf1d98957afc4b3cd5313241e75","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    \u0027network\u0027: \u003cUUID\u003e"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"}"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"REST API impact"},{"line_number":122,"context_line":"---------------"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_4c121264","line":120,"in_reply_to":"9a8ffd7b_34395542","updated":"2015-12-02 00:39:30.000000000","message":"I thought we are going to name these resources with long, nasty looking names with _tacker_ and _donot_use_ sub-strings in it ;-)","commit_id":"6ab0ef27b96aa07c767030e5e2faecac198101a9"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"1d0bb5b420273b8c514c29568d33dd50085d719b","unresolved":false,"context_lines":[{"line_number":85,"context_line":"In this modified template, users can specify the CIDR of the network, they want"},{"line_number":86,"context_line":"to deploy VNF. If the user specify the CIDR and not the network_id, tacker will"},{"line_number":87,"context_line":"automatically create network and corresponding subnet. Refer [2] for the"},{"line_number":88,"context_line":"properties the tacker will support in network_interfaces. For the nwtworks, tacker"},{"line_number":89,"context_line":"will create the network resources at VNF creation time using heat code. So we are not"},{"line_number":90,"context_line":"storing the network details as network resources are associated with heat stack details."},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_c57fc364","line":88,"updated":"2015-12-05 15:33:00.000000000","message":"s/nwtworks/networks/","commit_id":"0674f4e1fc390d4053afd5e7426849480f6d9de2"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"32049f1ffd4149446e30fb564ef38206f888731c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        properties:"},{"line_number":43,"context_line":"            disk_size: 10 GB"},{"line_number":44,"context_line":"            num_cpus: 1"},{"line_number":45,"context_line":"            mem_size: 2048 MB"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"When the user give host properties, Tacker will create a new flavor with those"},{"line_number":48,"context_line":"details and add the entry `instance_type` to the VNFD. So that the tacker can"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a710552_e72e90f9","line":45,"updated":"2015-12-16 00:28:59.000000000","message":"Suppose this combination already exists in flavor list, will this end up mapping to existing one or create a duplicate flavor?\n\nWhat will be the naming convention followed for creating new instance_types? Will this be provided by the user?","commit_id":"4f84e1fbea7b5321753867672aab38be46b7a027"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"ae56acd39f575f7978b51334619bf2704c087c50","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            mem_size: 2048 MB"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"When the user give host properties, Tacker will create a new flavor with those"},{"line_number":48,"context_line":"details and add the entry `instance_type` to the VNFD. So that the tacker can"},{"line_number":49,"context_line":"handle existing approach of specifying `instance_type` and host properties also."},{"line_number":50,"context_line":"Tacker will handle three minimum host properties like \u0027disk_size\u0027 and \u0027num_cpus\u0027"},{"line_number":51,"context_line":"and \u0027mem_size\u0027. To refer the other properties, refer[1]."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a710552_82e8da7d","line":48,"updated":"2015-12-15 23:49:20.000000000","message":"Just realized, given we also support template parameterization some of these values potentially won\u0027t be available during VNFD creation time. I think we need to defer even this to vnf creation time :(","commit_id":"4f84e1fbea7b5321753867672aab38be46b7a027"},{"author":{"_account_id":18186,"name":"Denis Makogon","username":"denismakogon","inactive":true},"change_message_id":"f53cb4013df2c73d58591cc5eea3a5691c8afc77","unresolved":false,"context_lines":[{"line_number":58,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":" vdu1:"},{"line_number":61,"context_line":"   vm_image: \u003cURL\u003e or \u003cGlance image name\u003e"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   host:"},{"line_number":64,"context_line":"     properties:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a740942_7a2e3044","line":61,"updated":"2015-12-14 13:25:57.000000000","message":"Glance provides tons of image properties that are necessary for image creating, so it does seem to be a very good thing if there will be an ability to mention all of them within template.","commit_id":"4f84e1fbea7b5321753867672aab38be46b7a027"},{"author":{"_account_id":18186,"name":"Denis Makogon","username":"denismakogon","inactive":true},"change_message_id":"f53cb4013df2c73d58591cc5eea3a5691c8afc77","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"In the modified template, users can either specify the URL for the VM image or"},{"line_number":70,"context_line":"glance image name. Tacker will temporarily download and upload the image to"},{"line_number":71,"context_line":"glance."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Automatic Network Creation"},{"line_number":74,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a740942_df70760a","line":71,"updated":"2015-12-14 13:25:57.000000000","message":"Great, but there are couple questions:\n* Who is the resource owner?\n* Why should Taker download image? FYI Glance-client does have parameter that allows to point into remote storage why creating an image entity:\n\n --location \u003cIMAGE_URL\u003e\n                    URL where the data for this image already\n                    resides. For example, if the image data is\n                    stored in swift, you could specify\n                    \u0027swift://account:key@example.com/container/obj\u0027","commit_id":"4f84e1fbea7b5321753867672aab38be46b7a027"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"ae56acd39f575f7978b51334619bf2704c087c50","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"In the modified template, users can either specify the URL for the VM image or"},{"line_number":70,"context_line":"glance image name. Tacker will temporarily download and upload the image to"},{"line_number":71,"context_line":"glance."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Automatic Network Creation"},{"line_number":74,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a710552_07563cd2","line":71,"in_reply_to":"7a740942_df70760a","updated":"2015-12-15 23:49:20.000000000","message":"Agree, tacker should avoid directly downloading the image, instead use remote image-url feature of glance.","commit_id":"4f84e1fbea7b5321753867672aab38be46b7a027"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"32049f1ffd4149446e30fb564ef38206f888731c","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    management:"},{"line_number":81,"context_line":"      network: net_mgmt"},{"line_number":82,"context_line":"      management: true"},{"line_number":83,"context_line":"      cidr: 10.0.0.0/24"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"In this modified template, users can specify the CIDR of the network, they want"},{"line_number":86,"context_line":"to deploy VNF. If the user specify the CIDR and not the network_id, tacker will"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a710552_4d78e3c4","line":83,"updated":"2015-12-16 00:28:59.000000000","message":"suppose the same network properties are set for each of vdus\u0027 in a multi-vdu template, will this end up creating duplicate networks for each of the vdus even though the intention is to attach vdus to the same network. Neutron will not complain if same network/cidr property is provided for each of the vdus and will create new networks for each of the requests","commit_id":"4f84e1fbea7b5321753867672aab38be46b7a027"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"ae56acd39f575f7978b51334619bf2704c087c50","unresolved":false,"context_lines":[{"line_number":87,"context_line":"automatically create network and corresponding subnet. Refer [2] for the"},{"line_number":88,"context_line":"properties the tacker will support in network_interfaces. For the networks, tacker"},{"line_number":89,"context_line":"will create the network resources at VNF creation time using heat code. So we are not"},{"line_number":90,"context_line":"storing the network details as network resources are associated with heat stack details."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"The other major change this blueprint introduces is statefulness of the VNFD."},{"line_number":93,"context_line":"The possible states for the VNFD are discussed below:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a710552_c2882225","line":90,"updated":"2015-12-15 23:49:20.000000000","message":"We should consider switching to TOSCA / MANO VirtualLink and ConnectionPoint semantics here,\n\nnet_mgmt:\n    type: tosca.nodes.nfv.VL.ELAN\n    properties:\n        ip_version: [4, 6]\n        cidr: \u003cip\u003e\n        gateway_ip: \u003cip\u003e\n        dhcp_enabled: [true|false]\n        segmentation_id: [vlan-id | gre-id]\n        network_type: [flat | vxlan | vlan | gre]\n        physical_network: [phynet1]\n        \n        \nCP11:   \n      type: tosca.nodes.nfv.CP\n      requirements:\n        - virtualbinding: vdu1\n        - virtualLink: net_mgmt","commit_id":"4f84e1fbea7b5321753867672aab38be46b7a027"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"32049f1ffd4149446e30fb564ef38206f888731c","unresolved":false,"context_lines":[{"line_number":104,"context_line":"Data model impact"},{"line_number":105,"context_line":"-----------------"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"The lifespan of the created resources is same as corresponding lifespan. For"},{"line_number":108,"context_line":"this tacker has to store the created resources details in devicetemplates table"},{"line_number":109,"context_line":"with a new column \u0027created_resources\u0027. The value of \u0027created_resources\u0027 will be"},{"line_number":110,"context_line":"the ID of created resources for example:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a710552_e21bde7e","line":107,"updated":"2015-12-16 00:28:59.000000000","message":"...corresponding lifespan of VNF","commit_id":"4f84e1fbea7b5321753867672aab38be46b7a027"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"32049f1ffd4149446e30fb564ef38206f888731c","unresolved":false,"context_lines":[{"line_number":145,"context_line":"---------------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"There won\u0027t be any changes in python-tackerclient."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Implementation"},{"line_number":151,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a710552_c874c19d","line":148,"updated":"2015-12-16 00:28:59.000000000","message":"python-tackerclient will display the status of VNFD CRUD to the user","commit_id":"4f84e1fbea7b5321753867672aab38be46b7a027"},{"author":{"_account_id":18186,"name":"Denis Makogon","username":"denismakogon","inactive":true},"change_message_id":"f53cb4013df2c73d58591cc5eea3a5691c8afc77","unresolved":false,"context_lines":[{"line_number":165,"context_line":"* Modify the calls of VNFD create, so that VNFD operations will be handled by"},{"line_number":166,"context_line":"  plugin."},{"line_number":167,"context_line":"* Add novaclient and add support for automatic flavor creation."},{"line_number":168,"context_line":"* Add glanceclient and add support for automatic image creation."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Dependencies"},{"line_number":171,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a740942_7a015004","line":168,"updated":"2015-12-14 13:25:57.000000000","message":"would new API allow users not just to create a VNFD but do full lifecycle (i.e CRUD operations on VNFD)?\n\nIf not i\u0027d recommend to re-consider it, because it bring less flexibity on adjusting VNFD for other VNF deployments for example:\n\n* I want to deploy a VNF using VNFD A(1 flavor A, 2 images)\n* I want to adjust VNFD A to make flavor A slightly bigger (in this case users should be able to modify VNFD A as i wish since it doesn\u0027t have that much effect within VNF lifycycle).\n\nI guess it is necessary to make VNFD deletion more complex in order to remove flavors and images.","commit_id":"4f84e1fbea7b5321753867672aab38be46b7a027"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"ae56acd39f575f7978b51334619bf2704c087c50","unresolved":false,"context_lines":[{"line_number":165,"context_line":"* Modify the calls of VNFD create, so that VNFD operations will be handled by"},{"line_number":166,"context_line":"  plugin."},{"line_number":167,"context_line":"* Add novaclient and add support for automatic flavor creation."},{"line_number":168,"context_line":"* Add glanceclient and add support for automatic image creation."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Dependencies"},{"line_number":171,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a710552_228fa6cd","line":168,"in_reply_to":"7a740942_7a015004","updated":"2015-12-15 23:49:20.000000000","message":"Template parameterization is a better way to achieve the scenario you ask here (for slight alternations). If your template differs too much, it is better to create a new template.","commit_id":"4f84e1fbea7b5321753867672aab38be46b7a027"},{"author":{"_account_id":12525,"name":"vishwanath jayaraman","email":"vishwanathj@hotmail.com","username":"vish"},"change_message_id":"3fcfdb868c019234ac89f4320e3a4a9379c66587","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Creating the custom openstack resources like flavors/networks/image is one"},{"line_number":14,"context_line":"of the requirement from the VNF vendors. This blueprint proposes to add the"},{"line_number":15,"context_line":"support for automatic resource creation while onboarding the VNFD in tacker."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a7b0d38_9727cc11","line":15,"updated":"2015-12-24 23:28:30.000000000","message":"Clarification requested: What is the compelling reason to create resources at VNFD on boarding time as compared at VNF instantiation time?","commit_id":"e911f116bf6098519d399b35880e041aa4c26c08"},{"author":{"_account_id":12525,"name":"vishwanath jayaraman","email":"vishwanathj@hotmail.com","username":"vish"},"change_message_id":"3fcfdb868c019234ac89f4320e3a4a9379c66587","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"In this modified template, users can specify the CIDR of the network, they want"},{"line_number":85,"context_line":"to deploy VNF. If the user specify the CIDR and not the network_id, tacker will"},{"line_number":86,"context_line":"automatically create network and corresponding subnet. Refer [2] for the"},{"line_number":87,"context_line":"properties the tacker will support in network_interfaces. For the networks, tacker"},{"line_number":88,"context_line":"will create the network resources at VNF creation time using heat code. So we are not"},{"line_number":89,"context_line":"storing the network details as network resources are associated with heat stack details."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a7b0d38_a7839e55","line":86,"updated":"2015-12-24 23:28:30.000000000","message":"How would this handle the case of a subnet with the specified CIDR already present?","commit_id":"e911f116bf6098519d399b35880e041aa4c26c08"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"19b9547195d00395d48c9f20f784d7e13601d374","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"In this modified template, users can specify the CIDR of the network, they want"},{"line_number":85,"context_line":"to deploy VNF. If the user specify the CIDR and not the network_id, tacker will"},{"line_number":86,"context_line":"automatically create network and corresponding subnet. Refer [2] for the"},{"line_number":87,"context_line":"properties the tacker will support in network_interfaces. For the networks, tacker"},{"line_number":88,"context_line":"will create the network resources at VNF creation time using heat code. So we are not"},{"line_number":89,"context_line":"storing the network details as network resources are associated with heat stack details."}],"source_content_type":"text/x-rst","patch_set":6,"id":"da6ed579_b3c55f5c","line":86,"in_reply_to":"1a7b0d38_a7839e55","updated":"2016-01-12 16:26:42.000000000","message":"@vishwanathj, we are creating a new network if CIDR is specified otherwise not. We can create  subnet with same CIDR in a new network.","commit_id":"e911f116bf6098519d399b35880e041aa4c26c08"},{"author":{"_account_id":12525,"name":"vishwanath jayaraman","email":"vishwanathj@hotmail.com","username":"vish"},"change_message_id":"3fcfdb868c019234ac89f4320e3a4a9379c66587","unresolved":false,"context_lines":[{"line_number":91,"context_line":"The other major change this blueprint introduces is statefulness of the VNFD."},{"line_number":92,"context_line":"The possible states for the VNFD are discussed below:"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"PENDING_CREATE: Tacker VNFD creation is in progress and creating the openstack"},{"line_number":95,"context_line":"resources."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"ACTIVE: VNFD creation is done, created all openstack resources."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a7b0d38_e791a69a","line":94,"updated":"2015-12-24 23:28:30.000000000","message":"How would the resource creation for parameterized templates be handled? In case of parameterized templates, the parameter values are supplied only at VNF creation time. I could be wrong but I do not see any benefit in making VNFD stateful. However, would appreciate any clarification though. I do  see a benefit of parsing the VNFD, validating it for syntax and keyword correctness and marking it as Validated.","commit_id":"e911f116bf6098519d399b35880e041aa4c26c08"},{"author":{"_account_id":12525,"name":"vishwanath jayaraman","email":"vishwanathj@hotmail.com","username":"vish"},"change_message_id":"3fcfdb868c019234ac89f4320e3a4a9379c66587","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"The lifespan of the created resources is same as corresponding lifespan of VNF. For"},{"line_number":107,"context_line":"this tacker has to store the created resources details in devicetemplates table"},{"line_number":108,"context_line":"with a new column \u0027created_resources\u0027. The value of \u0027created_resources\u0027 will be"},{"line_number":109,"context_line":"the ID of created resources for example:"},{"line_number":110,"context_line":"created_resources \u003d {"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a7b0d38_27c6ce9a","line":108,"updated":"2015-12-24 23:28:30.000000000","message":"How will created_resources be handled when the VNFD template is partially parameterized and partially provided with hard coded values for some parameters/properties?","commit_id":"e911f116bf6098519d399b35880e041aa4c26c08"},{"author":{"_account_id":12525,"name":"vishwanath jayaraman","email":"vishwanathj@hotmail.com","username":"vish"},"change_message_id":"3fcfdb868c019234ac89f4320e3a4a9379c66587","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Modify the calls of VNFD create, so that VNFD operations will be handled by"},{"line_number":166,"context_line":"  plugin."},{"line_number":167,"context_line":"* Add novaclient and add support for automatic flavor creation."},{"line_number":168,"context_line":"* Add glanceclient and add support for automatic image creation."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a7b0d38_07bb920f","line":167,"updated":"2015-12-24 23:28:30.000000000","message":"Can we not leverage Heat for flavor  creation instead of using novaclient?","commit_id":"e911f116bf6098519d399b35880e041aa4c26c08"},{"author":{"_account_id":12525,"name":"vishwanath jayaraman","email":"vishwanathj@hotmail.com","username":"vish"},"change_message_id":"3fcfdb868c019234ac89f4320e3a4a9379c66587","unresolved":false,"context_lines":[{"line_number":165,"context_line":"* Modify the calls of VNFD create, so that VNFD operations will be handled by"},{"line_number":166,"context_line":"  plugin."},{"line_number":167,"context_line":"* Add novaclient and add support for automatic flavor creation."},{"line_number":168,"context_line":"* Add glanceclient and add support for automatic image creation."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Dependencies"},{"line_number":171,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a7b0d38_c73b4a9b","line":168,"updated":"2015-12-24 23:28:30.000000000","message":"Can we not leverage Heat for image creation instead of using heatclient?","commit_id":"e911f116bf6098519d399b35880e041aa4c26c08"},{"author":{"_account_id":19465,"name":"Bruce Thompson","email":"brucet@cisco.com","username":"brucetcisco"},"change_message_id":"0939fba4776d9c4f15832e06ffdeccd5c60379c3","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Proposed Change"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Introducing new host properties in VNFD template will give an initial pointer"},{"line_number":33,"context_line":"to provide the solution for the tacker. This spec will address the automatic"},{"line_number":34,"context_line":"creation of flavor, network and image."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"da6ed579_6adeca40","line":32,"updated":"2016-01-13 15:44:27.000000000","message":"All of the functionality described in this spec can be implemented in Heat using a Heat template. All of the VDU attributes described here can be included in a Tosca NFV profile template. The Tosca translator is responsible for taking a Tosca NFV profile template as input and generating a Heat template as an output. If you use the standard Tocsa artifacts, then we can have the Tosca parser should recognize the artifact. The code described here can then become part of the Generator for the Heat Translator. Heat will then be responsible for creating the images and networks required by a VDU.","commit_id":"14cc7f555971c601f30fff8bbdbace0aa48e90a5"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"1bd1d6ca5198cbd6163e63bd4236b7b8d8176de0","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Proposed Change"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Introducing new host properties in VNFD template will give an initial pointer"},{"line_number":33,"context_line":"to provide the solution for the tacker. This spec will address the automatic"},{"line_number":34,"context_line":"creation of flavor, network and image."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"da6ed579_83e49fac","line":32,"in_reply_to":"da6ed579_6adeca40","updated":"2016-01-16 17:06:45.000000000","message":"Agreed. But in my opinion and opinion from heat-translator folks, the goal of the heat-translator is to convert template of any format to HOT(for now it is supporting TOSCA). But not to create any resources directly. But as you said, we can just create those resources in HOT itself returned from heat-translator.","commit_id":"14cc7f555971c601f30fff8bbdbace0aa48e90a5"},{"author":{"_account_id":19465,"name":"Bruce Thompson","email":"brucet@cisco.com","username":"brucetcisco"},"change_message_id":"0939fba4776d9c4f15832e06ffdeccd5c60379c3","unresolved":false,"context_lines":[{"line_number":59,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":" vdu1:"},{"line_number":62,"context_line":"   vm_image: \u003cURL\u003e or \u003cGlance image name\u003e"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"   host:"},{"line_number":65,"context_line":"     properties:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da6ed579_8f96b0ee","line":62,"updated":"2016-01-13 15:44:27.000000000","message":"There is a an artifact type called \"Image\" in the Tosca Simple Profile spec. See section C.8.3.2 of http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/csd03/TOSCA-Simple-Profile-YAML-v1.0-csd03.pdf. For VM Images, see section D.1.2 of the same document.","commit_id":"14cc7f555971c601f30fff8bbdbace0aa48e90a5"},{"author":{"_account_id":12525,"name":"vishwanath jayaraman","email":"vishwanathj@hotmail.com","username":"vish"},"change_message_id":"5e03b482593d6b81c407024ae6825feb503b6a48","unresolved":false,"context_lines":[{"line_number":59,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":" vdu1:"},{"line_number":62,"context_line":"   vm_image: \u003cURL\u003e or \u003cGlance image name\u003e"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"   host:"},{"line_number":65,"context_line":"     properties:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da6ed579_e0adad84","line":62,"in_reply_to":"da6ed579_8f96b0ee","updated":"2016-01-14 20:47:48.000000000","message":"Clarification and some thoughts: Will there be an option to specify the image uuid as well. ?\nWhat will be the behavior if there are duplicate image names in the VIM?  Can we call that behavior out in the spec? if the behavior is that VNF creation will fail, it would still be good to call out here.\n\nAlso, there may be cases, where an end user may want to upload a newer version of the image with the same URL instead of a different URL, what would be the option for that? It may be OK to say that we may not support that in the first iteration of the implementation, but would be good to document and call out as a future item.\n\nAlso if you were to go with Option 1) discussed in Tacker IRC meeting this week. What would prevent an end user from still specifying a parameterized value? If value for image is parameterized, would the VNFD upload fail with a message to the user or  would it fail to instantiate the VNF and throw an error message? I prefer the former from an user experience perspective.  Would be good to document in the spec the initial limitations.\n\nIf we decide to support parameterization, I think it would be OK to set the end user expectation that providing image URL will result in creating a duplicate image in glance with every VNFD instantiation. We should add a note that to avoid such a scenario the end user is recommended to pre-create the image in VIM and use the uuid either in VNFD template or provide it as part of parameter values input.","commit_id":"14cc7f555971c601f30fff8bbdbace0aa48e90a5"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"1bd1d6ca5198cbd6163e63bd4236b7b8d8176de0","unresolved":false,"context_lines":[{"line_number":59,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":" vdu1:"},{"line_number":62,"context_line":"   vm_image: \u003cURL\u003e or \u003cGlance image name\u003e"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"   host:"},{"line_number":65,"context_line":"     properties:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da6ed579_562ae77f","line":62,"in_reply_to":"da6ed579_b22346a7","updated":"2016-01-16 17:06:45.000000000","message":"@Bruce,Thanks for the answers\nVishawanth, to summarize:\n* In this spec we are not disturbing any of the tacker\u0027s existing functionality(like handling duplicate image/flavor/network names. As it is handled by heat and return the stack status back to Tacker)\n* I think, tacker doesn\u0027t support vnfd-update, so we are not making it complex. But if we support that, we need to check it\u0027s md5sum or upload with out checking it, which ends in duplicate images in glance","commit_id":"14cc7f555971c601f30fff8bbdbace0aa48e90a5"},{"author":{"_account_id":19465,"name":"Bruce Thompson","email":"brucet@cisco.com","username":"brucetcisco"},"change_message_id":"5fd1889a184c6a59cbd4e9096c60645db239fd73","unresolved":false,"context_lines":[{"line_number":59,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":" vdu1:"},{"line_number":62,"context_line":"   vm_image: \u003cURL\u003e or \u003cGlance image name\u003e"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"   host:"},{"line_number":65,"context_line":"     properties:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da6ed579_b22346a7","line":62,"in_reply_to":"da6ed579_e0adad84","updated":"2016-01-15 20:34:58.000000000","message":"Will there be an option to specify the image uuid as well. ?\n\n\u003cbrucet\u003e Heat allows the specification of either an image name or ID in the template. I don\u0027t think this capability exists in Tosca NFV since it is not OpenStack specific. I have been assuming that the Tacker architecture will allow either a Tosca NFV or a Heat template for NFV orchestration. I don\u0027 think there is anything in the Tacker architecture that precludes this so far.\n\n\nWhat will be the behavior if there are duplicate image names in the VIM?  Can we call that behavior out in the spec? if the behavior is that VNF creation will fail, it would still be good to call out here.\n\n\u003cbrucet\u003e The behavior will be defined by the Heat engine. The Heat engine has the ability to roll back all state at any point during the execution of a Heat template. So if an error occurs during the creation of a stack, all intermediate state will be rolled back and the CreateStack() call will return an error.\n\nAlso, there may be cases, where an end user may want to upload a newer version of the image with the same URL instead of a different URL, what would be the option for that? It may be OK to say that we may not support that in the first iteration of the implementation, but would be good to document and call out as a future item.\n\n\u003cbrucet\u003e In Heat, this type of operation is called a stack update. I assume that stack updates will be out of scope for this release of Tacker.\n\nAlso if you were to go with Option 1) discussed in Tacker IRC meeting this week. What would prevent an end user from still specifying a parameterized value? If value for image is parameterized, would the VNFD upload fail with a message to the user or  would it fail to instantiate the VNF and throw an error message? I prefer the former from an user experience perspective.  Would be good to document in the spec the initial limitations.\n\n\u003cbrucet\u003e Here again, the behavior is determined by the Heat Engine. A Heat template definitely supports passing parameters to the template. I believe a Tosca template supports parameters as well. If the parameters passed into a template result in an error, Heat will roll back the stack and report the error.\n\nIf we decide to support parameterization, I think it would be OK to set the end user expectation that providing image URL will result in creating a duplicate image in glance with every VNFD instantiation. We should add a note that to avoid such a scenario the end user is recommended to pre-create the image in VIM and use the uuid either in VNFD template or provide it as part of parameter values input.\n\n\u003cbrucet\u003e Heat templates can reference / manage images in Glance using the OS::Glance::Image resource in the template. The Image resource can be used to load / overwrite an image in Glance.","commit_id":"14cc7f555971c601f30fff8bbdbace0aa48e90a5"},{"author":{"_account_id":19465,"name":"Bruce Thompson","email":"brucet@cisco.com","username":"brucetcisco"},"change_message_id":"0939fba4776d9c4f15832e06ffdeccd5c60379c3","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Template Changes"},{"line_number":77,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"network_interfaces:"},{"line_number":80,"context_line":"    management:"},{"line_number":81,"context_line":"      network: net_mgmt"},{"line_number":82,"context_line":"      management: true"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da6ed579_85b451d1","line":79,"updated":"2016-01-13 15:44:27.000000000","message":"In the Tosca NFV spec, VDU interfaces are modeled as Connection Points (tosca.nodes.nfv.CP). A connection point can include an IP address attribute. See section 8.4.3 of the Tosca NFV profile spec.","commit_id":"14cc7f555971c601f30fff8bbdbace0aa48e90a5"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"1bd1d6ca5198cbd6163e63bd4236b7b8d8176de0","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Template Changes"},{"line_number":77,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"network_interfaces:"},{"line_number":80,"context_line":"    management:"},{"line_number":81,"context_line":"      network: net_mgmt"},{"line_number":82,"context_line":"      management: true"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da6ed579_d66497e6","line":79,"in_reply_to":"da6ed579_85b451d1","updated":"2016-01-16 17:06:45.000000000","message":"I will update the network and image templates nomenclature in next patchset","commit_id":"14cc7f555971c601f30fff8bbdbace0aa48e90a5"},{"author":{"_account_id":12525,"name":"vishwanath jayaraman","email":"vishwanathj@hotmail.com","username":"vish"},"change_message_id":"5e03b482593d6b81c407024ae6825feb503b6a48","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"In this modified template, users can specify the CIDR of the network, they want"},{"line_number":86,"context_line":"to deploy VNF. If the user specify the CIDR and not the network_id, tacker will"},{"line_number":87,"context_line":"automatically create network and corresponding subnet. Refer [2] for the"},{"line_number":88,"context_line":"properties the tacker will support in network_interfaces. For the networks, tacker"},{"line_number":89,"context_line":"will create the network resources at VNF creation time using heat code. So we are not"},{"line_number":90,"context_line":"storing the network details as network resources are associated with heat stack details."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da6ed579_0a53373a","line":87,"updated":"2016-01-14 20:47:48.000000000","message":"FYI \u0026 Suggestion: Neutron allows you to create a duplicate network with the same CIDR and allocation pools. However, when those networks are attached to a router, an error is generated. At implementation time, it maybe a good idea to check if a network with the same subnet CIDR exists before a new one is created.","commit_id":"14cc7f555971c601f30fff8bbdbace0aa48e90a5"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"1bd1d6ca5198cbd6163e63bd4236b7b8d8176de0","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"In this modified template, users can specify the CIDR of the network, they want"},{"line_number":86,"context_line":"to deploy VNF. If the user specify the CIDR and not the network_id, tacker will"},{"line_number":87,"context_line":"automatically create network and corresponding subnet. Refer [2] for the"},{"line_number":88,"context_line":"properties the tacker will support in network_interfaces. For the networks, tacker"},{"line_number":89,"context_line":"will create the network resources at VNF creation time using heat code. So we are not"},{"line_number":90,"context_line":"storing the network details as network resources are associated with heat stack details."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da6ed579_56d42746","line":87,"in_reply_to":"da6ed579_0a53373a","updated":"2016-01-16 17:06:45.000000000","message":"As we discussed in the last patchset, we can have subnets with same CIDR, but as you said we can get a problem when we connect to router. But not sure how to validate this case.We will discuss on this next meeting.","commit_id":"14cc7f555971c601f30fff8bbdbace0aa48e90a5"},{"author":{"_account_id":19465,"name":"Bruce Thompson","email":"brucet@cisco.com","username":"brucetcisco"},"change_message_id":"0939fba4776d9c4f15832e06ffdeccd5c60379c3","unresolved":false,"context_lines":[{"line_number":89,"context_line":"will create the network resources at VNF creation time using heat code. So we are not"},{"line_number":90,"context_line":"storing the network details as network resources are associated with heat stack details."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"The other major change this blueprint introduces is statefulness of the VNFD."},{"line_number":93,"context_line":"The possible states for the VNFD are discussed below:"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"PENDING_CREATE: Tacker VNFD creation is in progress and creating the image."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da6ed579_6f3fbcd6","line":92,"updated":"2016-01-13 15:44:27.000000000","message":"If the functionality described in this document is implemented as part of the Tosca / Heat generator, then all of the states listed below will be internal to the Heat stack. The Heat engine will process the Heat template that is the result of the Tosca / Heat generator. Tacker will initiate the execution of the template by issuing a Heat create-stack() request.","commit_id":"14cc7f555971c601f30fff8bbdbace0aa48e90a5"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"3ff095919afb63923e560a81cfbdb9602e2ce493","unresolved":false,"context_lines":[{"line_number":59,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":" vdu1:"},{"line_number":62,"context_line":"   vm_image: \u003cURL\u003e or \u003cGlance image name\u003e"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"   host:"},{"line_number":65,"context_line":"     properties:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a68dd71_d491a19a","line":62,"updated":"2016-01-22 00:14:19.000000000","message":"Please see my review in PatchSet# 3 [1]. I\u0027m repeating it here again,\n\nvdu1:\n\n  artifacts:\n     vm_image:\n        type: tosca.artifacts.Deployment.Image.VM\n        file: http://filer/vnf/vRouterVNF.qcow2\n\nFile could be either an URI to download into glance and just the glance image name.\n\n\n[1] https://review.openstack.org/#/c/250291/3/specs/mitaka/automatic-resource-creation.rst,unified\n\n[2] http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/csprd01/TOSCA-Simple-Profile-YAML-v1.0-csprd01.html#_Toc430015674","commit_id":"be37dc26130c19368961c8652f444e66c189b564"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"3ff095919afb63923e560a81cfbdb9602e2ce493","unresolved":false,"context_lines":[{"line_number":87,"context_line":"3)Provide parametrization and upload images at the time of VNF creation."},{"line_number":88,"context_line":"Here we can parametrize the `vm_image`. With this option, tacker will upload the image everytime"},{"line_number":89,"context_line":"we instantiate the VNF(multiple images for same VNFD). We can remove statefulness of VNFD with this"},{"line_number":90,"context_line":"option, but eats a lot of glance image space."},{"line_number":91,"context_line":" "},{"line_number":92,"context_line":"Automatic Network Creation"},{"line_number":93,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a68dd71_14a5f9a0","line":90,"updated":"2016-01-22 00:14:19.000000000","message":"Thanks for capturing various options and their pros / cons. Can you clarify which one are you proposing to implement in this spec ? My understanding is (1)  ?\n\nFor the record, I really like the CSAR bundle. We should get to CSAR zip file support soon immediately after landing this implementation.","commit_id":"be37dc26130c19368961c8652f444e66c189b564"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"3ff095919afb63923e560a81cfbdb9602e2ce493","unresolved":false,"context_lines":[{"line_number":88,"context_line":"Here we can parametrize the `vm_image`. With this option, tacker will upload the image everytime"},{"line_number":89,"context_line":"we instantiate the VNF(multiple images for same VNFD). We can remove statefulness of VNFD with this"},{"line_number":90,"context_line":"option, but eats a lot of glance image space."},{"line_number":91,"context_line":" "},{"line_number":92,"context_line":"Automatic Network Creation"},{"line_number":93,"context_line":"--------------------------"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a68dd71_f4686589","line":91,"updated":"2016-01-22 00:14:19.000000000","message":"nit: spurious space char","commit_id":"be37dc26130c19368961c8652f444e66c189b564"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"3ff095919afb63923e560a81cfbdb9602e2ce493","unresolved":false,"context_lines":[{"line_number":95,"context_line":"Template Changes"},{"line_number":96,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"network_interfaces:"},{"line_number":99,"context_line":"    management:"},{"line_number":100,"context_line":"      network: net_mgmt"},{"line_number":101,"context_line":"      management: true"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a68dd71_34511d63","line":98,"updated":"2016-01-22 00:14:19.000000000","message":"This should be VirtualLink in NFV parlance, see [1], specifically tosca.nodes.nfv.VL.ELAN which in turn is derived from tosca.nodes.network.Network [2]\n\n\ninternal_datapath:\n    type: tosca.nodes.nfv.VL.ELAN\n    network_name: net_internal_dp\n    ip_version: 4\n    cidr: \u0027192.168.0.0/24\u0027\n    start_ip: \u0027192.168.0.50\u0027\n    end_ip: \u0027192.168.0.200\u0027\n    gateway_ip: \u0027192.168.0.1\u0027    \n\n[1] http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd02/tosca-nfv-v1.0-csd02.html#_Toc433298737\n\n[2] http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/csprd01/TOSCA-Simple-Profile-YAML-v1.0-csprd01.html#_Toc430015804","commit_id":"be37dc26130c19368961c8652f444e66c189b564"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"3ff095919afb63923e560a81cfbdb9602e2ce493","unresolved":false,"context_lines":[{"line_number":182,"context_line":"----------"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"* Modify the calls of VNFD create, so that VNFD operations will be handled by"},{"line_number":185,"context_line":"  plugin."},{"line_number":186,"context_line":"* Add glanceclient and add support for automatic image creation."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a68dd71_14b2d994","line":185,"updated":"2016-01-22 00:14:19.000000000","message":"Agree, introduce new abstract APIs for VNFD and implement the actual glance calls in heat driver (not in the plugin).","commit_id":"be37dc26130c19368961c8652f444e66c189b564"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"3ff095919afb63923e560a81cfbdb9602e2ce493","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"* Modify the calls of VNFD create, so that VNFD operations will be handled by"},{"line_number":185,"context_line":"  plugin."},{"line_number":186,"context_line":"* Add glanceclient and add support for automatic image creation."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Dependencies"},{"line_number":189,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a68dd71_546e1102","line":186,"updated":"2016-01-22 00:14:19.000000000","message":"Horizon need to changed to show the status of VNFD in pending state ?","commit_id":"be37dc26130c19368961c8652f444e66c189b564"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"91d5924e6f4f1e34284ca85dc8e9c4ba57a098f0","unresolved":false,"context_lines":[{"line_number":85,"context_line":"3)Provide parametrization and upload images at the time of VNF creation."},{"line_number":86,"context_line":"Here we can parametrize the `vm_image` attribute. With this option Tacker will create the image in"},{"line_number":87,"context_line":"glance at VNF deployment time(for the first time). Tacker will store created glance image name in"},{"line_number":88,"context_line":"the form of dictionary for future VNF deployments. In multisite VIM case, Tacker will always check for"},{"line_number":89,"context_line":"the existence of image using \"image_name\", if not found, then upload the image with the same name as in"},{"line_number":90,"context_line":"the dictionary."},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"dae33548_d3e674b3","line":88,"updated":"2016-02-16 06:34:40.000000000","message":"Is this dictionary associated with VNFD (deviceattibutes)  or VNF (device) ? Assuming VNFD, will the entries in this dictionary will ever be removed ? Assuming no, have you considered an extreme case where an unique URL is passed with every vnf-create. How would you handle such a situation ?","commit_id":"45e21185bfc552964ca84cef5e63acc2e111f988"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"735547e3700799f6f225f203e32da46042526ebc","unresolved":false,"context_lines":[{"line_number":85,"context_line":"3)Provide parametrization and upload images at the time of VNF creation."},{"line_number":86,"context_line":"Here we can parametrize the `vm_image` attribute. With this option Tacker will create the image in"},{"line_number":87,"context_line":"glance at VNF deployment time(for the first time). Tacker will store created glance image name in"},{"line_number":88,"context_line":"the form of dictionary for future VNF deployments. In multisite VIM case, Tacker will always check for"},{"line_number":89,"context_line":"the existence of image using \"image_name\", if not found, then upload the image with the same name as in"},{"line_number":90,"context_line":"the dictionary."},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"dae33548_f88b901c","line":88,"in_reply_to":"dae33548_d3e674b3","updated":"2016-02-16 08:18:53.000000000","message":"we store this dict in VNFD. This details will be removed only when there is no active VNF deployments of this VNFD(same case as removing VNFD entry)","commit_id":"45e21185bfc552964ca84cef5e63acc2e111f988"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"91d5924e6f4f1e34284ca85dc8e9c4ba57a098f0","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Flavor and network created while deploying VNF, will be removed automatically by heat at the"},{"line_number":122,"context_line":"deletion time. But in the case of image, Tacker will store the image name for every VNFD"},{"line_number":123,"context_line":"under \"created_resources\" column in \"devicetemplates\" table."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"created_resources \u003d {"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"dae33548_b37db0b3","line":123,"updated":"2016-02-16 06:34:40.000000000","message":"I\u0027d suggest you to store these images uploaded by Tacker in a separate db table and have \u0027devicetemplates\u0027 table refer to it.","commit_id":"45e21185bfc552964ca84cef5e63acc2e111f988"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"735547e3700799f6f225f203e32da46042526ebc","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Flavor and network created while deploying VNF, will be removed automatically by heat at the"},{"line_number":122,"context_line":"deletion time. But in the case of image, Tacker will store the image name for every VNFD"},{"line_number":123,"context_line":"under \"created_resources\" column in \"devicetemplates\" table."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"created_resources \u003d {"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"dae33548_f892704a","line":123,"in_reply_to":"dae33548_b37db0b3","updated":"2016-02-16 08:18:53.000000000","message":"That will be clean, but why do we need a whole table to store image attrs?","commit_id":"45e21185bfc552964ca84cef5e63acc2e111f988"},{"author":{"_account_id":16511,"name":"Bob Haddleton","email":"bob.haddleton@nokia.com","username":"bobh"},"change_message_id":"defc07e41b503e7804df8ccece9014562e5bd018","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Automatic Flavor Creation"},{"line_number":37,"context_line":"--------------------------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Template Changes"},{"line_number":40,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":41,"context_line":" vdu1:"},{"line_number":42,"context_line":"    host:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"bae84128_361d2c67","line":39,"updated":"2016-02-25 11:00:20.000000000","message":"The TOSCA-based templates will need a different format to support this feature.  It would look something like this:\n\ntopology_template:\n  node_templates:\n    my_server:\n      type: tosca.nodes.Compute\n      capabilities:\n        # Host container properties\n        host:\n         properties:\n           num_cpus: 2\n           disk_size: 10 GB\n           mem_size: 512 MB\n\nAlso when tosca-parser/heat-translator integration is complete, heat-translator will automatically try to find a flavor that is \"close\" to what is being requested by the capabilities.  So it might be necessary to strip this section out of the processed ToscaTemplate before it is passed to heat-translator, if you don\u0027t want heat-translator to \"guess\" at the flavor.\n\nAnother possibility would be to simply let heat-translator come up with a flavor and then overwrite it in the resulting HOT template - that might actually be easier.","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"6bd05704979ff86216e8db786781ffbd7d59618f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Automatic Flavor Creation"},{"line_number":37,"context_line":"--------------------------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Template Changes"},{"line_number":40,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":41,"context_line":" vdu1:"},{"line_number":42,"context_line":"    host:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9aed3d3a_f430b903","line":39,"in_reply_to":"bae84128_361d2c67","updated":"2016-02-26 17:45:31.000000000","message":"I will update the template changes for the flavor according to [1]\n\nAnd we are not using heat translator to find the flavor because AFAIK, it wont provide flavor details, if it doesn\u0027t match with any of the existing flavors.\n\n[1]https://github.com/openstack/heat-translator/blob/master/translator/tests/data/tosca_helloworld.yaml#L12","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":16511,"name":"Bob Haddleton","email":"bob.haddleton@nokia.com","username":"bobh"},"change_message_id":"defc07e41b503e7804df8ccece9014562e5bd018","unresolved":false,"context_lines":[{"line_number":49,"context_line":"details if heat-translator gives an empty flavor name at the VNF creation time"},{"line_number":50,"context_line":"by adding those details in heat template. Tacker will handle three minimum host"},{"line_number":51,"context_line":"properties like \u0027disk_size\u0027 and \u0027num_cpus\u0027 and \u0027mem_size\u0027. To refer the other"},{"line_number":52,"context_line":"properties, refer[1]."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Automatic Image Creation"}],"source_content_type":"text/x-rst","patch_set":12,"id":"bae84128_b6c93caf","line":52,"updated":"2016-02-25 11:00:20.000000000","message":"Probably should have some detail here about how the HOT template will be modified to include the new flavor creation - assuming you are doing with HOT and not with a nova call (better to do it with HOT)\n\nAlso need to specify how the name of the flavor will be derived - I would suggest maybe using the Compute resource name + \"_flavor\".  You may well end up creating multiple versions of the same flavor for a single VNFD, but since they aren\u0027t using resources and they will go away when the Heat stack is deleted, it won\u0027t matter.","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"6bd05704979ff86216e8db786781ffbd7d59618f","unresolved":false,"context_lines":[{"line_number":49,"context_line":"details if heat-translator gives an empty flavor name at the VNF creation time"},{"line_number":50,"context_line":"by adding those details in heat template. Tacker will handle three minimum host"},{"line_number":51,"context_line":"properties like \u0027disk_size\u0027 and \u0027num_cpus\u0027 and \u0027mem_size\u0027. To refer the other"},{"line_number":52,"context_line":"properties, refer[1]."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Automatic Image Creation"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9aed3d3a_efc5843c","line":52,"in_reply_to":"bae84128_b6c93caf","updated":"2016-02-26 17:45:31.000000000","message":"sure, will update.","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":16511,"name":"Bob Haddleton","email":"bob.haddleton@nokia.com","username":"bobh"},"change_message_id":"defc07e41b503e7804df8ccece9014562e5bd018","unresolved":false,"context_lines":[{"line_number":61,"context_line":" vdu1:"},{"line_number":62,"context_line":"    artifacts:"},{"line_number":63,"context_line":"     vm_image:"},{"line_number":64,"context_line":"        type: tosca.artifacts.Deployment.Image.VM"},{"line_number":65,"context_line":"        file: http://URL/vRouterVNF.qcow2"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"In the modified template, users can either specify the URL for the VM image or"}],"source_content_type":"text/x-rst","patch_set":12,"id":"bae84128_039389fb","line":64,"updated":"2016-02-25 11:00:20.000000000","message":"The TOSCA format for this will require an extension to the existing artifact definition because there are no location, name, etc properties associated with the current definition.\n\nSo the file vm/tosca/lib/tacker_defs.yaml will need something like this;\n\nartifact_types:\n  tosca.artifacts.Deployment.Image.VM.Tacker:\n    derived_from:\n      tosca.artifacts.Deployment.Image.VM\n    properties:\n      container_format:\n        type: string\n        description: Container format of image.\n        constraints:\n          - valid_values: [ami, ari, aki, bare, ova, ovf]\n        required: true\n      disk_format:\n        type: string\n        description: Disk format of image\n        constraints:\n          - valid_values: [ami, ari, aki, vhd, vmdk, raw, qcow2, vdi, iso]\n        required: true\n      location:\n        type: string\n        description: URL where the data for this image already resides. For example, if the image data is stored in swift, you could specify “swift://example.com/container/obj”.\n        required: true\n      id:\n        type: string\n        description: The image ID\n        required: false\n      is_public:\n        type: boolean\n        description: Scope of image accessibility. Public or private. Default value is False means private.\n        default: false\n        required: false\n      min_disk:\n        type: scalar-unit.size\n        description: Amount of disk space (in GB) required to boot image. Default value is 0 if not specified and means no limit on the disk size.\n        default: 0\n        required: false\n      min_ram:\n        type: scalar-unit.size\n        description: Amount of ram (in MB) required to boot image. Default value is 0 if not specified and means no limit on the ram size.\n        default: 0\n        required: false\n      name:\n        type: string\n        description: Name for the image.\n        required: false\n      protected:\n        type: boolean\n        description: Whether the image can be deleted. If the value is True, the image is protected and cannot be deleted.\n        default: false\n        required: false\n\nThat should provide all of the information needed to create the Image","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"6bd05704979ff86216e8db786781ffbd7d59618f","unresolved":false,"context_lines":[{"line_number":61,"context_line":" vdu1:"},{"line_number":62,"context_line":"    artifacts:"},{"line_number":63,"context_line":"     vm_image:"},{"line_number":64,"context_line":"        type: tosca.artifacts.Deployment.Image.VM"},{"line_number":65,"context_line":"        file: http://URL/vRouterVNF.qcow2"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"In the modified template, users can either specify the URL for the VM image or"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9aed3d3a_2a275ab7","line":64,"in_reply_to":"bae84128_039389fb","updated":"2016-02-26 17:45:31.000000000","message":"Need to clarify on this.","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":16511,"name":"Bob Haddleton","email":"bob.haddleton@nokia.com","username":"bobh"},"change_message_id":"defc07e41b503e7804df8ccece9014562e5bd018","unresolved":false,"context_lines":[{"line_number":85,"context_line":"3)Provide parametrization and upload images at the time of VNF creation."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Here we can parametrize the `vm_image` attribute. With this option Tacker will create the image in"},{"line_number":88,"context_line":"glance at VNF deployment time. Tacker will store created glance image name in the form of dictionary"},{"line_number":89,"context_line":"for future references."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"bae84128_a308dd2e","line":88,"updated":"2016-02-25 11:00:20.000000000","message":"I assume that this means the image will be created in Glance for the specified VIM the first time - and only the first time - that the VNF is created.  Subsequent deployments of the same VNF referencing the same image will use the image ID that was stored in the database.","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"6bd05704979ff86216e8db786781ffbd7d59618f","unresolved":false,"context_lines":[{"line_number":85,"context_line":"3)Provide parametrization and upload images at the time of VNF creation."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Here we can parametrize the `vm_image` attribute. With this option Tacker will create the image in"},{"line_number":88,"context_line":"glance at VNF deployment time. Tacker will store created glance image name in the form of dictionary"},{"line_number":89,"context_line":"for future references."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9aed3d3a_6a21629f","line":88,"in_reply_to":"bae84128_a308dd2e","updated":"2016-02-26 17:45:31.000000000","message":"No. For future references, I mean while deleting the VNF, we are going to use these IDs.\n\nWe are not storing images only for the first time, because of parametrization. If the user, launches another VNF with parametrization, they can use different images. So we are storing image IDs per VNF.","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":16511,"name":"Bob Haddleton","email":"bob.haddleton@nokia.com","username":"bobh"},"change_message_id":"defc07e41b503e7804df8ccece9014562e5bd018","unresolved":false,"context_lines":[{"line_number":126,"context_line":"{"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    \u0027vim_1\u0027: {"},{"line_number":129,"context_line":"        "},{"line_number":130,"context_line":"        \u0027vnf_1\u0027: {"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"            \u0027image_name\u0027: \u003cImage-ID\u003e,"}],"source_content_type":"text/x-rst","patch_set":12,"id":"bae84128_cbac1d38","line":129,"updated":"2016-02-25 11:00:20.000000000","message":"Spurious whitespace","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"6bd05704979ff86216e8db786781ffbd7d59618f","unresolved":false,"context_lines":[{"line_number":126,"context_line":"{"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    \u0027vim_1\u0027: {"},{"line_number":129,"context_line":"        "},{"line_number":130,"context_line":"        \u0027vnf_1\u0027: {"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"            \u0027image_name\u0027: \u003cImage-ID\u003e,"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9aed3d3a_749ae964","line":129,"in_reply_to":"bae84128_cbac1d38","updated":"2016-02-26 17:45:31.000000000","message":"Done","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":16511,"name":"Bob Haddleton","email":"bob.haddleton@nokia.com","username":"bobh"},"change_message_id":"defc07e41b503e7804df8ccece9014562e5bd018","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        "},{"line_number":130,"context_line":"        \u0027vnf_1\u0027: {"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"            \u0027image_name\u0027: \u003cImage-ID\u003e,"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"            \u0027image_name_1\u0027: \u003cImage-ID\u003e"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"bae84128_c6124f58","line":132,"updated":"2016-02-25 11:00:20.000000000","message":"Should this be Image Name?  How will a unique image name be derived?","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"6bd05704979ff86216e8db786781ffbd7d59618f","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        "},{"line_number":130,"context_line":"        \u0027vnf_1\u0027: {"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"            \u0027image_name\u0027: \u003cImage-ID\u003e,"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"            \u0027image_name_1\u0027: \u003cImage-ID\u003e"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9aed3d3a_b4a471a6","line":132,"in_reply_to":"bae84128_c6124f58","updated":"2016-02-26 17:45:31.000000000","message":"Here \"image_name\" is referring to name given to the image in oscaTemplate. I agree it is confusing. So I will update it with \"vdu_name\"?","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":16511,"name":"Bob Haddleton","email":"bob.haddleton@nokia.com","username":"bobh"},"change_message_id":"defc07e41b503e7804df8ccece9014562e5bd018","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    \u0027vim_2\u0027: {"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"        \u0027vnf_1\u0027: {"},{"line_number":143,"context_line":"        "},{"line_number":144,"context_line":"            \u0027image_name\u0027: \u003cImage-ID\u003e,"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"            \u0027image_name_1\u0027: \u003cImage-ID\u003e"}],"source_content_type":"text/x-rst","patch_set":12,"id":"bae84128_ebaf6129","line":143,"updated":"2016-02-25 11:00:20.000000000","message":"Spurious whitespace","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"6bd05704979ff86216e8db786781ffbd7d59618f","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    \u0027vim_2\u0027: {"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"        \u0027vnf_1\u0027: {"},{"line_number":143,"context_line":"        "},{"line_number":144,"context_line":"            \u0027image_name\u0027: \u003cImage-ID\u003e,"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"            \u0027image_name_1\u0027: \u003cImage-ID\u003e"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9aed3d3a_9485edae","line":143,"in_reply_to":"bae84128_ebaf6129","updated":"2016-02-26 17:45:31.000000000","message":"Done","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":16511,"name":"Bob Haddleton","email":"bob.haddleton@nokia.com","username":"bobh"},"change_message_id":"defc07e41b503e7804df8ccece9014562e5bd018","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"        \u0027vnf_1\u0027: {"},{"line_number":143,"context_line":"        "},{"line_number":144,"context_line":"            \u0027image_name\u0027: \u003cImage-ID\u003e,"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"            \u0027image_name_1\u0027: \u003cImage-ID\u003e"},{"line_number":147,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"bae84128_a60f4b2d","line":144,"updated":"2016-02-25 11:00:20.000000000","message":"Same question as above - image name?","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":16511,"name":"Bob Haddleton","email":"bob.haddleton@nokia.com","username":"bobh"},"change_message_id":"defc07e41b503e7804df8ccece9014562e5bd018","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"}"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"This primary key will be the foreign key in \"devicetemplates\" table."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"REST API impact"},{"line_number":157,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"bae84128_b27301e7","line":154,"updated":"2016-02-25 11:00:20.000000000","message":"I assume there will be support for multiple different images in a single VNFD?","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"6bd05704979ff86216e8db786781ffbd7d59618f","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"}"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"This primary key will be the foreign key in \"devicetemplates\" table."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"REST API impact"},{"line_number":157,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9aed3d3a_b478f1c5","line":154,"in_reply_to":"bae84128_b27301e7","updated":"2016-02-26 17:45:31.000000000","message":"Yes, we have multiple images for the same VNFD. So that is why we have multiple images for every VNF in the dictionary I mentioned.\n\nAnd realised, it is not \"devicetemplates\" table, as we are storing these details per VNF not per VNFD.","commit_id":"68da1301cf3c5b0ada53d0937132363ccda41bb5"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"0d65674723e7c8d529795964bc80104df6b520f2","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                         mem_size: 512 MB"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"When the user give host properties, Tacker will create a new flavor with those"},{"line_number":53,"context_line":"details by adding those details in heat template. Tacker will handle three "},{"line_number":54,"context_line":"minimum host properties like \u0027disk_size\u0027 and \u0027num_cpus\u0027 and \u0027mem_size\u0027."},{"line_number":55,"context_line":"To refer the other properties, refer[1]."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_18d90784","line":53,"updated":"2016-02-26 20:42:29.000000000","message":"nit: spurious whitespace","commit_id":"29deaa32d50ac961b445686437f8483491abf09d"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"d5c607b0f0474f92553adbc96859038b025a8be4","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                         mem_size: 512 MB"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"When the user give host properties, Tacker will create a new flavor with those"},{"line_number":53,"context_line":"details by adding those details in heat template. Tacker will handle three "},{"line_number":54,"context_line":"minimum host properties like \u0027disk_size\u0027 and \u0027num_cpus\u0027 and \u0027mem_size\u0027."},{"line_number":55,"context_line":"To refer the other properties, refer[1]."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_1cd3ad05","line":53,"in_reply_to":"9aed3d3a_18d90784","updated":"2016-02-27 03:23:27.000000000","message":"Done","commit_id":"29deaa32d50ac961b445686437f8483491abf09d"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"0d65674723e7c8d529795964bc80104df6b520f2","unresolved":false,"context_lines":[{"line_number":54,"context_line":"minimum host properties like \u0027disk_size\u0027 and \u0027num_cpus\u0027 and \u0027mem_size\u0027."},{"line_number":55,"context_line":"To refer the other properties, refer[1]."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Tacker will fetch the properties from TOSCA template and add them to HOT "},{"line_number":58,"context_line":"as below:"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"heat_template_version: 2015-04-30"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_38c5eb8d","line":57,"updated":"2016-02-26 20:42:29.000000000","message":"nit: spurious whitespace","commit_id":"29deaa32d50ac961b445686437f8483491abf09d"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"d5c607b0f0474f92553adbc96859038b025a8be4","unresolved":false,"context_lines":[{"line_number":54,"context_line":"minimum host properties like \u0027disk_size\u0027 and \u0027num_cpus\u0027 and \u0027mem_size\u0027."},{"line_number":55,"context_line":"To refer the other properties, refer[1]."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Tacker will fetch the properties from TOSCA template and add them to HOT "},{"line_number":58,"context_line":"as below:"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"heat_template_version: 2015-04-30"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_5cdd350d","line":57,"in_reply_to":"9aed3d3a_38c5eb8d","updated":"2016-02-27 03:23:27.000000000","message":"Done","commit_id":"29deaa32d50ac961b445686437f8483491abf09d"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"0d65674723e7c8d529795964bc80104df6b520f2","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"3)Provide parametrization and upload images at the time of VNF creation."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Here we can parametrize the `vm_image` attribute. With this option Tacker will create the image in"},{"line_number":106,"context_line":"glance at VNF deployment time. Tacker will store created glance image name in the form of dictionary"},{"line_number":107,"context_line":"for future references."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_43972490","line":105,"updated":"2016-02-26 20:42:29.000000000","message":"I\u0027d suggest we use HOT template resource OS::Glance::Image [1] and use the output attributes to get glance UUID.\n\n[1] http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Glance::Image","commit_id":"29deaa32d50ac961b445686437f8483491abf09d"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"d5c607b0f0474f92553adbc96859038b025a8be4","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"3)Provide parametrization and upload images at the time of VNF creation."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Here we can parametrize the `vm_image` attribute. With this option Tacker will create the image in"},{"line_number":106,"context_line":"glance at VNF deployment time. Tacker will store created glance image name in the form of dictionary"},{"line_number":107,"context_line":"for future references."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_dcb145e3","line":105,"in_reply_to":"9aed3d3a_43972490","updated":"2016-02-27 03:23:27.000000000","message":"If this is the case, then we don\u0027t need to store glance image details?","commit_id":"29deaa32d50ac961b445686437f8483491abf09d"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"ec3d8f872df7a7d860568abec7acad5603486aff","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"3)Provide parametrization and upload images at the time of VNF creation."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Here we can parametrize the `vm_image` attribute. With this option Tacker will create the image in"},{"line_number":106,"context_line":"glance at VNF deployment time. Tacker will store created glance image name in the form of dictionary"},{"line_number":107,"context_line":"for future references."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_193ed227","line":105,"in_reply_to":"9aed3d3a_dcb145e3","updated":"2016-02-29 18:48:52.000000000","message":"I would definitely support that. Given where we are in the cycle, I\u0027d suggest we move out any stateful image management to a future iteration and just go with a simple TOSCA Artifact to Heat OS::Glance::Image translation for this cycle.\n\nTOSCA\n\n    artifacts:\n      vm_image:\n        type: tosca.artifacts.Deployment.Image.VM.qcow2\n        file: http://filer/vnfimages/vrouter.qcow2\n\nHeat:\n\n  image:\n    type: OS::Glance::Image\n    properties:\n      container_format: bare\n      disk_format: qcow2\n      location: http://filer/vnfimages/vrouter.qcow2\n\n\nImage will be uploaded / created as part of VNF instantiation and deleted during VNF deletion","commit_id":"29deaa32d50ac961b445686437f8483491abf09d"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"0d65674723e7c8d529795964bc80104df6b520f2","unresolved":false,"context_lines":[{"line_number":103,"context_line":"3)Provide parametrization and upload images at the time of VNF creation."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Here we can parametrize the `vm_image` attribute. With this option Tacker will create the image in"},{"line_number":106,"context_line":"glance at VNF deployment time. Tacker will store created glance image name in the form of dictionary"},{"line_number":107,"context_line":"for future references."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_7df3e59e","line":106,"updated":"2016-02-26 20:42:29.000000000","message":"As someone pointed in the recent IRC discussion we should not store image-name in our layers as they are not unique. We should only store glance UUIDs.","commit_id":"29deaa32d50ac961b445686437f8483491abf09d"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"d5c607b0f0474f92553adbc96859038b025a8be4","unresolved":false,"context_lines":[{"line_number":103,"context_line":"3)Provide parametrization and upload images at the time of VNF creation."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Here we can parametrize the `vm_image` attribute. With this option Tacker will create the image in"},{"line_number":106,"context_line":"glance at VNF deployment time. Tacker will store created glance image name in the form of dictionary"},{"line_number":107,"context_line":"for future references."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_fcc6c947","line":106,"in_reply_to":"9aed3d3a_7df3e59e","updated":"2016-02-27 03:23:27.000000000","message":"Done","commit_id":"29deaa32d50ac961b445686437f8483491abf09d"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"0d65674723e7c8d529795964bc80104df6b520f2","unresolved":false,"context_lines":[{"line_number":137,"context_line":"-----------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Flavor and network created while deploying VNF, will be removed automatically by heat at the"},{"line_number":140,"context_line":"deletion time. But in the case of image, Tacker will store the image ID for every VNF in every"},{"line_number":141,"context_line":"VIM in a new table called \"created_resources\" which contains the primary key and corresponding"},{"line_number":142,"context_line":"below JSON."},{"line_number":143,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_988b571e","line":140,"updated":"2016-02-26 20:42:29.000000000","message":"Glance image upload should happen on specific VIM only when that VNF is instantiated on it.","commit_id":"29deaa32d50ac961b445686437f8483491abf09d"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"d5c607b0f0474f92553adbc96859038b025a8be4","unresolved":false,"context_lines":[{"line_number":137,"context_line":"-----------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Flavor and network created while deploying VNF, will be removed automatically by heat at the"},{"line_number":140,"context_line":"deletion time. But in the case of image, Tacker will store the image ID for every VNF in every"},{"line_number":141,"context_line":"VIM in a new table called \"created_resources\" which contains the primary key and corresponding"},{"line_number":142,"context_line":"below JSON."},{"line_number":143,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_9cde9d0f","line":140,"in_reply_to":"9aed3d3a_988b571e","updated":"2016-02-27 03:23:27.000000000","message":"Yes","commit_id":"29deaa32d50ac961b445686437f8483491abf09d"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"0d65674723e7c8d529795964bc80104df6b520f2","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Flavor and network created while deploying VNF, will be removed automatically by heat at the"},{"line_number":140,"context_line":"deletion time. But in the case of image, Tacker will store the image ID for every VNF in every"},{"line_number":141,"context_line":"VIM in a new table called \"created_resources\" which contains the primary key and corresponding"},{"line_number":142,"context_line":"below JSON."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"{"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_5e19b778","line":141,"updated":"2016-02-26 20:42:29.000000000","message":"Pardon if I\u0027m missing something here. It is unclear reading this spec how the image-uuid store in the table below will get used (and reused) in future instantiations of the same VNFD.","commit_id":"29deaa32d50ac961b445686437f8483491abf09d"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"d5c607b0f0474f92553adbc96859038b025a8be4","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Flavor and network created while deploying VNF, will be removed automatically by heat at the"},{"line_number":140,"context_line":"deletion time. But in the case of image, Tacker will store the image ID for every VNF in every"},{"line_number":141,"context_line":"VIM in a new table called \"created_resources\" which contains the primary key and corresponding"},{"line_number":142,"context_line":"below JSON."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"{"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_dce825b7","line":141,"in_reply_to":"9aed3d3a_5e19b778","updated":"2016-02-27 03:23:27.000000000","message":"Yes, we are not reusing it, because of parametrization. But we use these details to delete images while deleting VNF.","commit_id":"29deaa32d50ac961b445686437f8483491abf09d"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"87f3eb259bc7891836cb778d51d336c4314b00f5","unresolved":false,"context_lines":[{"line_number":165,"context_line":"Data model impact"},{"line_number":166,"context_line":"-----------------"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Flavors, networks and images will be created while deploying VNF, and will be removed automatically "},{"line_number":169,"context_line":"by heat at the deletion VNF. So there won\u0027t be any change in data model."},{"line_number":170,"context_line":"below JSON."},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"9aed3d3a_7a970248","line":168,"updated":"2016-02-29 22:38:04.000000000","message":"nit: spurious whitespace in the EOL","commit_id":"14e953db79fead456c6080f531af9ea0c43c0a2a"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"87f3eb259bc7891836cb778d51d336c4314b00f5","unresolved":false,"context_lines":[{"line_number":195,"context_line":"----------"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"* Modify the calls of VNF create, so that VNF operations will be handled by"},{"line_number":198,"context_line":"  plugin."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Dependencies"},{"line_number":201,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9aed3d3a_1a01966a","line":198,"updated":"2016-02-29 22:38:04.000000000","message":"Following should be the work-items,\n\n1) Enhance VNF create heat infra-driver to do new TOSCA to HOT template translations for flavor, network and image\n\n2) Add sample TOSCA templates using features introduced in this spec\n\n3) Unit tests for new templates snippets\n\n4) Functional tests for new TOSCA templates\n\nIs this list inline with your understanding as well ?","commit_id":"14e953db79fead456c6080f531af9ea0c43c0a2a"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"a835b6e2e3bb8617891df465c24eac82b4b3d8bf","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"1)Specify the image URI in the template and no parametrization"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"If we choose this option, we can\u0027t parametrize the `vm_image`. And tacker upload the image"},{"line_number":94,"context_line":"while onboarding the VNFD. It is one step process. With this option, we have to maintain the"},{"line_number":95,"context_line":"state of the VNFD based on image creation."},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"7af24918_fa239403","line":93,"range":{"start_line":93,"start_character":74,"end_line":93,"end_character":80},"updated":"2016-03-02 03:13:01.000000000","message":"uploads?","commit_id":"6aba2cf85a600577024df239aa591bc830278df4"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"eab20f4769796a8eb775740ddd1449f6c2f525c2","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Flavors, networks and images will be created while deploying VNF, and will be removed automatically"},{"line_number":169,"context_line":"by heat at the deletion VNF. So there won\u0027t be any change in data model."},{"line_number":170,"context_line":"below JSON."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"REST API impact"},{"line_number":173,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7af24918_9c736515","line":170,"updated":"2016-03-02 06:39:16.000000000","message":"L170 looks spurious, can be removed ?","commit_id":"6aba2cf85a600577024df239aa591bc830278df4"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"eab20f4769796a8eb775740ddd1449f6c2f525c2","unresolved":false,"context_lines":[{"line_number":177,"context_line":"Other end user impact"},{"line_number":178,"context_line":"---------------------"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"User can use TOSCA templates in addition to Tacker defined templates after this spec."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"Implementation"},{"line_number":183,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7af24918_bfbf33fa","line":180,"updated":"2016-03-02 06:39:16.000000000","message":"Please add a note like,\n\nAuto image upload is not suitable for VNFs that would get instantiated multiple times. It will cause the same glance image to be uploaded multiple times.","commit_id":"6aba2cf85a600577024df239aa591bc830278df4"}]}
