)]}'
{"specs/mitaka/approved/shelve-aggregate-affinity-filter.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7d9c993db688d29217ffb312a6f61d2192a4dbcb","unresolved":false,"context_lines":[{"line_number":38,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Add a new filter \u0027ShelveAggregateAffinityFilter\u0027 to schedule shelved instance"},{"line_number":41,"context_line":"on the compute node which belongs to the same host aggregate group."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"**Deployment Scenarios:**"},{"line_number":44,"context_line":"Multiple hostAggregate groups configured with same meta properties with each"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_fda60e52","line":41,"updated":"2015-11-10 13:18:13.000000000","message":"Please note a host can be in multiple aggregates, which one are you going to choose? Maybe add some metadata on the aggregate?","commit_id":"1878b6c7a8a341d0dfb58e6e54b7f169e213730b"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"5ddecfc23def5ac18334c4afb664dc8783791700","unresolved":false,"context_lines":[{"line_number":38,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Add a new filter \u0027ShelveAggregateAffinityFilter\u0027 to schedule shelved instance"},{"line_number":41,"context_line":"on the compute node which belongs to the same host aggregate group."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"**Deployment Scenarios:**"},{"line_number":44,"context_line":"Multiple hostAggregate groups configured with same meta properties with each"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_38ed5aef","line":41,"in_reply_to":"da85f559_fda60e52","updated":"2015-11-11 07:01:40.000000000","message":"I added the note in \u0027Deployment Scenarios\u0027 in PS2.\nHosts have to be configured with belonging to only one host aggregate.\nAnd no metadata have to be added to host aggregates for this proposed function.","commit_id":"1878b6c7a8a341d0dfb58e6e54b7f169e213730b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7d9c993db688d29217ffb312a6f61d2192a4dbcb","unresolved":false,"context_lines":[{"line_number":182,"context_line":"Dependencies"},{"line_number":183,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"* https://blueprints.launchpad.net/nova/+spec/improve-unshelve-performance"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Testing"},{"line_number":188,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_38f58482","line":185,"range":{"start_line":185,"start_character":2,"end_line":185,"end_character":74},"updated":"2015-11-10 13:18:13.000000000","message":"Need to add the dependency in gerrit to the spec please:\nI2476574f664f5a87a51bec5fac344c839e14b6d1","commit_id":"1878b6c7a8a341d0dfb58e6e54b7f169e213730b"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"5ddecfc23def5ac18334c4afb664dc8783791700","unresolved":false,"context_lines":[{"line_number":182,"context_line":"Dependencies"},{"line_number":183,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"* https://blueprints.launchpad.net/nova/+spec/improve-unshelve-performance"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Testing"},{"line_number":188,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_d860cea7","line":185,"in_reply_to":"da85f559_38f58482","updated":"2015-11-11 07:01:40.000000000","message":"Done","commit_id":"1878b6c7a8a341d0dfb58e6e54b7f169e213730b"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f0a273165bece38675d76f164540b20a4c80d373","unresolved":false,"context_lines":[{"line_number":120,"context_line":"   for storing instance files, then in that case there is no need"},{"line_number":121,"context_line":"   to add \"ShelveAggregateAffinityFilter\" filter on the scheduler node."},{"line_number":122,"context_line":"   But it is not possible to ensure the scalability."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Data model impact"},{"line_number":125,"context_line":"-----------------"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da85f559_a9a5d6b5","line":123,"updated":"2015-11-13 21:49:57.000000000","message":"Sorry if I missed some point, but it seems that the problem is when you want to get a compute node from the same aggregate, right?\n\nIf so, why not sharding your cloud by flavors using \nAggregateTypeAffinityFilter ?\nhttp://docs.openstack.org/developer/nova/filter_scheduler.html","commit_id":"0076a077c94e24339c8fd32906ea859dee1ee0ed"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ad827279a985c14d23040459e79fa58b8a3554c0","unresolved":false,"context_lines":[{"line_number":120,"context_line":"   for storing instance files, then in that case there is no need"},{"line_number":121,"context_line":"   to add \"ShelveAggregateAffinityFilter\" filter on the scheduler node."},{"line_number":122,"context_line":"   But it is not possible to ensure the scalability."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Data model impact"},{"line_number":125,"context_line":"-----------------"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_0b3703e4","line":123,"in_reply_to":"ba8a016a_9925ff5d","updated":"2015-11-18 05:37:31.000000000","message":"You worte:\nLike I said, the rational for getting yet another filter can\u0027t be just based on \"that doesn\u0027t scale\". At least for me only, I need more to understand what is the scaling problem you mention.\n\nLet me explain the scaling problem with an example.\nLet\u0027s say, you want to build a private cloud which should support 450 VMs of \"High\" instance type(each VM requires 200GB disk).\n\n* Define a host aggregate group \"HAG1\" and add 90 compute nodes to it which can accommodate 450 vms.\n  Note: All instance files on the compute nodes for HAG1 will be stored in the NFS shared storage backend.\n\n* Let\u0027s say, disk storage requirements for these 450 vms is \u002790 TB\u0027 but the NFS shared storage backend you have chosen can accommodate max capacity of 30 TB only, then in that case, you would need to configure 3 HAGs (with same metadata properties configuration).\n\n--------------------------------------------------------------------\n\nHAG1 (OS Type: Windows, Instance Type: High), com1, com2, com3 ..\n(shared storage server - SSS1 30 TB)\n\nHAG2 (OS Type: Windows, Instance Type: High), com4, com5, com6 ..\n(shared storage server - SSS2 30 TB)\n\nHAG3 (OS Type: Ubuntu, Instance Type: High), com7, com8, com9 ..\n(shared storage server - SSS3 30 TB)\n--------------------------------------------------------------------\n\nThat\u0027s the scalability problem we are talking about here.\n\nWith the above configuration.\n\n1) Launch a new instance(OS Type: Windows, Instance Type: High). (Scheduler selects compute node from HAG1, it could choose compute node from HAG1 or HAG2)\n\n2) Shelve instance (Instance files are retained on SSS1)\n\n3) Unshelve instance\n\nIn this situation, when you unshelve instance, the new scheduling filter will select compute node from HAG1 where the instance was running previously before shelving it otherwise it will end up going into error state as it won\u0027t find instance files on the selected compute node.\n\nYou worte:\nAlso, you can still shard your cloud using the filter I mentioned *AND* availability zones for example.\n\nIt\u0027s certainly possible to combine availability zones filter to solve this problem, each AZ will contain HAGs with unique metadata properties, but the concept of AZ\u0027s doesn\u0027t fit in this context as we want to deploy multiple HAGs with same metadata properties in the same location due to scalability problem of the storage backends we want to use for storing instances files on the compute nodes.","commit_id":"0076a077c94e24339c8fd32906ea859dee1ee0ed"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"471c41ff83f5cd6ab4432e489af0e4aca2702efb","unresolved":false,"context_lines":[{"line_number":120,"context_line":"   for storing instance files, then in that case there is no need"},{"line_number":121,"context_line":"   to add \"ShelveAggregateAffinityFilter\" filter on the scheduler node."},{"line_number":122,"context_line":"   But it is not possible to ensure the scalability."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Data model impact"},{"line_number":125,"context_line":"-----------------"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_9925ff5d","line":123,"in_reply_to":"da85f559_14bdffd6","updated":"2015-11-16 10:08:13.000000000","message":"Well, if that\u0027s really a performance issue, I don\u0027t really see the benefit of having one extra filter just for that specific usecase. Rather, you should identify what is the performance issue and how to correct that IMHO. \n\nAlso, you can still shard your cloud using the filter I mentioned *AND* availability zones for example.\n\nLike I said, the rational for getting yet another filter can\u0027t be just based on \"that doesn\u0027t scale\". At least for me only, I need more to understand what is the scaling problem you mention.","commit_id":"0076a077c94e24339c8fd32906ea859dee1ee0ed"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"52563bd53b2623ae0cc8bfe1c6c303862b763eb2","unresolved":false,"context_lines":[{"line_number":120,"context_line":"   for storing instance files, then in that case there is no need"},{"line_number":121,"context_line":"   to add \"ShelveAggregateAffinityFilter\" filter on the scheduler node."},{"line_number":122,"context_line":"   But it is not possible to ensure the scalability."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Data model impact"},{"line_number":125,"context_line":"-----------------"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da85f559_14bdffd6","line":123,"in_reply_to":"da85f559_a9a5d6b5","updated":"2015-11-16 01:31:09.000000000","message":"You wrote:\nSorry if I missed some point, but it seems that the problem is when you want to get a compute node from the same aggregate, right?\n\nYes, you are right.\n\nIn case of utilizing AggregateTypeAffinityFilter, it has to be mapped one flavor to only one aggregate in order to deploy VM instances into the same aggregate every time.\nSo an instance store is shared by an aggregate, it is not possible to ensure the scalability. (There is a capacity limit and so on.)","commit_id":"0076a077c94e24339c8fd32906ea859dee1ee0ed"}]}
