)]}'
{"doc/source/specs/stein/basic-network-plugin.rst":[{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"df396c42f7b46966982ef62d6b01f5fbe9dc52e7","unresolved":false,"context_lines":[{"line_number":32,"context_line":"  * The admin wants to give an user a floating ip with either the host or"},{"line_number":33,"context_line":"    instance reservation."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Blazar enables users to reserve floating ip by specifing a port which the"},{"line_number":39,"context_line":"reserved floating ip is associated with."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_bc706c11","line":36,"range":{"start_line":35,"start_character":0,"end_line":36,"end_character":15},"updated":"2018-11-14 12:47:24.000000000","message":"From a discussion with Akihiro, Neutron allows to create a floating ip out of allocation pool and it enables Blazar takes Allocating Reserved Floating IP approach in the alternative section. I\u0027ll update this spec with new idea.","commit_id":"1a92767b5d6585e50000db338e566880a3da3802"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"e25bd299aa2a958f44facbd785e3115f51b03570","unresolved":false,"context_lines":[{"line_number":116,"context_line":"The \"floatingip_reservations\" table keeps user\u0027s requesting infomation for"},{"line_number":117,"context_line":"their floating ip reservation.  The role of this table is similar to"},{"line_number":118,"context_line":"computehost_reservations table in the host reservation plugin. This table has"},{"line_number":119,"context_line":"id, network_id, floating_ip_address, and port_id columns."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"The \"floatingip_allocations\" table has the relationship between"},{"line_number":122,"context_line":"the floatingip_reservations table and the floatingips table."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_71454471","line":119,"range":{"start_line":119,"start_character":41,"end_line":119,"end_character":49},"updated":"2018-12-11 12:31:27.000000000","message":"it seems port_id no longer exists.","commit_id":"4fcd2ddeaff7bacaba5d242cb08feec9ceb82c23"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"b3c9c20f2aeec859d1d2c3bb08a45acf5592e8a3","unresolved":false,"context_lines":[{"line_number":116,"context_line":"The \"floatingip_reservations\" table keeps user\u0027s requesting infomation for"},{"line_number":117,"context_line":"their floating ip reservation.  The role of this table is similar to"},{"line_number":118,"context_line":"computehost_reservations table in the host reservation plugin. This table has"},{"line_number":119,"context_line":"id, network_id, floating_ip_address, and port_id columns."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"The \"floatingip_allocations\" table has the relationship between"},{"line_number":122,"context_line":"the floatingip_reservations table and the floatingips table."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_e5c9f222","line":119,"range":{"start_line":119,"start_character":41,"end_line":119,"end_character":49},"in_reply_to":"3f79a3b5_71454471","updated":"2018-12-19 08:20:13.000000000","message":"Done","commit_id":"4fcd2ddeaff7bacaba5d242cb08feec9ceb82c23"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"34fb2a0411b54bbd9cbcfe1d2701bb27c28804ff","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"   CREATE TABLE floatingips ("},{"line_number":151,"context_line":"       id VARCHAR(36) NOT NULL,"},{"line_number":152,"context_line":"       network_id VARCHAR(255) NOT NULL,"},{"line_number":153,"context_line":"       subnet_id VARCHAR(255) NOT NULL,"},{"line_number":154,"context_line":"       floating_ip_address VARCHAR(255) NOT NULL,"},{"line_number":155,"context_line":"       reservable BOOLEAN NOT NULL,"},{"line_number":156,"context_line":"   );"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_e570b6da","line":153,"range":{"start_line":152,"start_character":0,"end_line":153,"end_character":39},"updated":"2018-12-11 08:44:09.000000000","message":"Do we need both? Isn\u0027t subnet_id enough on its own?","commit_id":"4fcd2ddeaff7bacaba5d242cb08feec9ceb82c23"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"e25bd299aa2a958f44facbd785e3115f51b03570","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"   CREATE TABLE floatingips ("},{"line_number":151,"context_line":"       id VARCHAR(36) NOT NULL,"},{"line_number":152,"context_line":"       network_id VARCHAR(255) NOT NULL,"},{"line_number":153,"context_line":"       subnet_id VARCHAR(255) NOT NULL,"},{"line_number":154,"context_line":"       floating_ip_address VARCHAR(255) NOT NULL,"},{"line_number":155,"context_line":"       reservable BOOLEAN NOT NULL,"},{"line_number":156,"context_line":"   );"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_f1063422","line":153,"range":{"start_line":152,"start_character":0,"end_line":153,"end_character":39},"in_reply_to":"3f79a3b5_e570b6da","updated":"2018-12-11 12:31:27.000000000","message":"Neutron floating IP API requires network_id when creating a floating IP. We can look up network_id from subnet_id information, but it means we need one more API call to neutron.\nIt sounds reasonable to have both network_id and subnet_id.","commit_id":"4fcd2ddeaff7bacaba5d242cb08feec9ceb82c23"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"e25bd299aa2a958f44facbd785e3115f51b03570","unresolved":false,"context_lines":[{"line_number":206,"context_line":"           \"updated_at\": \"2017-05-01 11:00:00\","},{"line_number":207,"context_line":"         }],"},{"line_number":208,"context_line":"     }"},{"line_number":209,"context_line":"   }"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* URL: GET /v1/leases"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_1c074717","line":209,"updated":"2018-12-11 12:31:27.000000000","message":"Doesn\u0027t it have \u0027name\u0027, \u0027start\u0027, \u0027end\u0027 under \"lease\"?\nIn addition, lease ID seems required.\n\nThe request and response are not symmetric, but I am okay if it follows the current blazer API convention (though it looks different from most OpenStack APIs).","commit_id":"4fcd2ddeaff7bacaba5d242cb08feec9ceb82c23"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"b3c9c20f2aeec859d1d2c3bb08a45acf5592e8a3","unresolved":false,"context_lines":[{"line_number":206,"context_line":"           \"updated_at\": \"2017-05-01 11:00:00\","},{"line_number":207,"context_line":"         }],"},{"line_number":208,"context_line":"     }"},{"line_number":209,"context_line":"   }"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* URL: GET /v1/leases"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_b27a7724","line":209,"in_reply_to":"3f79a3b5_1c074717","updated":"2018-12-19 08:20:13.000000000","message":"Oops, it\u0027s my fault. I completely forgot adding the key-values. I\u0027ll update it.","commit_id":"4fcd2ddeaff7bacaba5d242cb08feec9ceb82c23"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"e25bd299aa2a958f44facbd785e3115f51b03570","unresolved":false,"context_lines":[{"line_number":226,"context_line":"  * The floating_network_id is an external network id the admin adds as"},{"line_number":227,"context_line":"    Blazar\u0027s resource."},{"line_number":228,"context_line":"  * The floating_ip_address is a specific floating ip address the admin wants"},{"line_number":229,"context_line":"    to add. The ip address must be the out of allocation_pools."},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"Request Example:"},{"line_number":232,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_3cab2391","line":229,"range":{"start_line":229,"start_character":11,"end_line":229,"end_character":63},"updated":"2018-12-11 12:31:27.000000000","message":"It might be nice if blazar has a config option to declare a set of IP addresses blazar can assign for floating IPs.\n\nAt least it would be nice if a set of IP address ranges blazar cannot assign for floating IPs.\n\nIt will prevent some misconfigurations.\n\nIt is just an idea so it might be redundant.","commit_id":"4fcd2ddeaff7bacaba5d242cb08feec9ceb82c23"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"b3c9c20f2aeec859d1d2c3bb08a45acf5592e8a3","unresolved":false,"context_lines":[{"line_number":226,"context_line":"  * The floating_network_id is an external network id the admin adds as"},{"line_number":227,"context_line":"    Blazar\u0027s resource."},{"line_number":228,"context_line":"  * The floating_ip_address is a specific floating ip address the admin wants"},{"line_number":229,"context_line":"    to add. The ip address must be the out of allocation_pools."},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"Request Example:"},{"line_number":232,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_c53956fa","line":229,"range":{"start_line":229,"start_character":11,"end_line":229,"end_character":63},"in_reply_to":"3f79a3b5_3cab2391","updated":"2018-12-19 08:20:13.000000000","message":"Thanks for the suggestion. From the meeting discussion, we decided to make when admin creates a floating IP in Blazar, Blazar fetches the subnet info from neutron and verifies that the floating IP is not in the allocation range and the floating IP is within the CIDR network.\n\nThis approach can prevent admin from syncing amond conf file, the allocation pool and Blazar\u0027s floating ip API.\n\nHow do you think?","commit_id":"4fcd2ddeaff7bacaba5d242cb08feec9ceb82c23"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6d9764b046c5fd967503c1cabac96e57f4233d1d","unresolved":false,"context_lines":[{"line_number":226,"context_line":"  * The floating_network_id is an external network id the admin adds as"},{"line_number":227,"context_line":"    Blazar\u0027s resource."},{"line_number":228,"context_line":"  * The floating_ip_address is a specific floating ip address the admin wants"},{"line_number":229,"context_line":"    to add. The ip address must be the out of allocation_pools."},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"Request Example:"},{"line_number":232,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_4b10f74d","line":229,"range":{"start_line":229,"start_character":11,"end_line":229,"end_character":63},"in_reply_to":"3f79a3b5_c53956fa","updated":"2018-12-19 09:20:37.000000000","message":"That works for me.\n\nThe only concern is the number of API calls but registering FIPs usually happens only when the initial setup (+ some expansion), so it may not be a problem.","commit_id":"4fcd2ddeaff7bacaba5d242cb08feec9ceb82c23"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"f6a8a0e8e4e092aef360c0f0b92b6602e0f29cb9","unresolved":false,"context_lines":[{"line_number":133,"context_line":"       id VARCHAR(36) NOT NULL,"},{"line_number":134,"context_line":"       reservation_id VARCHAR(255) NOT NULL,"},{"line_number":135,"context_line":"       network_id VARCHAR(255) NOT NULL,"},{"line_number":136,"context_line":"       floating_ip_address VARCHAR(255),"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"       PRIMARY key (id),"},{"line_number":139,"context_line":"       INDEX (id, reservation_id)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dfd5e7cf_1c895d74","line":136,"range":{"start_line":136,"start_character":7,"end_line":136,"end_character":26},"updated":"2019-01-08 09:21:51.000000000","message":"What is this field used for, since it is also stored in the floatingips table?","commit_id":"b06a48016b83c4f6a3dd73633d8245976c8c4fe9"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"7dd692711e9668a6b45a940db7a6070816edfe6b","unresolved":false,"context_lines":[{"line_number":133,"context_line":"       id VARCHAR(36) NOT NULL,"},{"line_number":134,"context_line":"       reservation_id VARCHAR(255) NOT NULL,"},{"line_number":135,"context_line":"       network_id VARCHAR(255) NOT NULL,"},{"line_number":136,"context_line":"       floating_ip_address VARCHAR(255),"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"       PRIMARY key (id),"},{"line_number":139,"context_line":"       INDEX (id, reservation_id)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bfdaf3ff_c8abfed3","line":136,"range":{"start_line":136,"start_character":7,"end_line":136,"end_character":26},"in_reply_to":"bfdaf3ff_c7d0d2fa","updated":"2019-01-14 15:38:21.000000000","message":"However we need the corresponding API support for this DB field to be useful.","commit_id":"b06a48016b83c4f6a3dd73633d8245976c8c4fe9"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"6f93615bb906ee43c978ffbe52549ee6717f8bdc","unresolved":false,"context_lines":[{"line_number":133,"context_line":"       id VARCHAR(36) NOT NULL,"},{"line_number":134,"context_line":"       reservation_id VARCHAR(255) NOT NULL,"},{"line_number":135,"context_line":"       network_id VARCHAR(255) NOT NULL,"},{"line_number":136,"context_line":"       floating_ip_address VARCHAR(255),"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"       PRIMARY key (id),"},{"line_number":139,"context_line":"       INDEX (id, reservation_id)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dfd5e7cf_cb3e7b28","line":136,"range":{"start_line":136,"start_character":7,"end_line":136,"end_character":26},"in_reply_to":"dfd5e7cf_1c895d74","updated":"2019-01-10 03:05:45.000000000","message":"I\u0027m thinking when an user specifies a specific floating ip address Blazar stores it address here. If not, NULL is stored in the column.\n\nThe info that an user specifies floating ip address or not is useful for the resource monitoring.","commit_id":"b06a48016b83c4f6a3dd73633d8245976c8c4fe9"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"325b89cdc13ecdf710ef68aae967b34e0aa8c06d","unresolved":false,"context_lines":[{"line_number":133,"context_line":"       id VARCHAR(36) NOT NULL,"},{"line_number":134,"context_line":"       reservation_id VARCHAR(255) NOT NULL,"},{"line_number":135,"context_line":"       network_id VARCHAR(255) NOT NULL,"},{"line_number":136,"context_line":"       floating_ip_address VARCHAR(255),"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"       PRIMARY key (id),"},{"line_number":139,"context_line":"       INDEX (id, reservation_id)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bfdaf3ff_c7d0d2fa","line":136,"range":{"start_line":136,"start_character":7,"end_line":136,"end_character":26},"in_reply_to":"dfd5e7cf_cb3e7b28","updated":"2019-01-14 11:31:50.000000000","message":"Thanks for the explanation. In a way this is similar to the purpose of the `hypervisor_properties` field for compute hosts, except we don\u0027t need a complex filter since there is just one field to filter on.","commit_id":"b06a48016b83c4f6a3dd73633d8245976c8c4fe9"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"05ad103a571bc94bb2e4df7ec161ac8dec09525c","unresolved":false,"context_lines":[{"line_number":178,"context_line":"   {"},{"line_number":179,"context_line":"     \"name\": \"floatingip-reservation-1\","},{"line_number":180,"context_line":"     \"reservations\": ["},{"line_number":181,"context_line":"       {"},{"line_number":182,"context_line":"         \"resource_type\": \"virtual:floatingip\","},{"line_number":183,"context_line":"         \"network_id\": \"external-network-id\","},{"line_number":184,"context_line":"       }"},{"line_number":185,"context_line":"      ],"},{"line_number":186,"context_line":"     \"start\": \"2017-05-17 09:07\","},{"line_number":187,"context_line":"     \"end\": \"2017-05-17 09:10\","}],"source_content_type":"text/x-rst","patch_set":8,"id":"bfdaf3ff_886096d0","line":184,"range":{"start_line":181,"start_character":0,"end_line":184,"end_character":8},"updated":"2019-01-14 15:37:47.000000000","message":"If the user can request a specific floating IP to reserve, there should be a corresponding field in the API.","commit_id":"4676b46b4f3acd8d725755783464646c037f23e2"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"59e0d559b52a5bce44fe2152c0b136c23da3caea","unresolved":false,"context_lines":[{"line_number":178,"context_line":"   {"},{"line_number":179,"context_line":"     \"name\": \"floatingip-reservation-1\","},{"line_number":180,"context_line":"     \"reservations\": ["},{"line_number":181,"context_line":"       {"},{"line_number":182,"context_line":"         \"resource_type\": \"virtual:floatingip\","},{"line_number":183,"context_line":"         \"network_id\": \"external-network-id\","},{"line_number":184,"context_line":"       }"},{"line_number":185,"context_line":"      ],"},{"line_number":186,"context_line":"     \"start\": \"2017-05-17 09:07\","},{"line_number":187,"context_line":"     \"end\": \"2017-05-17 09:10\","}],"source_content_type":"text/x-rst","patch_set":8,"id":"bfdaf3ff_bb94c28c","line":184,"range":{"start_line":181,"start_character":0,"end_line":184,"end_character":8},"in_reply_to":"bfdaf3ff_886096d0","updated":"2019-01-14 16:27:34.000000000","message":"It is a decision choice. I think it depends on what feature is exposed to non-admin users by blazar. neutron allows only admin to specify a flowing IP in its request. IMHO it is okay not to allow a regular user to specify a FIP in a lease.\n\nAnother idea is to allow users to specify a floating IP and control it based on policy.json.","commit_id":"4676b46b4f3acd8d725755783464646c037f23e2"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"a8147088f6956a9c11a3d3551bde72f7f13717a0","unresolved":false,"context_lines":[{"line_number":178,"context_line":"   {"},{"line_number":179,"context_line":"     \"name\": \"floatingip-reservation-1\","},{"line_number":180,"context_line":"     \"reservations\": ["},{"line_number":181,"context_line":"       {"},{"line_number":182,"context_line":"         \"resource_type\": \"virtual:floatingip\","},{"line_number":183,"context_line":"         \"network_id\": \"external-network-id\","},{"line_number":184,"context_line":"       }"},{"line_number":185,"context_line":"      ],"},{"line_number":186,"context_line":"     \"start\": \"2017-05-17 09:07\","},{"line_number":187,"context_line":"     \"end\": \"2017-05-17 09:10\","}],"source_content_type":"text/x-rst","patch_set":8,"id":"bfdaf3ff_e8bfd0f8","line":184,"range":{"start_line":181,"start_character":0,"end_line":184,"end_character":8},"in_reply_to":"bfdaf3ff_bb94c28c","updated":"2019-01-15 10:33:51.000000000","message":"Thanks for the suggestion. It\u0027s useful for Blazar to have an ability to specify flaoting ip. So I\u0027d like to add the feature.\n\nI noticed I forgot updating some API details for the current approach. I\u0027ll update it.","commit_id":"4676b46b4f3acd8d725755783464646c037f23e2"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"f3159e21082d4291886a9c443af0d427405e9558","unresolved":false,"context_lines":[{"line_number":155,"context_line":"       id VARCHAR(36) NOT NULL,"},{"line_number":156,"context_line":"       network_id VARCHAR(255) NOT NULL,"},{"line_number":157,"context_line":"       subnet_id VARCHAR(255) NOT NULL,"},{"line_number":158,"context_line":"       floating_ip_address VARCHAR(255) NOT NULL UNIQUE,"},{"line_number":159,"context_line":"       reservable BOOLEAN NOT NULL,"},{"line_number":160,"context_line":"   );"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"bfdaf3ff_0bf55c83","line":158,"range":{"start_line":158,"start_character":7,"end_line":158,"end_character":55},"updated":"2019-01-16 03:00:58.000000000","message":"Precisely speaking, the unique constraint should be applied as a combination of (floating IP address, subnet_id), but practically I don\u0027t think there are deployments where duplicated IP addresses are used as floating IP addresses, so it looks no problem.","commit_id":"1bf7d6ba80e02a3a3fb706f43a0d04b2fd59ad4b"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"5ec73a22b8f4d1ad6f0990746b07a7b75e34980b","unresolved":false,"context_lines":[{"line_number":155,"context_line":"       id VARCHAR(36) NOT NULL,"},{"line_number":156,"context_line":"       network_id VARCHAR(255) NOT NULL,"},{"line_number":157,"context_line":"       subnet_id VARCHAR(255) NOT NULL,"},{"line_number":158,"context_line":"       floating_ip_address VARCHAR(255) NOT NULL UNIQUE,"},{"line_number":159,"context_line":"       reservable BOOLEAN NOT NULL,"},{"line_number":160,"context_line":"   );"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9fdfeff1_017bd1f4","line":158,"range":{"start_line":158,"start_character":7,"end_line":158,"end_character":55},"in_reply_to":"9fdfeff1_216e2795","updated":"2019-01-28 09:31:22.000000000","message":"Done","commit_id":"1bf7d6ba80e02a3a3fb706f43a0d04b2fd59ad4b"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d2d781cd3cdf6a6a64173100f2bd9679949b9573","unresolved":false,"context_lines":[{"line_number":155,"context_line":"       id VARCHAR(36) NOT NULL,"},{"line_number":156,"context_line":"       network_id VARCHAR(255) NOT NULL,"},{"line_number":157,"context_line":"       subnet_id VARCHAR(255) NOT NULL,"},{"line_number":158,"context_line":"       floating_ip_address VARCHAR(255) NOT NULL UNIQUE,"},{"line_number":159,"context_line":"       reservable BOOLEAN NOT NULL,"},{"line_number":160,"context_line":"   );"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9fdfeff1_216e2795","line":158,"range":{"start_line":158,"start_character":7,"end_line":158,"end_character":55},"in_reply_to":"bfdaf3ff_0bf55c83","updated":"2019-01-25 18:35:09.000000000","message":"Masahito, what do you think of using instead:\n\n    UNIQUE(subnet_id,floating_ip_address)","commit_id":"1bf7d6ba80e02a3a3fb706f43a0d04b2fd59ad4b"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"9a528378f5bc6ceaadb6d204d87eac7c515ce7b4","unresolved":false,"context_lines":[{"line_number":175,"context_line":"  * Introduced new resource_type, virtual:floatingip, for a reservation."},{"line_number":176,"context_line":"  * The network_id is an external network ID from which the user wants to"},{"line_number":177,"context_line":"    reserve a floating ip."},{"line_number":178,"context_line":"  * The floating_ip_address is an optional key."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Request Example:"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_2b887e6f","line":178,"range":{"start_line":178,"start_character":4,"end_line":178,"end_character":47},"updated":"2019-02-07 09:17:15.000000000","message":"But if specified, it should be one that blazar has already got via its own \"POST /v1/floatingips\" otherwise results in error, right?","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"41d92e3f906b9383acd2da61ee3dc83401d8ae6f","unresolved":false,"context_lines":[{"line_number":175,"context_line":"  * Introduced new resource_type, virtual:floatingip, for a reservation."},{"line_number":176,"context_line":"  * The network_id is an external network ID from which the user wants to"},{"line_number":177,"context_line":"    reserve a floating ip."},{"line_number":178,"context_line":"  * The floating_ip_address is an optional key."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Request Example:"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_a8c98a59","line":178,"range":{"start_line":178,"start_character":4,"end_line":178,"end_character":47},"in_reply_to":"9fdfeff1_2b887e6f","updated":"2019-02-14 07:25:52.000000000","message":"Right. The floating_ip_address must be in the Blazar managed floating ip.","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"9a528378f5bc6ceaadb6d204d87eac7c515ce7b4","unresolved":false,"context_lines":[{"line_number":189,"context_line":"         \"network_id\": \"external-network-id\","},{"line_number":190,"context_line":"         \"floating_ip_address\": \"172.24.4.10\","},{"line_number":191,"context_line":"       }"},{"line_number":192,"context_line":"      ],"},{"line_number":193,"context_line":"     \"start\": \"2017-05-17 09:07\","},{"line_number":194,"context_line":"     \"end\": \"2017-05-17 09:10\","},{"line_number":195,"context_line":"     \"events\": []"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_ab6f8e90","line":192,"updated":"2019-02-07 09:17:15.000000000","message":"I wonder if we can support reservation.amount as well as instance reservation. I assume with this spec if a user wants multiple addresses they should put multiple reservations here, right?That is okay, but if it is true, I would feel better at least if it is addressed in this spec whether it is transactional (atomically processed) or not.","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"a538feee5aeec375fc5c5de25956478ed07d12ae","unresolved":false,"context_lines":[{"line_number":189,"context_line":"         \"network_id\": \"external-network-id\","},{"line_number":190,"context_line":"         \"floating_ip_address\": \"172.24.4.10\","},{"line_number":191,"context_line":"       }"},{"line_number":192,"context_line":"      ],"},{"line_number":193,"context_line":"     \"start\": \"2017-05-17 09:07\","},{"line_number":194,"context_line":"     \"end\": \"2017-05-17 09:10\","},{"line_number":195,"context_line":"     \"events\": []"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_a63e8e26","line":192,"in_reply_to":"9fdfeff1_1aea94d7","updated":"2019-02-26 05:01:34.000000000","message":"I\u0027ve updated the spec.  The db change section is also updated to follow the discussion. Pleace check it.","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"c438bcb729e963d5b2bd3f0db21835cb559215a0","unresolved":false,"context_lines":[{"line_number":189,"context_line":"         \"network_id\": \"external-network-id\","},{"line_number":190,"context_line":"         \"floating_ip_address\": \"172.24.4.10\","},{"line_number":191,"context_line":"       }"},{"line_number":192,"context_line":"      ],"},{"line_number":193,"context_line":"     \"start\": \"2017-05-17 09:07\","},{"line_number":194,"context_line":"     \"end\": \"2017-05-17 09:10\","},{"line_number":195,"context_line":"     \"events\": []"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_845e6a74","line":192,"in_reply_to":"9fdfeff1_6f78118f","updated":"2019-02-19 09:14:13.000000000","message":"Oops, sorry. My comment was in the draft.  Having multi floating ip in one reservation makes sense to me.\n\nTo move forward the discussion, what schema do you expect?  When the amount is 2 or greater and a floating_ip_address is spcified, it would fail to reserve the ip anytime.\n\nI can imagine the following schema, but it\u0027s difficult for user to expect the result.\n\n{\n \"resource_type\": \"virtual:floatingip\",\n \"network_id\": \"external-network-id\",\n \"floating_ip_address\": [\n    \"172.24.4.10\",\n    \"172.24.4.11\"\n ],\n \"amount\": 3\n}","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"8638624a31d31ee55f9b68216da932070ea8aa92","unresolved":false,"context_lines":[{"line_number":189,"context_line":"         \"network_id\": \"external-network-id\","},{"line_number":190,"context_line":"         \"floating_ip_address\": \"172.24.4.10\","},{"line_number":191,"context_line":"       }"},{"line_number":192,"context_line":"      ],"},{"line_number":193,"context_line":"     \"start\": \"2017-05-17 09:07\","},{"line_number":194,"context_line":"     \"end\": \"2017-05-17 09:10\","},{"line_number":195,"context_line":"     \"events\": []"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_1aea94d7","line":192,"in_reply_to":"9fdfeff1_845e6a74","updated":"2019-02-21 16:05:47.000000000","message":"@Masahito: please remember to update the spec following our discussion at the last IRC meeting. Thanks!","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"965d5a6c8ff6ee193a5f4cf8046048b84bbaf646","unresolved":false,"context_lines":[{"line_number":189,"context_line":"         \"network_id\": \"external-network-id\","},{"line_number":190,"context_line":"         \"floating_ip_address\": \"172.24.4.10\","},{"line_number":191,"context_line":"       }"},{"line_number":192,"context_line":"      ],"},{"line_number":193,"context_line":"     \"start\": \"2017-05-17 09:07\","},{"line_number":194,"context_line":"     \"end\": \"2017-05-17 09:10\","},{"line_number":195,"context_line":"     \"events\": []"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_6f78118f","line":192,"in_reply_to":"9fdfeff1_ab6f8e90","updated":"2019-02-18 14:53:23.000000000","message":"@Masahito: could you please address this comment as well?","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"74df613f0c24c46d860c728b04dd35b307994248","unresolved":false,"context_lines":[{"line_number":190,"context_line":"         \"floating_ip_address\": \"172.24.4.10\","},{"line_number":191,"context_line":"       }"},{"line_number":192,"context_line":"      ],"},{"line_number":193,"context_line":"     \"start\": \"2017-05-17 09:07\","},{"line_number":194,"context_line":"     \"end\": \"2017-05-17 09:10\","},{"line_number":195,"context_line":"     \"events\": []"},{"line_number":196,"context_line":"   }"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_95b9777a","line":193,"range":{"start_line":193,"start_character":6,"end_line":193,"end_character":11},"updated":"2019-02-21 16:57:59.000000000","message":"start_date","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"a538feee5aeec375fc5c5de25956478ed07d12ae","unresolved":false,"context_lines":[{"line_number":190,"context_line":"         \"floating_ip_address\": \"172.24.4.10\","},{"line_number":191,"context_line":"       }"},{"line_number":192,"context_line":"      ],"},{"line_number":193,"context_line":"     \"start\": \"2017-05-17 09:07\","},{"line_number":194,"context_line":"     \"end\": \"2017-05-17 09:10\","},{"line_number":195,"context_line":"     \"events\": []"},{"line_number":196,"context_line":"   }"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_e6fb3678","line":193,"range":{"start_line":193,"start_character":6,"end_line":193,"end_character":11},"in_reply_to":"9fdfeff1_95b9777a","updated":"2019-02-26 05:01:34.000000000","message":"Done","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"74df613f0c24c46d860c728b04dd35b307994248","unresolved":false,"context_lines":[{"line_number":191,"context_line":"       }"},{"line_number":192,"context_line":"      ],"},{"line_number":193,"context_line":"     \"start\": \"2017-05-17 09:07\","},{"line_number":194,"context_line":"     \"end\": \"2017-05-17 09:10\","},{"line_number":195,"context_line":"     \"events\": []"},{"line_number":196,"context_line":"   }"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_35b0cb8b","line":194,"range":{"start_line":194,"start_character":6,"end_line":194,"end_character":9},"updated":"2019-02-21 16:57:59.000000000","message":"end_date","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"a538feee5aeec375fc5c5de25956478ed07d12ae","unresolved":false,"context_lines":[{"line_number":191,"context_line":"       }"},{"line_number":192,"context_line":"      ],"},{"line_number":193,"context_line":"     \"start\": \"2017-05-17 09:07\","},{"line_number":194,"context_line":"     \"end\": \"2017-05-17 09:10\","},{"line_number":195,"context_line":"     \"events\": []"},{"line_number":196,"context_line":"   }"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_a6f9ae80","line":194,"range":{"start_line":194,"start_character":6,"end_line":194,"end_character":9},"in_reply_to":"9fdfeff1_35b0cb8b","updated":"2019-02-26 05:01:34.000000000","message":"Done","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"9a528378f5bc6ceaadb6d204d87eac7c515ce7b4","unresolved":false,"context_lines":[{"line_number":240,"context_line":"  * The floating_ip_address is a specific floating IP address the admin wants"},{"line_number":241,"context_line":"    to add. The IP address must be the out of allocation_pools. When admin"},{"line_number":242,"context_line":"    calls the API, Blazar fetches the subnet info from Neutron and verifies"},{"line_number":243,"context_line":"    the floating IP is out of allocation_pools and within its CIDR network."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Request Example:"},{"line_number":246,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_4b1aa217","line":243,"updated":"2019-02-07 09:17:15.000000000","message":"Why not make the \"floating_ip_address\" optional? It sounds we can pick up an ip-address out of the allocation pool asking neutron.","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"a538feee5aeec375fc5c5de25956478ed07d12ae","unresolved":false,"context_lines":[{"line_number":240,"context_line":"  * The floating_ip_address is a specific floating IP address the admin wants"},{"line_number":241,"context_line":"    to add. The IP address must be the out of allocation_pools. When admin"},{"line_number":242,"context_line":"    calls the API, Blazar fetches the subnet info from Neutron and verifies"},{"line_number":243,"context_line":"    the floating IP is out of allocation_pools and within its CIDR network."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Request Example:"},{"line_number":246,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_86ecaabb","line":243,"in_reply_to":"9fdfeff1_396e8500","updated":"2019-02-26 05:01:34.000000000","message":"Thanks","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"965d5a6c8ff6ee193a5f4cf8046048b84bbaf646","unresolved":false,"context_lines":[{"line_number":240,"context_line":"  * The floating_ip_address is a specific floating IP address the admin wants"},{"line_number":241,"context_line":"    to add. The IP address must be the out of allocation_pools. When admin"},{"line_number":242,"context_line":"    calls the API, Blazar fetches the subnet info from Neutron and verifies"},{"line_number":243,"context_line":"    the floating IP is out of allocation_pools and within its CIDR network."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Request Example:"},{"line_number":246,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_cf3d7dbd","line":243,"in_reply_to":"9fdfeff1_4a1f8007","updated":"2019-02-18 14:53:23.000000000","message":"I don\u0027t think we should make `floating_ip_address` optional. It can be common for IPs outside of the allocation pool to be used by network equipment.\n\nIt\u0027s also quite easy for operators to script the creation of floating IPs in Blazar.","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"41d92e3f906b9383acd2da61ee3dc83401d8ae6f","unresolved":false,"context_lines":[{"line_number":240,"context_line":"  * The floating_ip_address is a specific floating IP address the admin wants"},{"line_number":241,"context_line":"    to add. The IP address must be the out of allocation_pools. When admin"},{"line_number":242,"context_line":"    calls the API, Blazar fetches the subnet info from Neutron and verifies"},{"line_number":243,"context_line":"    the floating IP is out of allocation_pools and within its CIDR network."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Request Example:"},{"line_number":246,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_4a1f8007","line":243,"in_reply_to":"9fdfeff1_4b1aa217","updated":"2019-02-14 07:25:52.000000000","message":"How does it work when the \"floating_ip_address\" is emitted?  Blazar takes Floating IP randomly, minmun or maximum?","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"dcfde163c347d88ecae600e9aadd13c739ec5632","unresolved":false,"context_lines":[{"line_number":240,"context_line":"  * The floating_ip_address is a specific floating IP address the admin wants"},{"line_number":241,"context_line":"    to add. The IP address must be the out of allocation_pools. When admin"},{"line_number":242,"context_line":"    calls the API, Blazar fetches the subnet info from Neutron and verifies"},{"line_number":243,"context_line":"    the floating IP is out of allocation_pools and within its CIDR network."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Request Example:"},{"line_number":246,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_396e8500","line":243,"in_reply_to":"9fdfeff1_99fbf145","updated":"2019-02-21 17:36:54.000000000","message":"Thanks Akihiro :-)","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"12ebcbaefbf9eb0b2424aae82d0e705bedc7e7e8","unresolved":false,"context_lines":[{"line_number":240,"context_line":"  * The floating_ip_address is a specific floating IP address the admin wants"},{"line_number":241,"context_line":"    to add. The IP address must be the out of allocation_pools. When admin"},{"line_number":242,"context_line":"    calls the API, Blazar fetches the subnet info from Neutron and verifies"},{"line_number":243,"context_line":"    the floating IP is out of allocation_pools and within its CIDR network."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Request Example:"},{"line_number":246,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_99fbf145","line":243,"in_reply_to":"9fdfeff1_cf3d7dbd","updated":"2019-02-21 17:34:42.000000000","message":"Masahito and Pierre are correct. IP addresses out side of the allocation pools can be used by various network equipment including provider routers. Blazar cannot assume all IP addresses outside of the allocation pools can be used.\n(This is what Masahito and I discussed and why Blazar needs to maintain a list of available IP addresses.)","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"9a528378f5bc6ceaadb6d204d87eac7c515ce7b4","unresolved":false,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"   {"},{"line_number":250,"context_line":"     \"floating_network_id\": \"external-network-id\","},{"line_number":251,"context_line":"     \"floating_ip_address\": \"floating_ip_address\""},{"line_number":252,"context_line":"   }"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"* The reservable key is a flag describing if the floating IP is reservable or"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_ab1d4e10","line":251,"updated":"2019-02-07 09:17:15.000000000","message":"Why not support getting multiple addresses as a bulk?","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"41d92e3f906b9383acd2da61ee3dc83401d8ae6f","unresolved":false,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"   {"},{"line_number":250,"context_line":"     \"floating_network_id\": \"external-network-id\","},{"line_number":251,"context_line":"     \"floating_ip_address\": \"floating_ip_address\""},{"line_number":252,"context_line":"   }"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"* The reservable key is a flag describing if the floating IP is reservable or"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_cad85054","line":251,"in_reply_to":"9fdfeff1_ab1d4e10","updated":"2019-02-14 07:25:52.000000000","message":"The API design follows the Host APIs as a Blazar\u0027s API standard. Do you prefer to only the floating ip API introduces new semantics?","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"9a528378f5bc6ceaadb6d204d87eac7c515ce7b4","unresolved":false,"context_lines":[{"line_number":272,"context_line":"     }"},{"line_number":273,"context_line":"   }"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"* URL: GET /v1/floatingips"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Response Example:"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_2bbcfeb9","line":275,"range":{"start_line":275,"start_character":0,"end_line":275,"end_character":26},"updated":"2019-02-07 09:17:15.000000000","message":"This lists the *only* addresses that are *Blazar\u0027s control*, right?","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"41d92e3f906b9383acd2da61ee3dc83401d8ae6f","unresolved":false,"context_lines":[{"line_number":272,"context_line":"     }"},{"line_number":273,"context_line":"   }"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"* URL: GET /v1/floatingips"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Response Example:"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9fdfeff1_6ad92454","line":275,"range":{"start_line":275,"start_character":0,"end_line":275,"end_character":26},"in_reply_to":"9fdfeff1_2bbcfeb9","updated":"2019-02-14 07:25:52.000000000","message":"yes.","commit_id":"d0b53dac0ba7f5a072b991d00d85ddcc821fe71d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"79a47c12fad15e9d6629ee79a496f522d3806942","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Basic Network Plugin"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/blazar/+spec/basic-network-plugin"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9fdfeff1_9a507ad7","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":20},"updated":"2019-02-26 06:13:35.000000000","message":"It looks better to contain \"floating IP reservation\" in the title. When I looked at the rendered \"Spec\" page [1], I first wondered where is this spec.....\n\n[1] http://logs.openstack.org/02/609302/11/check/openstack-tox-docs/6d13d51/html/specs/index.html#stein","commit_id":"9f3a90f1445a234088210153ffec28224c247569"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"e85b9a89321517a883c66f9ee1a3fad02cad6b8e","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Basic Network Plugin"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/blazar/+spec/basic-network-plugin"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9fdfeff1_e6422868","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":20},"in_reply_to":"9fdfeff1_9a507ad7","updated":"2019-02-27 19:46:49.000000000","message":"That\u0027s a good point. I support changing the title of the spec (to \"Floating IP Reservation\" as well as the blueprint name to \"floatingip-reservation\".","commit_id":"9f3a90f1445a234088210153ffec28224c247569"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"2549f67147e12413cdd43a493a308b223dccc57f","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Basic Network Plugin"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/blazar/+spec/basic-network-plugin"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5fc1f717_4589f3c7","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":20},"in_reply_to":"9fdfeff1_e6422868","updated":"2019-03-12 08:23:41.000000000","message":"Okay, I updated the title of this spec and the link to its blueprint.","commit_id":"9f3a90f1445a234088210153ffec28224c247569"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"79a47c12fad15e9d6629ee79a496f522d3806942","unresolved":false,"context_lines":[{"line_number":206,"context_line":"           \"172.24.4.10\","},{"line_number":207,"context_line":"           \"172.24.4.11\""},{"line_number":208,"context_line":"         ],"},{"line_number":209,"context_line":"         \"amount\": 3"},{"line_number":210,"context_line":"       }"},{"line_number":211,"context_line":"      ],"},{"line_number":212,"context_line":"     \"start_date\": \"2017-05-17 09:07\","}],"source_content_type":"text/x-rst","patch_set":11,"id":"9fdfeff1_7a0a76d2","line":209,"updated":"2019-02-26 06:13:35.000000000","message":"The number of floating_ip_addresses is 2, but the amount is 3.\nWhat does this mean?\n\nIf this means a user requests three floating IP addresses and specify 2 of 3 addresses, the response below should include three floating IP addresses.\n\nI am confused with the example.","commit_id":"9f3a90f1445a234088210153ffec28224c247569"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"2549f67147e12413cdd43a493a308b223dccc57f","unresolved":false,"context_lines":[{"line_number":206,"context_line":"           \"172.24.4.10\","},{"line_number":207,"context_line":"           \"172.24.4.11\""},{"line_number":208,"context_line":"         ],"},{"line_number":209,"context_line":"         \"amount\": 3"},{"line_number":210,"context_line":"       }"},{"line_number":211,"context_line":"      ],"},{"line_number":212,"context_line":"     \"start_date\": \"2017-05-17 09:07\","}],"source_content_type":"text/x-rst","patch_set":11,"id":"5fc1f717_5d6b0bb6","line":209,"in_reply_to":"9fdfeff1_713270f4","updated":"2019-03-12 08:23:41.000000000","message":"I\u0027ve changed the name to \"required_floatingips\".\n\nOne point about the response. With the current response body, the user can\u0027t find out non-required reserved floating IPs until the start_time comes.  Does it make sense? Or should the non-required FIP be included in the response body, like \"assigned_floatingips\"?\n\nI updated the spec with the current approach.","commit_id":"9f3a90f1445a234088210153ffec28224c247569"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"e85b9a89321517a883c66f9ee1a3fad02cad6b8e","unresolved":false,"context_lines":[{"line_number":206,"context_line":"           \"172.24.4.10\","},{"line_number":207,"context_line":"           \"172.24.4.11\""},{"line_number":208,"context_line":"         ],"},{"line_number":209,"context_line":"         \"amount\": 3"},{"line_number":210,"context_line":"       }"},{"line_number":211,"context_line":"      ],"},{"line_number":212,"context_line":"     \"start_date\": \"2017-05-17 09:07\","}],"source_content_type":"text/x-rst","patch_set":11,"id":"9fdfeff1_713270f4","line":209,"in_reply_to":"9fdfeff1_7a0a76d2","updated":"2019-02-27 19:46:49.000000000","message":"Indeed it means a user wants 3 addresses, and wants to specify only 2 out of 3 (the third one is free to be chosen by Blazar).\n\nThe field `floating_ip_addresses` in the response is actually just a copy of the original value in the request. To learn which floating IPs were allocated by Blazar, users can query Neutron: floating IPs are tagged with the reservation ID.\n\nMaybe \"floating_ip_addresses\" is not the best key name. Would it be clearer if it was named \"required_addresses\" or \"required_floatingips\"?","commit_id":"9f3a90f1445a234088210153ffec28224c247569"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"79a47c12fad15e9d6629ee79a496f522d3806942","unresolved":false,"context_lines":[{"line_number":211,"context_line":"      ],"},{"line_number":212,"context_line":"     \"start_date\": \"2017-05-17 09:07\","},{"line_number":213,"context_line":"     \"end_date\": \"2017-05-17 09:10\","},{"line_number":214,"context_line":"     \"events\": []"},{"line_number":215,"context_line":"   }"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"Response Example:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9fdfeff1_faf506cc","line":214,"updated":"2019-02-26 06:13:35.000000000","message":"What does this mean? I see no description on \"events\". Is it post-able?","commit_id":"9f3a90f1445a234088210153ffec28224c247569"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"e85b9a89321517a883c66f9ee1a3fad02cad6b8e","unresolved":false,"context_lines":[{"line_number":211,"context_line":"      ],"},{"line_number":212,"context_line":"     \"start_date\": \"2017-05-17 09:07\","},{"line_number":213,"context_line":"     \"end_date\": \"2017-05-17 09:10\","},{"line_number":214,"context_line":"     \"events\": []"},{"line_number":215,"context_line":"   }"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"Response Example:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9fdfeff1_f153c014","line":214,"in_reply_to":"9fdfeff1_faf506cc","updated":"2019-02-27 19:46:49.000000000","message":"This is a standard field in create lease requests, nothing specific to this spec: https://developer.openstack.org/api-ref/reservation/v1/index.html?expanded\u003dcreate-lease-detail#create-lease","commit_id":"9f3a90f1445a234088210153ffec28224c247569"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"a6f7e44da627693db762c576204379d222e79ec2","unresolved":false,"context_lines":[{"line_number":285,"context_line":""},{"line_number":286,"context_line":"Response Example:"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":".. sourcecode:: json"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"   {"},{"line_number":291,"context_line":"     \"floatingip\": {"},{"line_number":292,"context_line":"         \"id\": \"floating-ip-id\","},{"line_number":293,"context_line":"         \"floating_network_id\": \"external-network-id\","},{"line_number":294,"context_line":"         \"floating_ip_address\": \"floating_ip_address\","},{"line_number":295,"context_line":"         \"reservable\": true,"},{"line_number":296,"context_line":"         \"created_at\": \"2020-01-01 10:00:00\","},{"line_number":297,"context_line":"         \"updated_at\": null"},{"line_number":298,"context_line":"     }"},{"line_number":299,"context_line":"   }"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"* URL: GET /v1/floatingips"},{"line_number":302,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9fdfeff1_ba3755e3","line":299,"range":{"start_line":288,"start_character":0,"end_line":299,"end_character":4},"updated":"2019-02-27 16:24:18.000000000","message":"This doesn\u0027t match the response in the current code, which:\n\n- uses network_id instead of floating_network_id\n- includes subnet_id\n\nI think request and response should be consistent and use the same parameter name. FWIW I prefer network_id over floating_network_id.","commit_id":"9f3a90f1445a234088210153ffec28224c247569"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0a570cb25f1a87b0239c7f2fc98f9ccae3e9226c","unresolved":false,"context_lines":[{"line_number":285,"context_line":""},{"line_number":286,"context_line":"Response Example:"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":".. sourcecode:: json"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"   {"},{"line_number":291,"context_line":"     \"floatingip\": {"},{"line_number":292,"context_line":"         \"id\": \"floating-ip-id\","},{"line_number":293,"context_line":"         \"floating_network_id\": \"external-network-id\","},{"line_number":294,"context_line":"         \"floating_ip_address\": \"floating_ip_address\","},{"line_number":295,"context_line":"         \"reservable\": true,"},{"line_number":296,"context_line":"         \"created_at\": \"2020-01-01 10:00:00\","},{"line_number":297,"context_line":"         \"updated_at\": null"},{"line_number":298,"context_line":"     }"},{"line_number":299,"context_line":"   }"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"* URL: GET /v1/floatingips"},{"line_number":302,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"5fc1f717_5d8a2bbf","line":299,"range":{"start_line":288,"start_character":0,"end_line":299,"end_character":4},"in_reply_to":"5fc1f717_9d25f35e","updated":"2019-03-12 08:39:41.000000000","message":"I am okay with either.\n\n- The resource name is about floating IP, so generally speaking \"floatingip_\" prefix is redundant.\n- On the other hand, it helps understand the concept easily to use the same name as the neutron API.","commit_id":"9f3a90f1445a234088210153ffec28224c247569"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"8d132097327b299ad81a29ac8007c9dd6dae1a15","unresolved":false,"context_lines":[{"line_number":285,"context_line":""},{"line_number":286,"context_line":"Response Example:"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":".. sourcecode:: json"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"   {"},{"line_number":291,"context_line":"     \"floatingip\": {"},{"line_number":292,"context_line":"         \"id\": \"floating-ip-id\","},{"line_number":293,"context_line":"         \"floating_network_id\": \"external-network-id\","},{"line_number":294,"context_line":"         \"floating_ip_address\": \"floating_ip_address\","},{"line_number":295,"context_line":"         \"reservable\": true,"},{"line_number":296,"context_line":"         \"created_at\": \"2020-01-01 10:00:00\","},{"line_number":297,"context_line":"         \"updated_at\": null"},{"line_number":298,"context_line":"     }"},{"line_number":299,"context_line":"   }"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"* URL: GET /v1/floatingips"},{"line_number":302,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"5fc1f717_55c88472","line":299,"range":{"start_line":288,"start_character":0,"end_line":299,"end_character":4},"in_reply_to":"5fc1f717_9d25f35e","updated":"2019-03-14 17:38:04.000000000","message":"Thanks, I didn\u0027t realise Neutron was using this terminology. Let\u0027s match with Neutron, it is more helpful for developers.","commit_id":"9f3a90f1445a234088210153ffec28224c247569"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"2549f67147e12413cdd43a493a308b223dccc57f","unresolved":false,"context_lines":[{"line_number":285,"context_line":""},{"line_number":286,"context_line":"Response Example:"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":".. sourcecode:: json"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"   {"},{"line_number":291,"context_line":"     \"floatingip\": {"},{"line_number":292,"context_line":"         \"id\": \"floating-ip-id\","},{"line_number":293,"context_line":"         \"floating_network_id\": \"external-network-id\","},{"line_number":294,"context_line":"         \"floating_ip_address\": \"floating_ip_address\","},{"line_number":295,"context_line":"         \"reservable\": true,"},{"line_number":296,"context_line":"         \"created_at\": \"2020-01-01 10:00:00\","},{"line_number":297,"context_line":"         \"updated_at\": null"},{"line_number":298,"context_line":"     }"},{"line_number":299,"context_line":"   }"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"* URL: GET /v1/floatingips"},{"line_number":302,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"5fc1f717_9d25f35e","line":299,"range":{"start_line":288,"start_character":0,"end_line":299,"end_character":4},"in_reply_to":"9fdfeff1_ba3755e3","updated":"2019-03-12 08:23:41.000000000","message":"I try to keep synchronizing the key name with the Neutron\u0027s floating ip APIs[1]. Do you prefer network_id?\n\nThe differences in the response body are my omission or inconsistent to the db column name. I fixed it.\n\n1. https://developer.openstack.org/api-ref/network/v2/?expanded\u003d#floating-ips-floatingips","commit_id":"9f3a90f1445a234088210153ffec28224c247569"}],"doc/source/specs/stein/floatingip-reservation.rst":[{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"cf5031b4bc8496cfd523cdd12643aa9dbfd17d8f","unresolved":false,"context_lines":[{"line_number":120,"context_line":"id, network_id and amount columns. The table has a relationship with the set of"},{"line_number":121,"context_line":"floating IPs requested by user."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"The \"required_floatingips\" table represents floating IPs that a user requests"},{"line_number":124,"context_line":"for a reservation."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"The \"floatingip_allocations\" table has the relationship between the"},{"line_number":127,"context_line":"floatingip_reservations table and the floatingips table."}],"source_content_type":"text/x-rst","patch_set":17,"id":"5fc1f717_0267f7b8","line":124,"range":{"start_line":123,"start_character":0,"end_line":124,"end_character":18},"updated":"2019-03-18 04:46:41.000000000","message":"Yes, but to be honest I\u0027m not catching up why we need to make it durable. Once blazar selects floating ips to reserve and write them to the `floatingip_allocations` table, the requested required ips info will be no longer necessary if I\u0027m not missing something. Maybe we need this when blazar needs to reschedule ips and re-select the floating ips automatically, but I\u0027m not sure we have that use case, so my question is simple:\n\nCould you tell me when blazar refers to this table?","commit_id":"80938dfab95e6f63dbee0541943904e851d8798f"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"0523cc84a10f971a880984f292cb2f38aaa7ef43","unresolved":false,"context_lines":[{"line_number":120,"context_line":"id, network_id and amount columns. The table has a relationship with the set of"},{"line_number":121,"context_line":"floating IPs requested by user."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"The \"required_floatingips\" table represents floating IPs that a user requests"},{"line_number":124,"context_line":"for a reservation."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"The \"floatingip_allocations\" table has the relationship between the"},{"line_number":127,"context_line":"floatingip_reservations table and the floatingips table."}],"source_content_type":"text/x-rst","patch_set":17,"id":"5fc1f717_0d82b101","line":124,"range":{"start_line":123,"start_character":0,"end_line":124,"end_character":18},"in_reply_to":"5fc1f717_0267f7b8","updated":"2019-03-18 22:52:58.000000000","message":"\u003e Yes, but to be honest I\u0027m not catching up why we need to make it\n \u003e durable. Once blazar selects floating ips to reserve and write them\n \u003e to the `floatingip_allocations` table, the requested required ips\n \u003e info will be no longer necessary if I\u0027m not missing something.\n \u003e Maybe we need this when blazar needs to reschedule ips and\n \u003e re-select the floating ips automatically, but I\u0027m not sure we have\n \u003e that use case, so my question is simple:\n \u003e \n \u003e Could you tell me when blazar refers to this table?\n\nIt is required to include the list of requested IPs in the response of show-lease. See https://review.openstack.org/#/c/632956/11/blazar/db/sqlalchemy/models.py","commit_id":"80938dfab95e6f63dbee0541943904e851d8798f"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"c6e87b6b3da24ba2504b60e9ff2ce57708cd7acf","unresolved":false,"context_lines":[{"line_number":120,"context_line":"id, network_id and amount columns. The table has a relationship with the set of"},{"line_number":121,"context_line":"floating IPs requested by user."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"The \"required_floatingips\" table represents floating IPs that a user requests"},{"line_number":124,"context_line":"for a reservation."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"The \"floatingip_allocations\" table has the relationship between the"},{"line_number":127,"context_line":"floatingip_reservations table and the floatingips table."}],"source_content_type":"text/x-rst","patch_set":17,"id":"5fc1f717_c2a6cfc1","line":124,"range":{"start_line":123,"start_character":0,"end_line":124,"end_character":18},"in_reply_to":"5fc1f717_0267f7b8","updated":"2019-03-18 04:54:16.000000000","message":"It is okay for me to have this table \u0027just in case\u0027. I just wanted to make things clear.","commit_id":"80938dfab95e6f63dbee0541943904e851d8798f"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"8eaa91da3c16c3c846a881ba882cd4260e76603b","unresolved":false,"context_lines":[{"line_number":120,"context_line":"id, network_id and amount columns. The table has a relationship with the set of"},{"line_number":121,"context_line":"floating IPs requested by user."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"The \"required_floatingips\" table represents floating IPs that a user requests"},{"line_number":124,"context_line":"for a reservation."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"The \"floatingip_allocations\" table has the relationship between the"},{"line_number":127,"context_line":"floatingip_reservations table and the floatingips table."}],"source_content_type":"text/x-rst","patch_set":17,"id":"5fc1f717_b6ee4eb2","line":124,"range":{"start_line":123,"start_character":0,"end_line":124,"end_character":18},"in_reply_to":"5fc1f717_0d82b101","updated":"2019-03-19 04:59:49.000000000","message":"Ah, I see. That works for me.","commit_id":"80938dfab95e6f63dbee0541943904e851d8798f"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"493823a433d7062f8e405394aecf6cb101f54c99","unresolved":false,"context_lines":[{"line_number":120,"context_line":"id, network_id and amount columns. The table has a relationship with the set of"},{"line_number":121,"context_line":"floating IPs requested by user."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"The \"required_floatingips\" table represents floating IPs that a user requests"},{"line_number":124,"context_line":"for a reservation."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"The \"floatingip_allocations\" table has the relationship between the"},{"line_number":127,"context_line":"floatingip_reservations table and the floatingips table."}],"source_content_type":"text/x-rst","patch_set":17,"id":"5fc1f717_dca0d994","line":124,"range":{"start_line":123,"start_character":0,"end_line":124,"end_character":18},"in_reply_to":"5fc1f717_b6ee4eb2","updated":"2019-03-19 08:29:18.000000000","message":"Thank you so much for answering the question, Pierre.\n\nThe table is needed for the lease update API as well.  In the case a floating ip reservation is requested to update from amount\u003d2 with required_fip\u003d[172.24.4.100] to amount\u003d3 with required_fip\u003d[172.24.4.100] and the request body doesn\u0027t have the required_fip key.","commit_id":"80938dfab95e6f63dbee0541943904e851d8798f"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"cf5031b4bc8496cfd523cdd12643aa9dbfd17d8f","unresolved":false,"context_lines":[{"line_number":192,"context_line":"    reserve a floating ip."},{"line_number":193,"context_line":"  * The required_floatingips is an optional key. The key represents a list of"},{"line_number":194,"context_line":"    floating IPs which must be included in the reservation. In the request"},{"line_number":195,"context_line":"    sample, an user wants 3 floating IPs, and wants to spcifiy 2 of 3"},{"line_number":196,"context_line":"    floating IPs and doesn\u0027t care of 1 of 3 floating IP."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"Request Example:"}],"source_content_type":"text/x-rst","patch_set":17,"id":"5fc1f717_42dadf77","line":195,"range":{"start_line":195,"start_character":55,"end_line":195,"end_character":62},"updated":"2019-03-18 04:46:41.000000000","message":"specify","commit_id":"80938dfab95e6f63dbee0541943904e851d8798f"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"cf5031b4bc8496cfd523cdd12643aa9dbfd17d8f","unresolved":false,"context_lines":[{"line_number":272,"context_line":"    to add. The IP address must be the out of allocation_pools. When admin"},{"line_number":273,"context_line":"    calls the API, Blazar fetches the subnet info from Neutron and verifies"},{"line_number":274,"context_line":"    the floating IP is out of allocation_pools and within its CIDR network."},{"line_number":275,"context_line":"  * The floating_ip_address can\u0027t be an optional parameter since IPs outside of"},{"line_number":276,"context_line":"    the allocation_pool is commonly used by network equipment, a router,"},{"line_number":277,"context_line":"    a loadbalancer and etc."},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"Request Example:"},{"line_number":280,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"5fc1f717_2276b371","line":277,"range":{"start_line":275,"start_character":0,"end_line":277,"end_character":27},"updated":"2019-03-18 04:46:41.000000000","message":"Thank you for addressing this.","commit_id":"80938dfab95e6f63dbee0541943904e851d8798f"}]}
