)]}'
{"doc/source/specs/api.rst":[{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5d54e60c8b7cd267cd5e7cd536ec2c068a4a9a86","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Currently, Neutron API is the only way to manage Dragonflow configuration."},{"line_number":18,"context_line":"While this is good enough for the OpenStack environments, it limits number of"},{"line_number":19,"context_line":"use cases where Dragonflow can be used or adds Neutron API server as a"},{"line_number":20,"context_line":"mandatoryi required service. Native Dragonflow API support unlocks"},{"line_number":21,"context_line":"integrations with different container Orchestration Engines, i.e. Kubernetes,"},{"line_number":22,"context_line":"Mesos. It enables users to manipulate configuration elements exposed by the"},{"line_number":23,"context_line":"Dragonflow SDN Controller and makes the application more robust. Since the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_22858158","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":10},"updated":"2017-01-11 14:11:21.000000000","message":"mandatory","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"6fc816754f3b9ba0a6f5acd31751cc9ebf236856","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Currently, Neutron API is the only way to manage Dragonflow configuration."},{"line_number":18,"context_line":"While this is good enough for the OpenStack environments, it limits number of"},{"line_number":19,"context_line":"use cases where Dragonflow can be used or adds Neutron API server as a"},{"line_number":20,"context_line":"mandatoryi required service. Native Dragonflow API support unlocks"},{"line_number":21,"context_line":"integrations with different container Orchestration Engines, i.e. Kubernetes,"},{"line_number":22,"context_line":"Mesos. It enables users to manipulate configuration elements exposed by the"},{"line_number":23,"context_line":"Dragonflow SDN Controller and makes the application more robust. Since the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_bbd350d4","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":10},"in_reply_to":"ba5201f7_22858158","updated":"2017-01-11 17:43:46.000000000","message":"Done","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5d54e60c8b7cd267cd5e7cd536ec2c068a4a9a86","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implementation is hidden and exposed only via the API, enhancements can be"},{"line_number":25,"context_line":"added without causing the disruption to the application consuming the API."},{"line_number":26,"context_line":"Native Dragonflow API will enable new network-aware applications to provide"},{"line_number":27,"context_line":"control over networks ."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_22eca128","line":27,"range":{"start_line":27,"start_character":21,"end_line":27,"end_character":22},"updated":"2017-01-11 14:11:21.000000000","message":"space","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"6fc816754f3b9ba0a6f5acd31751cc9ebf236856","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implementation is hidden and exposed only via the API, enhancements can be"},{"line_number":25,"context_line":"added without causing the disruption to the application consuming the API."},{"line_number":26,"context_line":"Native Dragonflow API will enable new network-aware applications to provide"},{"line_number":27,"context_line":"control over networks ."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_5bc8a422","line":27,"range":{"start_line":27,"start_character":21,"end_line":27,"end_character":22},"in_reply_to":"ba5201f7_22eca128","updated":"2017-01-11 17:43:46.000000000","message":"Done","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5d54e60c8b7cd267cd5e7cd536ec2c068a4a9a86","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Currently the only way to manage Dragonflow configuration elements is by using"},{"line_number":34,"context_line":"Neutron API. As stated above, this is not enough to cover all the potential"},{"line_number":35,"context_line":"Dragonflow  usage scenarios."},{"line_number":36,"context_line":"Dragonflow is an open, standards-based SDN controller that virtualises the"},{"line_number":37,"context_line":"network and should enable automation and orchestration of the various cloud"},{"line_number":38,"context_line":"environments and networking services. Without DragonFlow API, while the only"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_62f6a9fa","line":35,"range":{"start_line":35,"start_character":10,"end_line":35,"end_character":11},"updated":"2017-01-11 14:11:21.000000000","message":"space","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5d54e60c8b7cd267cd5e7cd536ec2c068a4a9a86","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Dragonflow  usage scenarios."},{"line_number":36,"context_line":"Dragonflow is an open, standards-based SDN controller that virtualises the"},{"line_number":37,"context_line":"network and should enable automation and orchestration of the various cloud"},{"line_number":38,"context_line":"environments and networking services. Without DragonFlow API, while the only"},{"line_number":39,"context_line":"way is to accees the North Bound DB API, the existing applications may be"},{"line_number":40,"context_line":"impacted upon implementation changes or enhancement additions. This will not be"},{"line_number":41,"context_line":"the case once applications will use API."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_02d07d52","line":38,"range":{"start_line":38,"start_character":46,"end_line":38,"end_character":56},"updated":"2017-01-11 14:11:21.000000000","message":"Dragonflow","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5d54e60c8b7cd267cd5e7cd536ec2c068a4a9a86","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Dragonflow is an open, standards-based SDN controller that virtualises the"},{"line_number":37,"context_line":"network and should enable automation and orchestration of the various cloud"},{"line_number":38,"context_line":"environments and networking services. Without DragonFlow API, while the only"},{"line_number":39,"context_line":"way is to accees the North Bound DB API, the existing applications may be"},{"line_number":40,"context_line":"impacted upon implementation changes or enhancement additions. This will not be"},{"line_number":41,"context_line":"the case once applications will use API."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_82c46d92","line":39,"range":{"start_line":39,"start_character":10,"end_line":39,"end_character":16},"updated":"2017-01-11 14:11:21.000000000","message":"access","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5d54e60c8b7cd267cd5e7cd536ec2c068a4a9a86","unresolved":false,"context_lines":[{"line_number":48,"context_line":"---------------------------"},{"line_number":49,"context_line":"In order to satisfy different usage scenarios, the Dragonflow API support"},{"line_number":50,"context_line":"should fulfil the following requirements."},{"line_number":51,"context_line":"*  Support REST design idiom by exposing Dragonflow  managed resources."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"*  RESTful API should be auto-generated fro  the model\u0027s specification."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_0205ddc0","line":51,"range":{"start_line":51,"start_character":51,"end_line":51,"end_character":52},"updated":"2017-01-11 14:11:21.000000000","message":"space","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"6fc816754f3b9ba0a6f5acd31751cc9ebf236856","unresolved":false,"context_lines":[{"line_number":48,"context_line":"---------------------------"},{"line_number":49,"context_line":"In order to satisfy different usage scenarios, the Dragonflow API support"},{"line_number":50,"context_line":"should fulfil the following requirements."},{"line_number":51,"context_line":"*  Support REST design idiom by exposing Dragonflow  managed resources."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"*  RESTful API should be auto-generated fro  the model\u0027s specification."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_bb5c307e","line":51,"range":{"start_line":51,"start_character":51,"end_line":51,"end_character":52},"in_reply_to":"ba5201f7_0205ddc0","updated":"2017-01-11 17:43:46.000000000","message":"Done","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5d54e60c8b7cd267cd5e7cd536ec2c068a4a9a86","unresolved":false,"context_lines":[{"line_number":50,"context_line":"should fulfil the following requirements."},{"line_number":51,"context_line":"*  Support REST design idiom by exposing Dragonflow  managed resources."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"*  RESTful API should be auto-generated fro  the model\u0027s specification."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"*  Follow OpenAPI Spec (OAS) for API definition."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_6212290b","line":53,"range":{"start_line":53,"start_character":40,"end_line":53,"end_character":44},"updated":"2017-01-11 14:11:21.000000000","message":"from","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"6fc816754f3b9ba0a6f5acd31751cc9ebf236856","unresolved":false,"context_lines":[{"line_number":50,"context_line":"should fulfil the following requirements."},{"line_number":51,"context_line":"*  Support REST design idiom by exposing Dragonflow  managed resources."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"*  RESTful API should be auto-generated fro  the model\u0027s specification."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"*  Follow OpenAPI Spec (OAS) for API definition."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_9b576c59","line":53,"range":{"start_line":53,"start_character":40,"end_line":53,"end_character":44},"in_reply_to":"ba5201f7_6212290b","updated":"2017-01-11 17:43:46.000000000","message":"Done","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5d54e60c8b7cd267cd5e7cd536ec2c068a4a9a86","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"*  It should be possible to discover all API resources by querying the root."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"*  Provide Python library on top of the REST API to bust applications"},{"line_number":71,"context_line":"   development."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Data Model Object Hierarchy"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_e21539e5","line":70,"range":{"start_line":70,"start_character":11,"end_line":70,"end_character":25},"updated":"2017-01-11 14:11:21.000000000","message":"should be another subproject under Dragonflow, like python-dfclient.","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"6fc816754f3b9ba0a6f5acd31751cc9ebf236856","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"*  It should be possible to discover all API resources by querying the root."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"*  Provide Python library on top of the REST API to bust applications"},{"line_number":71,"context_line":"   development."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Data Model Object Hierarchy"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_5b618438","line":70,"range":{"start_line":70,"start_character":11,"end_line":70,"end_character":25},"in_reply_to":"ba5201f7_e21539e5","updated":"2017-01-11 17:43:46.000000000","message":"Done","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5d54e60c8b7cd267cd5e7cd536ec2c068a4a9a86","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Data Model Object Hierarchy"},{"line_number":74,"context_line":"---------------------------"},{"line_number":75,"context_line":"Data Model contains different types of the objects. Objects created outside of"},{"line_number":76,"context_line":"the Dragonflow are Configuration state.Objects generated by the Dragonflow"},{"line_number":77,"context_line":"applications are Operational state. Some objects maybe either configured or"},{"line_number":78,"context_line":"generated. In addition, some physical entities are represented in the data"},{"line_number":79,"context_line":"model (i.e chassis). Dragonflow System Data Model should be well defined and"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_a2c9717b","line":76,"updated":"2017-01-11 14:11:21.000000000","message":"insert a space","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"6fc816754f3b9ba0a6f5acd31751cc9ebf236856","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Data Model Object Hierarchy"},{"line_number":74,"context_line":"---------------------------"},{"line_number":75,"context_line":"Data Model contains different types of the objects. Objects created outside of"},{"line_number":76,"context_line":"the Dragonflow are Configuration state.Objects generated by the Dragonflow"},{"line_number":77,"context_line":"applications are Operational state. Some objects maybe either configured or"},{"line_number":78,"context_line":"generated. In addition, some physical entities are represented in the data"},{"line_number":79,"context_line":"model (i.e chassis). Dragonflow System Data Model should be well defined and"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_1b753cf9","line":76,"in_reply_to":"ba5201f7_a2c9717b","updated":"2017-01-11 17:43:46.000000000","message":"Done","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5d54e60c8b7cd267cd5e7cd536ec2c068a4a9a86","unresolved":false,"context_lines":[{"line_number":77,"context_line":"applications are Operational state. Some objects maybe either configured or"},{"line_number":78,"context_line":"generated. In addition, some physical entities are represented in the data"},{"line_number":79,"context_line":"model (i.e chassis). Dragonflow System Data Model should be well defined and"},{"line_number":80,"context_line":"keep backward compatibility  in order to be consistent with applications"},{"line_number":81,"context_line":"consuming the API."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"TBD - add System  Data Model diagram"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_e29a996d","line":80,"range":{"start_line":80,"start_character":28,"end_line":80,"end_character":29},"updated":"2017-01-11 14:11:21.000000000","message":"space","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"6fc816754f3b9ba0a6f5acd31751cc9ebf236856","unresolved":false,"context_lines":[{"line_number":77,"context_line":"applications are Operational state. Some objects maybe either configured or"},{"line_number":78,"context_line":"generated. In addition, some physical entities are represented in the data"},{"line_number":79,"context_line":"model (i.e chassis). Dragonflow System Data Model should be well defined and"},{"line_number":80,"context_line":"keep backward compatibility  in order to be consistent with applications"},{"line_number":81,"context_line":"consuming the API."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"TBD - add System  Data Model diagram"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_fb6b181c","line":80,"range":{"start_line":80,"start_character":28,"end_line":80,"end_character":29},"in_reply_to":"ba5201f7_e29a996d","updated":"2017-01-11 17:43:46.000000000","message":"Done","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5d54e60c8b7cd267cd5e7cd536ec2c068a4a9a86","unresolved":false,"context_lines":[{"line_number":86,"context_line":"------------------"},{"line_number":87,"context_line":"Keystone can be used for the API server authentication, it will be part of"},{"line_number":88,"context_line":"the OpenStack deployment anyway. Other authentication service alternatives"},{"line_number":89,"context_line":"can be considered later, therefor implementation should not make an"},{"line_number":90,"context_line":"assumption about authentication service. It should be possible to disable"},{"line_number":91,"context_line":"authentication."},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_4299a56d","line":89,"range":{"start_line":89,"start_character":25,"end_line":89,"end_character":33},"updated":"2017-01-11 14:11:21.000000000","message":"therefore","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"6fc816754f3b9ba0a6f5acd31751cc9ebf236856","unresolved":false,"context_lines":[{"line_number":86,"context_line":"------------------"},{"line_number":87,"context_line":"Keystone can be used for the API server authentication, it will be part of"},{"line_number":88,"context_line":"the OpenStack deployment anyway. Other authentication service alternatives"},{"line_number":89,"context_line":"can be considered later, therefor implementation should not make an"},{"line_number":90,"context_line":"assumption about authentication service. It should be possible to disable"},{"line_number":91,"context_line":"authentication."},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5201f7_bb8510d0","line":89,"range":{"start_line":89,"start_character":25,"end_line":89,"end_character":33},"in_reply_to":"ba5201f7_4299a56d","updated":"2017-01-11 17:43:46.000000000","message":"Done","commit_id":"027739ea73753820c52803d1a01524b64d3b21f3"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"255344939b930debca25a40077f7fd0ce1144f6d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Dragonflow API requirements"},{"line_number":48,"context_line":"---------------------------"},{"line_number":49,"context_line":"In order to satisfy different usage scenarios, the Dragonflow API support"},{"line_number":50,"context_line":"should fulfil the following requirements."},{"line_number":51,"context_line":"*  Support REST design idiom by exposing Dragonflow managed resources."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"*  RESTful API should be auto-generated from the model\u0027s specification."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a57fde8_fe0d4d38","line":50,"updated":"2017-01-12 09:55:38.000000000","message":"Missing newline.","commit_id":"7a450e7f99ce933b4adc8185a1392ef13e0401f3"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"850e82c7ede19d2448536de9c31dc05713811fa2","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Dragonflow API requirements"},{"line_number":48,"context_line":"---------------------------"},{"line_number":49,"context_line":"In order to satisfy different usage scenarios, the Dragonflow API support"},{"line_number":50,"context_line":"should fulfil the following requirements."},{"line_number":51,"context_line":"*  Support REST design idiom by exposing Dragonflow managed resources."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"*  RESTful API should be auto-generated from the model\u0027s specification."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a57fde8_6e90ca96","line":50,"in_reply_to":"9a57fde8_fe0d4d38","updated":"2017-01-12 11:32:13.000000000","message":"Done","commit_id":"7a450e7f99ce933b4adc8185a1392ef13e0401f3"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"255344939b930debca25a40077f7fd0ce1144f6d","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"*  RESTful API should be auto-generated from the model\u0027s specification."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"*  Follow OpenAPI Spec (OAS) for API definition."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"*  Provide support for multi-tenancy via Authorization component."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a57fde8_3e37d5e4","line":55,"range":{"start_line":55,"start_character":0,"end_line":55,"end_character":48},"updated":"2017-01-12 09:55:38.000000000","message":"Is this a requirement? If so please provide a link or explanation.","commit_id":"7a450e7f99ce933b4adc8185a1392ef13e0401f3"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"850e82c7ede19d2448536de9c31dc05713811fa2","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"*  RESTful API should be auto-generated from the model\u0027s specification."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"*  Follow OpenAPI Spec (OAS) for API definition."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"*  Provide support for multi-tenancy via Authorization component."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a57fde8_4e9306a4","line":55,"range":{"start_line":55,"start_character":0,"end_line":55,"end_character":48},"in_reply_to":"9a57fde8_3e37d5e4","updated":"2017-01-12 11:32:13.000000000","message":"Done","commit_id":"7a450e7f99ce933b4adc8185a1392ef13e0401f3"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"255344939b930debca25a40077f7fd0ce1144f6d","unresolved":false,"context_lines":[{"line_number":68,"context_line":"*  It should be possible to discover all API resources by querying the root."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"*  Provide Python library (subproject under Dragonflow)  on top of the REST API"},{"line_number":71,"context_line":"   to bust applications development."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Data Model Object Hierarchy"},{"line_number":74,"context_line":"---------------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a57fde8_9e9a81c4","line":71,"updated":"2017-01-12 09:55:38.000000000","message":"Please add requirement: CLI","commit_id":"7a450e7f99ce933b4adc8185a1392ef13e0401f3"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"850e82c7ede19d2448536de9c31dc05713811fa2","unresolved":false,"context_lines":[{"line_number":68,"context_line":"*  It should be possible to discover all API resources by querying the root."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"*  Provide Python library (subproject under Dragonflow)  on top of the REST API"},{"line_number":71,"context_line":"   to bust applications development."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Data Model Object Hierarchy"},{"line_number":74,"context_line":"---------------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a57fde8_0e81fe4a","line":71,"in_reply_to":"9a57fde8_9e9a81c4","updated":"2017-01-12 11:32:13.000000000","message":"Done","commit_id":"7a450e7f99ce933b4adc8185a1392ef13e0401f3"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"fef2df35a67a29e5d83d154d7f6fef09e2f0552a","unresolved":false,"context_lines":[{"line_number":60,"context_line":"*  Authentication should be optional and it should be possible to disable it"},{"line_number":61,"context_line":"   for example during development phase."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"*  Provide API for configuration and operational data models."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"*  Ensure model consistency to support multiple API workers case."},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a3905b3_5d80de46","line":63,"range":{"start_line":63,"start_character":3,"end_line":63,"end_character":61},"updated":"2017-01-20 07:02:11.000000000","message":"so what\u0027s the differences with \"RESTful API should be auto-generated from the model\u0027s specification.\"","commit_id":"5565d0d3e3b6349d3e38de8a35299ff0fa62ce37"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"5255d4917a4c37a75213394c55714ed8c2575530","unresolved":false,"context_lines":[{"line_number":60,"context_line":"*  Authentication should be optional and it should be possible to disable it"},{"line_number":61,"context_line":"   for example during development phase."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"*  Provide API for configuration and operational data models."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"*  Ensure model consistency to support multiple API workers case."},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a3905b3_cef691f8","line":63,"range":{"start_line":63,"start_character":3,"end_line":63,"end_character":61},"in_reply_to":"5a3905b3_5d80de46","updated":"2017-01-22 08:00:54.000000000","message":"This requirement is for exposing both configuration and operational models. The other one is requirement for not maintaining the API to manage models manually, but to generate it based on models.","commit_id":"5565d0d3e3b6349d3e38de8a35299ff0fa62ce37"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"fef2df35a67a29e5d83d154d7f6fef09e2f0552a","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"*  It should be possible to discover all API resources by querying the root."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"*  Provide Python library (subproject under Dragonflow)  on top of the REST API"},{"line_number":74,"context_line":"   to bust applications development."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"*  Provide command line tool which interact with the Dragonflow API server."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a3905b3_ddba0e0a","line":73,"range":{"start_line":73,"start_character":11,"end_line":73,"end_character":25},"updated":"2017-01-20 07:02:11.000000000","message":"SDK or something like that?","commit_id":"5565d0d3e3b6349d3e38de8a35299ff0fa62ce37"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"5255d4917a4c37a75213394c55714ed8c2575530","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"*  It should be possible to discover all API resources by querying the root."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"*  Provide Python library (subproject under Dragonflow)  on top of the REST API"},{"line_number":74,"context_line":"   to bust applications development."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"*  Provide command line tool which interact with the Dragonflow API server."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a3905b3_ce5bf1f4","line":73,"range":{"start_line":73,"start_character":11,"end_line":73,"end_character":25},"in_reply_to":"5a3905b3_ddba0e0a","updated":"2017-01-22 08:00:54.000000000","message":"Library on top of the API is definitely a step to an SDK. SDK has a bit more comprehensive meaning in my opinion.","commit_id":"5565d0d3e3b6349d3e38de8a35299ff0fa62ce37"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"fef2df35a67a29e5d83d154d7f6fef09e2f0552a","unresolved":false,"context_lines":[{"line_number":71,"context_line":"*  It should be possible to discover all API resources by querying the root."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"*  Provide Python library (subproject under Dragonflow)  on top of the REST API"},{"line_number":74,"context_line":"   to bust applications development."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"*  Provide command line tool which interact with the Dragonflow API server."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a3905b3_1dd49645","line":74,"range":{"start_line":74,"start_character":6,"end_line":74,"end_character":10},"updated":"2017-01-20 07:02:11.000000000","message":"you mean boost?","commit_id":"5565d0d3e3b6349d3e38de8a35299ff0fa62ce37"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"5255d4917a4c37a75213394c55714ed8c2575530","unresolved":false,"context_lines":[{"line_number":71,"context_line":"*  It should be possible to discover all API resources by querying the root."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"*  Provide Python library (subproject under Dragonflow)  on top of the REST API"},{"line_number":74,"context_line":"   to bust applications development."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"*  Provide command line tool which interact with the Dragonflow API server."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a3905b3_6ed2fd5d","line":74,"range":{"start_line":74,"start_character":6,"end_line":74,"end_character":10},"in_reply_to":"5a3905b3_1dd49645","updated":"2017-01-22 08:00:54.000000000","message":"Done","commit_id":"5565d0d3e3b6349d3e38de8a35299ff0fa62ce37"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"fef2df35a67a29e5d83d154d7f6fef09e2f0552a","unresolved":false,"context_lines":[{"line_number":79,"context_line":"---------------------------"},{"line_number":80,"context_line":"Data Model contains different types of the objects. Objects created outside of"},{"line_number":81,"context_line":"the Dragonflow are Configuration state. Objects generated by the Dragonflow"},{"line_number":82,"context_line":"applications are Operational state. Some objects maybe either configured or"},{"line_number":83,"context_line":"generated. In addition, some physical entities are represented in the data"},{"line_number":84,"context_line":"model (i.e chassis). Dragonflow System Data Model should be well defined and"},{"line_number":85,"context_line":"keep backward compatibility in order to be consistent with applications"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a3905b3_1dbe56d4","line":82,"range":{"start_line":82,"start_character":17,"end_line":82,"end_character":34},"updated":"2017-01-20 07:02:11.000000000","message":"I don\u0027t think I understand these two states very well. could you give more examples?","commit_id":"5565d0d3e3b6349d3e38de8a35299ff0fa62ce37"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"5255d4917a4c37a75213394c55714ed8c2575530","unresolved":false,"context_lines":[{"line_number":79,"context_line":"---------------------------"},{"line_number":80,"context_line":"Data Model contains different types of the objects. Objects created outside of"},{"line_number":81,"context_line":"the Dragonflow are Configuration state. Objects generated by the Dragonflow"},{"line_number":82,"context_line":"applications are Operational state. Some objects maybe either configured or"},{"line_number":83,"context_line":"generated. In addition, some physical entities are represented in the data"},{"line_number":84,"context_line":"model (i.e chassis). Dragonflow System Data Model should be well defined and"},{"line_number":85,"context_line":"keep backward compatibility in order to be consistent with applications"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a3905b3_aec865a9","line":82,"range":{"start_line":82,"start_character":17,"end_line":82,"end_character":34},"in_reply_to":"5a3905b3_1dbe56d4","updated":"2017-01-22 08:00:54.000000000","message":"Adding the explanation to the spec. The main difference is that configuration is what user defines, while operational is what Controller generates","commit_id":"5565d0d3e3b6349d3e38de8a35299ff0fa62ce37"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"40f86b103c8ddc97a9c06112be4ed771fbdb09e0","unresolved":false,"context_lines":[{"line_number":110,"context_line":"control (RBAC) Dragonflow API should reject the requesting user attempts to"},{"line_number":111,"context_line":"perform operations or access resources that it does not have permission to."},{"line_number":112,"context_line":"Dragonflow API can start by servicing 3 types of users:"},{"line_number":113,"context_line":"- Admin - has access to everything."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"- Tenant Admin - admin of a tenant that has access to all resources that"},{"line_number":116,"context_line":"  belongs to the tenant."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a3c09a3_72978590","line":113,"updated":"2017-01-15 15:41:58.000000000","message":"We may want to have another role, only able to change \u0027higher level models\u0027 stated above, e.g. Tenants. This way, a role can add and delete tenants (users), but not able to delete a tenant\u0027s objects (ports, networks, etc.)","commit_id":"5565d0d3e3b6349d3e38de8a35299ff0fa62ce37"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"6d7a48672ffadc934e375283ca59ef24a4787ba2","unresolved":false,"context_lines":[{"line_number":110,"context_line":"control (RBAC) Dragonflow API should reject the requesting user attempts to"},{"line_number":111,"context_line":"perform operations or access resources that it does not have permission to."},{"line_number":112,"context_line":"Dragonflow API can start by servicing 3 types of users:"},{"line_number":113,"context_line":"- Admin - has access to everything."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"- Tenant Admin - admin of a tenant that has access to all resources that"},{"line_number":116,"context_line":"  belongs to the tenant."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a3c09a3_98ee1ab3","line":113,"in_reply_to":"7a3c09a3_54f50bc9","updated":"2017-01-18 20:22:48.000000000","message":"I guess that in phase 2 we may want the deployer to be able to define the policy - then they can decide what the roles are.","commit_id":"5565d0d3e3b6349d3e38de8a35299ff0fa62ce37"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"070d8b28926a989c92adf9544b43db0cb987b098","unresolved":false,"context_lines":[{"line_number":110,"context_line":"control (RBAC) Dragonflow API should reject the requesting user attempts to"},{"line_number":111,"context_line":"perform operations or access resources that it does not have permission to."},{"line_number":112,"context_line":"Dragonflow API can start by servicing 3 types of users:"},{"line_number":113,"context_line":"- Admin - has access to everything."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"- Tenant Admin - admin of a tenant that has access to all resources that"},{"line_number":116,"context_line":"  belongs to the tenant."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a3c09a3_54f50bc9","line":113,"in_reply_to":"7a3c09a3_72978590","updated":"2017-01-16 08:02:28.000000000","message":"I would prefer to keep it simple, and let admin to be able to add/remove Tenants. But it should be possible to set roles and access permissions to enable the case you suggest","commit_id":"5565d0d3e3b6349d3e38de8a35299ff0fa62ce37"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"5255d4917a4c37a75213394c55714ed8c2575530","unresolved":false,"context_lines":[{"line_number":110,"context_line":"control (RBAC) Dragonflow API should reject the requesting user attempts to"},{"line_number":111,"context_line":"perform operations or access resources that it does not have permission to."},{"line_number":112,"context_line":"Dragonflow API can start by servicing 3 types of users:"},{"line_number":113,"context_line":"- Admin - has access to everything."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"- Tenant Admin - admin of a tenant that has access to all resources that"},{"line_number":116,"context_line":"  belongs to the tenant."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a3905b3_ee742d69","line":113,"in_reply_to":"7a3c09a3_98ee1ab3","updated":"2017-01-22 08:00:54.000000000","message":"Will add it as a future requirement.","commit_id":"5565d0d3e3b6349d3e38de8a35299ff0fa62ce37"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"6c32d1df78a53efec921b7a94ff1b9031d28e47e","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"In the future, more high level models and APIs  will be added to Dragonflow"},{"line_number":98,"context_line":"to allow native management of the services that currently managed via external"},{"line_number":99,"context_line":"APIs such as neutron ,neutron-fwaas and other."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"API Authentication"},{"line_number":102,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a461143_bd532416","line":99,"range":{"start_line":99,"start_character":20,"end_line":99,"end_character":22},"updated":"2017-01-30 14:18:58.000000000","message":"nit: comma and space are transposed","commit_id":"81c5422bbd8e03ff8d5fe117b5ebe9b66e8c2e21"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"c12a66a7f7d650ea272fd3d838a9701694c82d0e","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"In the future, more high level models and APIs  will be added to Dragonflow"},{"line_number":98,"context_line":"to allow native management of the services that currently managed via external"},{"line_number":99,"context_line":"APIs such as neutron ,neutron-fwaas and other."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"API Authentication"},{"line_number":102,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a461143_03e68014","line":99,"range":{"start_line":99,"start_character":20,"end_line":99,"end_character":22},"in_reply_to":"3a461143_bd532416","updated":"2017-01-31 06:03:10.000000000","message":"Done","commit_id":"81c5422bbd8e03ff8d5fe117b5ebe9b66e8c2e21"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"08db54b230d94f7422559682019688f755c6e567","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implementation is hidden and exposed only via the API, enhancements can be"},{"line_number":25,"context_line":"added without causing the disruption to the application consuming the API."},{"line_number":26,"context_line":"Native Dragonflow API will enable new network-aware applications to provide"},{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a461143_03d040f5","line":27,"updated":"2017-01-31 06:13:11.000000000","message":"it isn\u0027t clear to me how it\u0027s better than neutron api.","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"f0f562ba40914bd14b2e6bd24f6c790522140a39","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implementation is hidden and exposed only via the API, enhancements can be"},{"line_number":25,"context_line":"added without causing the disruption to the application consuming the API."},{"line_number":26,"context_line":"Native Dragonflow API will enable new network-aware applications to provide"},{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a461143_78cfca55","line":27,"in_reply_to":"3a461143_001bc4ca","updated":"2017-01-31 22:43:15.000000000","message":"will the new api have access to objects managed by the neutron api?","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"91fe223808027c731728994feb110648f78b8cf3","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implementation is hidden and exposed only via the API, enhancements can be"},{"line_number":25,"context_line":"added without causing the disruption to the application consuming the API."},{"line_number":26,"context_line":"Native Dragonflow API will enable new network-aware applications to provide"},{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a461143_29343ddc","line":27,"in_reply_to":"3a461143_03d040f5","updated":"2017-01-31 07:57:27.000000000","message":"Having own API will allow Dragonflow to be stand alone solution and not being only neutron back-end","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"783699233bf225795f8beb90cf5ca9bd2b44a7a9","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implementation is hidden and exposed only via the API, enhancements can be"},{"line_number":25,"context_line":"added without causing the disruption to the application consuming the API."},{"line_number":26,"context_line":"Native Dragonflow API will enable new network-aware applications to provide"},{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a461143_e5b89177","line":27,"in_reply_to":"3a461143_2920bdf6","updated":"2017-01-31 11:43:08.000000000","message":"Hi @yamamoto. Thanks for looking into this.\n\nWe expect several benefits:\n* Dragonflow will not be tied to Neutron, and can be installed without it. We expect this will make standalone deployments simpler.\n* This will allow us to support additional APIs, such as EC2, Azure, K8S, and Docker swarm.\n* This loose coupling (with Neutron) should allow us to implement new features more easily, and debug existing code and framework.","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"84a300e28afef68d37d3c69044e21e5bf21c5cf8","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implementation is hidden and exposed only via the API, enhancements can be"},{"line_number":25,"context_line":"added without causing the disruption to the application consuming the API."},{"line_number":26,"context_line":"Native Dragonflow API will enable new network-aware applications to provide"},{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a461143_2920bdf6","line":27,"in_reply_to":"3a461143_29343ddc","updated":"2017-01-31 08:16:40.000000000","message":"and how does it benefit?","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"cc3278d9355943393037d627c16be1d2feb3cb05","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implementation is hidden and exposed only via the API, enhancements can be"},{"line_number":25,"context_line":"added without causing the disruption to the application consuming the API."},{"line_number":26,"context_line":"Native Dragonflow API will enable new network-aware applications to provide"},{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a461143_71da7918","line":27,"in_reply_to":"3a461143_44b2204d","updated":"2017-02-01 09:04:03.000000000","message":"Initially, authorization (RBAC) will be the way to ensure the proper user  accesses the model and only admin will have unlimitted permissions. There will be neutron-df sync mechanism to ensure consistency between both, but this is out of scope of this spec.","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"6ad6d6b7730f0fb149531656f4c50985a671aafe","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implementation is hidden and exposed only via the API, enhancements can be"},{"line_number":25,"context_line":"added without causing the disruption to the application consuming the API."},{"line_number":26,"context_line":"Native Dragonflow API will enable new network-aware applications to provide"},{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a461143_f958158c","line":27,"in_reply_to":"3a461143_78cfca55","updated":"2017-02-01 07:08:48.000000000","message":"The plan is that Neutron API commands will translate to Dragonflow commands. So, like today, Dragonflow will hold its own view of the Neutron database, and will be able to access the information through there.\n\nThe mechanism driver will have access to Neutron API objects, but instead of saving them directly to the Dragonflow database, it will call the Dragonflow API. (At least, this is the plan at the moment.)\n\nTo reiterate, this behaviour does not change from today. The difference will be in that we have additional entry points, to which other APIs can connect.","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"f439604a24f3e86393b040688ba2f76bb88b4ddf","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implementation is hidden and exposed only via the API, enhancements can be"},{"line_number":25,"context_line":"added without causing the disruption to the application consuming the API."},{"line_number":26,"context_line":"Native Dragonflow API will enable new network-aware applications to provide"},{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a461143_001bc4ca","line":27,"in_reply_to":"3a461143_8f436712","updated":"2017-01-31 14:13:12.000000000","message":"As a first step, we want to provide API that will allow Dragonflow model management.\nDragonflow will keep supporting neutron API as it does today via ML2 mechanism driver.","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"5cf66b0e862ccda9ac1b5924abc10bc784d2e617","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implementation is hidden and exposed only via the API, enhancements can be"},{"line_number":25,"context_line":"added without causing the disruption to the application consuming the API."},{"line_number":26,"context_line":"Native Dragonflow API will enable new network-aware applications to provide"},{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a461143_8c9b7565","line":27,"in_reply_to":"3a461143_e5b89177","updated":"2017-01-31 12:56:26.000000000","message":"+1","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"a9eb473317af3d9787bb35e7f283ba588a647a9f","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implementation is hidden and exposed only via the API, enhancements can be"},{"line_number":25,"context_line":"added without causing the disruption to the application consuming the API."},{"line_number":26,"context_line":"Native Dragonflow API will enable new network-aware applications to provide"},{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a461143_8f436712","line":27,"in_reply_to":"3a461143_e5b89177","updated":"2017-01-31 13:20:26.000000000","message":"thank you for explanation.\n\ndo you plan to have separate APIs for each systems?\n\ncan a deployment provide multiple APIs, possibly including neutron?","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"d77a8d4f821ddd19b60678622eba1d778b811e49","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implementation is hidden and exposed only via the API, enhancements can be"},{"line_number":25,"context_line":"added without causing the disruption to the application consuming the API."},{"line_number":26,"context_line":"Native Dragonflow API will enable new network-aware applications to provide"},{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a461143_44b2204d","line":27,"in_reply_to":"3a461143_f958158c","updated":"2017-02-01 07:24:45.000000000","message":"do you have any plan how to (or not to) prevent the native api operations from causing inconsistencies between dragonflow db and neutron db?","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5ab1fda148ac8c5ff02a77bd31767caeadde1776","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"*  Ensure model consistency to support multiple API workers case."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"*  Provide API (data model) backward compatibility. This requires that only"},{"line_number":68,"context_line":"   changes to the data model may only extend existing objects and any changes"},{"line_number":69,"context_line":"   to the model must be incremental."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_fae1d5ff","line":67,"range":{"start_line":67,"start_character":11,"end_line":67,"end_character":27},"updated":"2017-02-03 01:47:29.000000000","message":"Do you plan to provide the API model in this spec or in another spec? How do you think of supporting both Neutron and multiple container networking model? I think these information is the core of this spec, but I cannot find it.","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"ed63246c8c5d21c608e92c20c83b7e7ef2e9fc7c","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"*  Ensure model consistency to support multiple API workers case."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"*  Provide API (data model) backward compatibility. This requires that only"},{"line_number":68,"context_line":"   changes to the data model may only extend existing objects and any changes"},{"line_number":69,"context_line":"   to the model must be incremental."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_e072c348","line":67,"range":{"start_line":67,"start_character":11,"end_line":67,"end_character":27},"in_reply_to":"1a430d35_3daf9795","updated":"2017-02-06 07:05:22.000000000","message":"The idea is to create OpenAPI spec to represent DF data model. It will be based on the current DB data model. This will be an artifact to answer the spec requirements.","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"3377013f43171bf9004c70e076dfc843f343f83c","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"*  Ensure model consistency to support multiple API workers case."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"*  Provide API (data model) backward compatibility. This requires that only"},{"line_number":68,"context_line":"   changes to the data model may only extend existing objects and any changes"},{"line_number":69,"context_line":"   to the model must be incremental."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_3daf9795","line":67,"range":{"start_line":67,"start_character":11,"end_line":67,"end_character":27},"in_reply_to":"1a430d35_fae1d5ff","updated":"2017-02-05 23:42:24.000000000","message":"i\u0027m interested in how the actual model would look like, too.","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5ab1fda148ac8c5ff02a77bd31767caeadde1776","unresolved":false,"context_lines":[{"line_number":114,"context_line":"control (RBAC) Dragonflow API should reject the requesting user attempts to"},{"line_number":115,"context_line":"perform operations or access resources that it does not have permission to."},{"line_number":116,"context_line":"Dragonflow API can start by servicing 3 types of users:"},{"line_number":117,"context_line":"- Admin - has access to everything."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"- Tenant Admin - admin of a tenant that has access to all resources that"},{"line_number":120,"context_line":"  belongs to the tenant."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_1a4b012d","line":117,"range":{"start_line":117,"start_character":0,"end_line":117,"end_character":35},"updated":"2017-02-03 01:47:29.000000000","message":"So this admin means super admin, right?","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"ed63246c8c5d21c608e92c20c83b7e7ef2e9fc7c","unresolved":false,"context_lines":[{"line_number":114,"context_line":"control (RBAC) Dragonflow API should reject the requesting user attempts to"},{"line_number":115,"context_line":"perform operations or access resources that it does not have permission to."},{"line_number":116,"context_line":"Dragonflow API can start by servicing 3 types of users:"},{"line_number":117,"context_line":"- Admin - has access to everything."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"- Tenant Admin - admin of a tenant that has access to all resources that"},{"line_number":120,"context_line":"  belongs to the tenant."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_2093eb50","line":117,"range":{"start_line":117,"start_character":0,"end_line":117,"end_character":35},"in_reply_to":"1a430d35_1a4b012d","updated":"2017-02-06 07:05:22.000000000","message":"yes","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5ab1fda148ac8c5ff02a77bd31767caeadde1776","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"In the future version, deployer should be able to define roles and access"},{"line_number":126,"context_line":"policies."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"API definition"},{"line_number":129,"context_line":"--------------"},{"line_number":130,"context_line":"The proposal is to use OpenAPI specification [1] to describe Dragonflow API to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_fa5c75ef","line":127,"updated":"2017-02-03 01:47:29.000000000","message":"Could you elaborate the mapping between dragonflow multi-tenancy model and keystone v3 model?","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"e7e9fc7ed0b6e63718b879545273818eba3117b0","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"In the future version, deployer should be able to define roles and access"},{"line_number":126,"context_line":"policies."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"API definition"},{"line_number":129,"context_line":"--------------"},{"line_number":130,"context_line":"The proposal is to use OpenAPI specification [1] to describe Dragonflow API to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_80c6f697","line":127,"in_reply_to":"1a430d35_10afd8e2","updated":"2017-02-08 07:29:05.000000000","message":"I got it. Thanks for explanation.","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"50f1d0c7d86d1349da0a3420bac80043b6fb44bf","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"In the future version, deployer should be able to define roles and access"},{"line_number":126,"context_line":"policies."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"API definition"},{"line_number":129,"context_line":"--------------"},{"line_number":130,"context_line":"The proposal is to use OpenAPI specification [1] to describe Dragonflow API to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_10afd8e2","line":127,"in_reply_to":"1a430d35_9aea0cab","updated":"2017-02-08 07:02:06.000000000","message":"Regarding the full access control API, I am not sure we should provide it via the DF API. We may want to provide the API to retrieve all available tenants and retrieve models that belong to certain tenant, but not the definition of the authorization of such. DF will provide authentication and authorization services by integrating with external identity services. Dragonflow will be responsible to enforce the authorization, therefor the class of the identity service and its specific attributes will be part of the DF configuration. What do you think?\nRegarding the mapping of the different roles, in the openstack environment, DF super admin can be the same as the openstack admin. In a stand alone environment, it should be defined in a similar way.","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"ed63246c8c5d21c608e92c20c83b7e7ef2e9fc7c","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"In the future version, deployer should be able to define roles and access"},{"line_number":126,"context_line":"policies."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"API definition"},{"line_number":129,"context_line":"--------------"},{"line_number":130,"context_line":"The proposal is to use OpenAPI specification [1] to describe Dragonflow API to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_fb74329d","line":127,"in_reply_to":"1a430d35_fa5c75ef","updated":"2017-02-06 07:05:22.000000000","message":"I am not sure what is your question is about. \nThe Tenants (projects) should be defined to match keystone  (username, password, tenantName, tenantId and token)","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"2a101d6547aace86d91a08650ed4978402c1adb3","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"In the future version, deployer should be able to define roles and access"},{"line_number":126,"context_line":"policies."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"API definition"},{"line_number":129,"context_line":"--------------"},{"line_number":130,"context_line":"The proposal is to use OpenAPI specification [1] to describe Dragonflow API to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_9aea0cab","line":127,"in_reply_to":"1a430d35_fb74329d","updated":"2017-02-07 10:03:50.000000000","message":"I\u0027m not sure the relationship between tenant/tenant admin/user here and project/project admin/cloud admin in keystone. By the way, do you want to implement access control via API?","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5ab1fda148ac8c5ff02a77bd31767caeadde1776","unresolved":false,"context_lines":[{"line_number":133,"context_line":"additional documentation. There are existing tools that can be used to generate"},{"line_number":134,"context_line":"documentation and client code."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"Work Items"},{"line_number":138,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":139,"context_line":"1. Define Dragonflow programming model."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_5af109cd","line":136,"updated":"2017-02-03 01:47:29.000000000","message":"Please add a section to discuss the deployment changes including the standalone setup and neutron integration.","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"ed63246c8c5d21c608e92c20c83b7e7ef2e9fc7c","unresolved":false,"context_lines":[{"line_number":133,"context_line":"additional documentation. There are existing tools that can be used to generate"},{"line_number":134,"context_line":"documentation and client code."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"Work Items"},{"line_number":138,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":139,"context_line":"1. Define Dragonflow programming model."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_a09fdb4e","line":136,"in_reply_to":"1a430d35_5af109cd","updated":"2017-02-06 07:05:22.000000000","message":"Will add","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5ab1fda148ac8c5ff02a77bd31767caeadde1776","unresolved":false,"context_lines":[{"line_number":140,"context_line":"2. Add support for auto-generation of the OpenAPI spec from the model."},{"line_number":141,"context_line":"3. Add RESTful API (preferably auto-generated) from the model’s spec."},{"line_number":142,"context_line":"4. Add Authorization service."},{"line_number":143,"context_line":"5. Add Python library (binding)"},{"line_number":144,"context_line":"6. Add Command Line Tool (CLI) which interact with the API server."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_fa13950b","line":143,"range":{"start_line":143,"start_character":3,"end_line":143,"end_character":31},"updated":"2017-02-03 01:47:29.000000000","message":"This seems a new subproject under dragonflow, python-dfclient?","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"ed63246c8c5d21c608e92c20c83b7e7ef2e9fc7c","unresolved":false,"context_lines":[{"line_number":140,"context_line":"2. Add support for auto-generation of the OpenAPI spec from the model."},{"line_number":141,"context_line":"3. Add RESTful API (preferably auto-generated) from the model’s spec."},{"line_number":142,"context_line":"4. Add Authorization service."},{"line_number":143,"context_line":"5. Add Python library (binding)"},{"line_number":144,"context_line":"6. Add Command Line Tool (CLI) which interact with the API server."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_40e8f7b4","line":143,"range":{"start_line":143,"start_character":3,"end_line":143,"end_character":31},"in_reply_to":"1a430d35_fa13950b","updated":"2017-02-06 07:05:22.000000000","message":"I think the best is to keep it under the dragonflow, since we plan to generate the code out of the model OpenAPI spec. It makes sense to keep it close to the data model itself.","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5ab1fda148ac8c5ff02a77bd31767caeadde1776","unresolved":false,"context_lines":[{"line_number":141,"context_line":"3. Add RESTful API (preferably auto-generated) from the model’s spec."},{"line_number":142,"context_line":"4. Add Authorization service."},{"line_number":143,"context_line":"5. Add Python library (binding)"},{"line_number":144,"context_line":"6. Add Command Line Tool (CLI) which interact with the API server."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"References"},{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_da25f95c","line":144,"range":{"start_line":144,"start_character":7,"end_line":144,"end_character":30},"updated":"2017-02-03 01:47:29.000000000","message":"Is it also belonging to the subproject mentioned in my comment above?","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"ed63246c8c5d21c608e92c20c83b7e7ef2e9fc7c","unresolved":false,"context_lines":[{"line_number":141,"context_line":"3. Add RESTful API (preferably auto-generated) from the model’s spec."},{"line_number":142,"context_line":"4. Add Authorization service."},{"line_number":143,"context_line":"5. Add Python library (binding)"},{"line_number":144,"context_line":"6. Add Command Line Tool (CLI) which interact with the API server."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"References"},{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a430d35_20084b91","line":144,"range":{"start_line":144,"start_character":7,"end_line":144,"end_character":30},"in_reply_to":"1a430d35_da25f95c","updated":"2017-02-06 07:05:22.000000000","message":"I see it as a stand alone project, that can use python-client. It can be maintained under dragonflow or as stand-alone project.","commit_id":"f5a4fd8cd38db48959488cefe1181e961f470cbc"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"b023d821763977946899098536934d39fcfa7274","unresolved":false,"context_lines":[{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Currently the only way to manage Dragonflow configuration elements is by using"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a430d35_ebc31b55","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":19},"updated":"2017-02-08 08:22:41.000000000","message":"There is another import problem the new API should solve:\npromote the performance when creating sources(such as port) in bulk operations, especially in the case of container network. It\u0027s proved that the current neutron-server is the bottle neck when creating a port.","commit_id":"682ddbc52fa08f14d7b8ddb79b6967f9395c20fb"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"792b924fa2f61d25c8fe6396f57081272ae11f67","unresolved":false,"context_lines":[{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Currently the only way to manage Dragonflow configuration elements is by using"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a430d35_c2e9d4b8","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":19},"in_reply_to":"1a430d35_220378b9","updated":"2017-02-08 12:39:55.000000000","message":"Nope. We should state here the requirements for the API","commit_id":"682ddbc52fa08f14d7b8ddb79b6967f9395c20fb"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"9003eaf1d8ea5dd1fb04c056a7e813a27fb7b9fc","unresolved":false,"context_lines":[{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Currently the only way to manage Dragonflow configuration elements is by using"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a430d35_2f1fb85b","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":19},"in_reply_to":"1a430d35_c2e9d4b8","updated":"2017-02-09 05:45:27.000000000","message":"Do you have some concrete requirements to be included in the spec?","commit_id":"682ddbc52fa08f14d7b8ddb79b6967f9395c20fb"},{"author":{"_account_id":20336,"name":"heshan","email":"shan.he@huawei.com","username":"shanhe"},"change_message_id":"9ce71a48cb6c4a566c79e0be89ebdc0da0d5507a","unresolved":false,"context_lines":[{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Currently the only way to manage Dragonflow configuration elements is by using"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a430d35_220378b9","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":19},"in_reply_to":"1a430d35_ce72e810","updated":"2017-02-08 12:36:50.000000000","message":"ok. Is there any other spec to discuss non-functional requirements for the new API such as performance?","commit_id":"682ddbc52fa08f14d7b8ddb79b6967f9395c20fb"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"3205153819567e4c8b15ac2ef0b725e4c60238d4","unresolved":false,"context_lines":[{"line_number":27,"context_line":"control over networks."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Problem Description"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Currently the only way to manage Dragonflow configuration elements is by using"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a430d35_ce72e810","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":19},"in_reply_to":"1a430d35_ebc31b55","updated":"2017-02-08 10:13:29.000000000","message":"The purpose of the API is to enable other than OpenStack environments to use Dragonflow for its networking solution. I think the API performance is just a non-functional requirements for the API, not sure that neutron API performance that we address by this spec.","commit_id":"682ddbc52fa08f14d7b8ddb79b6967f9395c20fb"}]}
