)]}'
{"specs/rocky/approved/scheduler-filters.rst":[{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"730a2e9d05608df47277924d959ed7349163cc2f","unresolved":false,"context_lines":[{"line_number":20,"context_line":"they want to respect virtual machine\u0027s policies, which are represented as"},{"line_number":21,"context_line":"Nova Scheduler filters. There are the following typical filters which can be"},{"line_number":22,"context_line":"used in the VMs booting process:"},{"line_number":23,"context_line":"* To hold some VMs on different hosts (to achieve HA compatibility)."},{"line_number":24,"context_line":"* To place VMs inside of specified host aggregates or availability zones."},{"line_number":25,"context_line":"* To place VMs only on enabled and core-compatible hosts."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"As of now, Nova doesn\u0027t expose an open API to Nova Scheduler\u0027s"},{"line_number":28,"context_line":"`select_destinations`_ method. This method is available for internal Nova\u0027s"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_e8885b20","line":25,"range":{"start_line":23,"start_character":0,"end_line":25,"end_character":57},"updated":"2018-04-17 06:31:58.000000000","message":"Could you list filter names of Nova for each items?\nDoes this spec cover all filters listed here?","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6e9956f3329008dafe10f920c4d84786fc32703a","unresolved":false,"context_lines":[{"line_number":20,"context_line":"they want to respect virtual machine\u0027s policies, which are represented as"},{"line_number":21,"context_line":"Nova Scheduler filters. There are the following typical filters which can be"},{"line_number":22,"context_line":"used in the VMs booting process:"},{"line_number":23,"context_line":"* To hold some VMs on different hosts (to achieve HA compatibility)."},{"line_number":24,"context_line":"* To place VMs inside of specified host aggregates or availability zones."},{"line_number":25,"context_line":"* To place VMs only on enabled and core-compatible hosts."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"As of now, Nova doesn\u0027t expose an open API to Nova Scheduler\u0027s"},{"line_number":28,"context_line":"`select_destinations`_ method. This method is available for internal Nova\u0027s"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_3ead3b31","line":25,"range":{"start_line":23,"start_character":0,"end_line":25,"end_character":57},"in_reply_to":"9f6a8fd7_e8885b20","updated":"2018-05-03 08:03:24.000000000","message":"I\u0027ve added links to appropriate filters.\nThis spec covers the filter manager and it\u0027s supposed that more filters\ncan be implemented as additional patches.","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"c6b7aee44c77acda657d1b3c746eed6baeaf68f3","unresolved":false,"context_lines":[{"line_number":42,"context_line":"The main proposition is to add Watcher Filters pluggable system, that would"},{"line_number":43,"context_line":"use set of Nova-compatibile filters in auditing process. We can\u0027t import them"},{"line_number":44,"context_line":"directly (cause OpenStack projects can import only project clients to interact"},{"line_number":45,"context_line":"to each other), so we need to implement each filter in the way Nova does. Nova"},{"line_number":46,"context_line":"Scheduler use internal objects ``host_state`` and ``spec_obj`` that represents"},{"line_number":47,"context_line":"host and instance attributes respectively. We can replace these objects with"},{"line_number":48,"context_line":"appropriate nodes from CDM. CDM consumes notifications via notification bus"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_af8eadcd","line":45,"updated":"2018-04-19 06:23:06.000000000","message":"How we will keep track filter changes in nova??  how we constantly look for nova-scheduler code changes or enhancements??","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6e9956f3329008dafe10f920c4d84786fc32703a","unresolved":false,"context_lines":[{"line_number":42,"context_line":"The main proposition is to add Watcher Filters pluggable system, that would"},{"line_number":43,"context_line":"use set of Nova-compatibile filters in auditing process. We can\u0027t import them"},{"line_number":44,"context_line":"directly (cause OpenStack projects can import only project clients to interact"},{"line_number":45,"context_line":"to each other), so we need to implement each filter in the way Nova does. Nova"},{"line_number":46,"context_line":"Scheduler use internal objects ``host_state`` and ``spec_obj`` that represents"},{"line_number":47,"context_line":"host and instance attributes respectively. We can replace these objects with"},{"line_number":48,"context_line":"appropriate nodes from CDM. CDM consumes notifications via notification bus"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_d282f352","line":45,"in_reply_to":"9f6a8fd7_af8eadcd","updated":"2018-05-03 08:03:24.000000000","message":"I propose to track release notes of nova during the cycles to keep filters up-to-dated by final releases.","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"09d20d03c4fc1d77149f83954fd4aef19f9c7eba","unresolved":false,"context_lines":[{"line_number":44,"context_line":"directly (cause OpenStack projects can import only project clients to interact"},{"line_number":45,"context_line":"to each other), so we need to implement each filter in the way Nova does. Nova"},{"line_number":46,"context_line":"Scheduler use internal objects ``host_state`` and ``spec_obj`` that represents"},{"line_number":47,"context_line":"host and instance attributes respectively. We can replace these objects with"},{"line_number":48,"context_line":"appropriate nodes from CDM. CDM consumes notifications via notification bus"},{"line_number":49,"context_line":"system."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Primary logic should be saved to save compatibility with appropriate Node\u0027s"},{"line_number":52,"context_line":"filters. Let\u0027s take a look at Nova\u0027s DifferentHost filter:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_f44a5653","line":49,"range":{"start_line":47,"start_character":43,"end_line":49,"end_character":7},"updated":"2018-04-18 06:03:50.000000000","message":"Maybe we have to extend info in CDM, there are no info about affinity/anti-affinity, host aggregates, etc.","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6e9956f3329008dafe10f920c4d84786fc32703a","unresolved":false,"context_lines":[{"line_number":44,"context_line":"directly (cause OpenStack projects can import only project clients to interact"},{"line_number":45,"context_line":"to each other), so we need to implement each filter in the way Nova does. Nova"},{"line_number":46,"context_line":"Scheduler use internal objects ``host_state`` and ``spec_obj`` that represents"},{"line_number":47,"context_line":"host and instance attributes respectively. We can replace these objects with"},{"line_number":48,"context_line":"appropriate nodes from CDM. CDM consumes notifications via notification bus"},{"line_number":49,"context_line":"system."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Primary logic should be saved to save compatibility with appropriate Node\u0027s"},{"line_number":52,"context_line":"filters. Let\u0027s take a look at Nova\u0027s DifferentHost filter:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_8b58c6fa","line":49,"range":{"start_line":47,"start_character":43,"end_line":49,"end_character":7},"in_reply_to":"9f6a8fd7_f44a5653","updated":"2018-05-03 08:03:24.000000000","message":"It will depend on specific filter. If we can consume notifications of changing availability zones or host aggregates, we can add them to CDM as host attributes. Otherwise, we can get them by API calls.","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"730a2e9d05608df47277924d959ed7349163cc2f","unresolved":false,"context_lines":[{"line_number":48,"context_line":"appropriate nodes from CDM. CDM consumes notifications via notification bus"},{"line_number":49,"context_line":"system."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Primary logic should be saved to save compatibility with appropriate Node\u0027s"},{"line_number":52,"context_line":"filters. Let\u0027s take a look at Nova\u0027s DifferentHost filter:"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_a8cd835e","line":51,"range":{"start_line":51,"start_character":69,"end_line":51,"end_character":73},"updated":"2018-04-17 06:31:58.000000000","message":"Nova?","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6e9956f3329008dafe10f920c4d84786fc32703a","unresolved":false,"context_lines":[{"line_number":48,"context_line":"appropriate nodes from CDM. CDM consumes notifications via notification bus"},{"line_number":49,"context_line":"system."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Primary logic should be saved to save compatibility with appropriate Node\u0027s"},{"line_number":52,"context_line":"filters. Let\u0027s take a look at Nova\u0027s DifferentHost filter:"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_3a350b47","line":51,"range":{"start_line":51,"start_character":69,"end_line":51,"end_character":73},"in_reply_to":"9f6a8fd7_a8cd835e","updated":"2018-05-03 08:03:24.000000000","message":"Done","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":27947,"name":"Egor Panfilov","email":"edpanfilov@sbcloud.ru","username":"erakli"},"change_message_id":"1b06a851562a014e3ecaf20e2ddfe853e9cc55ab","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"There should be created ``filter`` subfolder in decision_engine folder. It will"},{"line_number":65,"context_line":"contain manager.py and filters/ folder with filter plugins. Filter Manager"},{"line_number":66,"context_line":"will load enabled plugins and pass virtual machine through the list of loaded"},{"line_number":67,"context_line":"plugins. Instance of FilterManager class should be added to BaseStrategy class"},{"line_number":68,"context_line":"as class property to let each strategy filtering VMs. Strategies should be"},{"line_number":69,"context_line":"reworked to get support for filters. There cannot be common point for using"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_1dbe1865","line":66,"range":{"start_line":66,"start_character":30,"end_line":66,"end_character":50},"updated":"2018-04-17 19:58:07.000000000","message":"Probably, we should also mention that there could be migrations which we want to check for legality.\n\nFilterManager should be able to pass not only VM through its filters but also associated host (current or candidate), I think.","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6e9956f3329008dafe10f920c4d84786fc32703a","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"There should be created ``filter`` subfolder in decision_engine folder. It will"},{"line_number":65,"context_line":"contain manager.py and filters/ folder with filter plugins. Filter Manager"},{"line_number":66,"context_line":"will load enabled plugins and pass virtual machine through the list of loaded"},{"line_number":67,"context_line":"plugins. Instance of FilterManager class should be added to BaseStrategy class"},{"line_number":68,"context_line":"as class property to let each strategy filtering VMs. Strategies should be"},{"line_number":69,"context_line":"reworked to get support for filters. There cannot be common point for using"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_2fcbd5a5","line":66,"range":{"start_line":66,"start_character":30,"end_line":66,"end_character":50},"in_reply_to":"9f6a8fd7_1dbe1865","updated":"2018-05-03 08:03:24.000000000","message":"Done","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"730a2e9d05608df47277924d959ed7349163cc2f","unresolved":false,"context_lines":[{"line_number":65,"context_line":"contain manager.py and filters/ folder with filter plugins. Filter Manager"},{"line_number":66,"context_line":"will load enabled plugins and pass virtual machine through the list of loaded"},{"line_number":67,"context_line":"plugins. Instance of FilterManager class should be added to BaseStrategy class"},{"line_number":68,"context_line":"as class property to let each strategy filtering VMs. Strategies should be"},{"line_number":69,"context_line":"reworked to get support for filters. There cannot be common point for using"},{"line_number":70,"context_line":"filters in strategies because of unique workflow of each one."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"In the current situation it\u0027s a trade-off between architectural design and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_c80d5791","line":69,"range":{"start_line":68,"start_character":54,"end_line":69,"end_character":35},"updated":"2018-04-17 06:31:58.000000000","message":"Could you explain how to use filters in strategies?","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"a1f3d385cfc674d700e43132f7311ecca4228c09","unresolved":false,"context_lines":[{"line_number":65,"context_line":"contain manager.py and filters/ folder with filter plugins. Filter Manager"},{"line_number":66,"context_line":"will load enabled plugins and pass virtual machine through the list of loaded"},{"line_number":67,"context_line":"plugins. Instance of FilterManager class should be added to BaseStrategy class"},{"line_number":68,"context_line":"as class property to let each strategy filtering VMs. Strategies should be"},{"line_number":69,"context_line":"reworked to get support for filters. There cannot be common point for using"},{"line_number":70,"context_line":"filters in strategies because of unique workflow of each one."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"In the current situation it\u0027s a trade-off between architectural design and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_fa2b187f","line":69,"range":{"start_line":68,"start_character":54,"end_line":69,"end_character":35},"in_reply_to":"5f7c97a3_09e574a8","updated":"2018-05-08 07:26:42.000000000","message":"Done","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6e9956f3329008dafe10f920c4d84786fc32703a","unresolved":false,"context_lines":[{"line_number":65,"context_line":"contain manager.py and filters/ folder with filter plugins. Filter Manager"},{"line_number":66,"context_line":"will load enabled plugins and pass virtual machine through the list of loaded"},{"line_number":67,"context_line":"plugins. Instance of FilterManager class should be added to BaseStrategy class"},{"line_number":68,"context_line":"as class property to let each strategy filtering VMs. Strategies should be"},{"line_number":69,"context_line":"reworked to get support for filters. There cannot be common point for using"},{"line_number":70,"context_line":"filters in strategies because of unique workflow of each one."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"In the current situation it\u0027s a trade-off between architectural design and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_cb4a3e82","line":69,"range":{"start_line":68,"start_character":54,"end_line":69,"end_character":35},"in_reply_to":"9f6a8fd7_c80d5791","updated":"2018-05-03 08:03:24.000000000","message":"I suggest to provide a method like self.verify_destinations(instance, host) that would return True or False. The place where this method should be inserted is to be chosen by a strategy developer.","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"f57be6e54837c6635f963ebec117c67c8fc8c726","unresolved":false,"context_lines":[{"line_number":65,"context_line":"contain manager.py and filters/ folder with filter plugins. Filter Manager"},{"line_number":66,"context_line":"will load enabled plugins and pass virtual machine through the list of loaded"},{"line_number":67,"context_line":"plugins. Instance of FilterManager class should be added to BaseStrategy class"},{"line_number":68,"context_line":"as class property to let each strategy filtering VMs. Strategies should be"},{"line_number":69,"context_line":"reworked to get support for filters. There cannot be common point for using"},{"line_number":70,"context_line":"filters in strategies because of unique workflow of each one."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"In the current situation it\u0027s a trade-off between architectural design and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_09e574a8","line":69,"range":{"start_line":68,"start_character":54,"end_line":69,"end_character":35},"in_reply_to":"9f6a8fd7_cb4a3e82","updated":"2018-05-08 04:40:09.000000000","message":"Could you implement verify_destinations(instance, host) in BaseStrategy?","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"09d20d03c4fc1d77149f83954fd4aef19f9c7eba","unresolved":false,"context_lines":[{"line_number":73,"context_line":"business requierements. I recommend to take it as temporary solution until we"},{"line_number":74,"context_line":"find the better one."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Alternatives"},{"line_number":77,"context_line":"------------"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Continue to use Watcher scope to segregate resources of cloud cluster."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_14690a8a","line":76,"range":{"start_line":76,"start_character":0,"end_line":76,"end_character":12},"updated":"2018-04-18 06:03:50.000000000","message":"We have the same problem, in fact, because of the resources may change between action creating and running, even we have the same filter as Nova, the Migrate action may also fail.\nAnother solution is BP:Enhance Watcher Applier Engine.\nInstead of making exact action, we make all the probable actions and give the decision to Nova Scheduler.","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6e9956f3329008dafe10f920c4d84786fc32703a","unresolved":false,"context_lines":[{"line_number":73,"context_line":"business requierements. I recommend to take it as temporary solution until we"},{"line_number":74,"context_line":"find the better one."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Alternatives"},{"line_number":77,"context_line":"------------"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Continue to use Watcher scope to segregate resources of cloud cluster."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_467ce51f","line":76,"range":{"start_line":76,"start_character":0,"end_line":76,"end_character":12},"in_reply_to":"9f6a8fd7_14690a8a","updated":"2018-05-03 08:03:24.000000000","message":"I\u0027ve added it","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"730a2e9d05608df47277924d959ed7349163cc2f","unresolved":false,"context_lines":[{"line_number":111,"context_line":"---------------------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Watcher config file should contain filters option with list of enabled filters."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Developer impact"},{"line_number":116,"context_line":"----------------"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_484f07bd","line":114,"updated":"2018-04-17 06:31:58.000000000","message":"Please make clear what the default value is.","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6e9956f3329008dafe10f920c4d84786fc32703a","unresolved":false,"context_lines":[{"line_number":111,"context_line":"---------------------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Watcher config file should contain filters option with list of enabled filters."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Developer impact"},{"line_number":116,"context_line":"----------------"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_afd92523","line":114,"in_reply_to":"9f6a8fd7_484f07bd","updated":"2018-05-03 08:03:24.000000000","message":"Done","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"00005fbc9ce8de5a817224e5cb7464b73dfd7a79","unresolved":false,"context_lines":[{"line_number":111,"context_line":"---------------------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Watcher config file should contain filters option with list of enabled filters."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Developer impact"},{"line_number":116,"context_line":"----------------"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_5caee8e7","line":114,"in_reply_to":"9f6a8fd7_484f07bd","updated":"2018-04-17 06:46:36.000000000","message":"List is not enough because we can execute audits from different strategies.\nwe should have dictionary:\n{\"basic\": \"AvailabilityZoneFilter, DifferentHostFilter\",\n \"zone_migration\": \"AvailabilityZoneFilter\",\n......\n}","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6e9956f3329008dafe10f920c4d84786fc32703a","unresolved":false,"context_lines":[{"line_number":111,"context_line":"---------------------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Watcher config file should contain filters option with list of enabled filters."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Developer impact"},{"line_number":116,"context_line":"----------------"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9f6a8fd7_e150830d","line":114,"in_reply_to":"9f6a8fd7_5caee8e7","updated":"2018-05-03 08:03:24.000000000","message":"Done","commit_id":"680e30bacccc4d1bfb2a1ff74dd3cf282dc4e524"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"9f848530c50a27243c8b2c03939f97b9adbb0397","unresolved":false,"context_lines":[{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The main proposition is to add Watcher Filters pluggable system, that would"},{"line_number":43,"context_line":"use set of Nova-compatibile filters in auditing process. We can\u0027t import them"},{"line_number":44,"context_line":"directly (cause OpenStack projects can import only project clients to interact"},{"line_number":45,"context_line":"to each other), so we need to implement each filter in the way Nova does. Nova"},{"line_number":46,"context_line":"Scheduler use internal objects ``host_state`` and ``spec_obj`` that represents"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_0bc6c449","line":43,"range":{"start_line":43,"start_character":17,"end_line":43,"end_character":27},"updated":"2018-05-08 10:40:02.000000000","message":"nit: compatible","commit_id":"b94dc18c6ef3b53cb9e7867d7db5c4e5a6366f5e"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"fefda0522f0105e3fd044275361a3c26e7816394","unresolved":false,"context_lines":[{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The main proposition is to add Watcher Filters pluggable system, that would"},{"line_number":43,"context_line":"use set of Nova-compatibile filters in auditing process. We can\u0027t import them"},{"line_number":44,"context_line":"directly (cause OpenStack projects can import only project clients to interact"},{"line_number":45,"context_line":"to each other), so we need to implement each filter in the way Nova does. Nova"},{"line_number":46,"context_line":"Scheduler use internal objects ``host_state`` and ``spec_obj`` that represents"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_953069ea","line":43,"range":{"start_line":43,"start_character":17,"end_line":43,"end_character":27},"in_reply_to":"5f7c97a3_0bc6c449","updated":"2018-05-11 07:46:36.000000000","message":"Done","commit_id":"b94dc18c6ef3b53cb9e7867d7db5c4e5a6366f5e"},{"author":{"_account_id":25695,"name":"Deepak Mourya","email":"deepakmoriya7@gmail.com","username":"deepak_mourya"},"change_message_id":"9f848530c50a27243c8b2c03939f97b9adbb0397","unresolved":false,"context_lines":[{"line_number":75,"context_line":"using filters in strategies because of unique workflow of each one."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"In the current situation it\u0027s a trade-off between architectural design and"},{"line_number":78,"context_line":"business requierements. I recommend to take it as temporary solution until we"},{"line_number":79,"context_line":"find the better one."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_eba4a8bb","line":78,"range":{"start_line":78,"start_character":9,"end_line":78,"end_character":22},"updated":"2018-05-08 10:40:02.000000000","message":"nit: requirements","commit_id":"b94dc18c6ef3b53cb9e7867d7db5c4e5a6366f5e"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"fefda0522f0105e3fd044275361a3c26e7816394","unresolved":false,"context_lines":[{"line_number":75,"context_line":"using filters in strategies because of unique workflow of each one."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"In the current situation it\u0027s a trade-off between architectural design and"},{"line_number":78,"context_line":"business requierements. I recommend to take it as temporary solution until we"},{"line_number":79,"context_line":"find the better one."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_354f156c","line":78,"range":{"start_line":78,"start_character":9,"end_line":78,"end_character":22},"in_reply_to":"5f7c97a3_eba4a8bb","updated":"2018-05-11 07:46:36.000000000","message":"Done","commit_id":"b94dc18c6ef3b53cb9e7867d7db5c4e5a6366f5e"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"9de7c8d3c7f7afacd0a60a445ec829daca51bb72","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Many corporate customers build HA architecture for their cloud applications and"},{"line_number":20,"context_line":"they want to respect virtual machine\u0027s policies, which are represented as"},{"line_number":21,"context_line":"Nova Scheduler filters. There are the following typical filters which can be"},{"line_number":22,"context_line":"used in the VMs booting process:"},{"line_number":23,"context_line":"* To hold some VMs on `different`_ hosts (to achieve HA compatibility)."},{"line_number":24,"context_line":"* To place VMs inside of specified host `aggregates`_ or `availability`_ zones."},{"line_number":25,"context_line":"* To place VMs only on enabled and `core-compatible`_ hosts."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f7c97a3_43a0bb90","line":22,"range":{"start_line":22,"start_character":16,"end_line":22,"end_character":23},"updated":"2018-06-05 12:00:23.000000000","message":"schedule","commit_id":"e20f7cbb0a944a978f9c0be7a0c008eb362ed564"}]}
