)]}'
{"nova/virt/libvirt/driver.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"fc7194ea07623f3484abb47e17eface0a9c65f06","unresolved":false,"context_lines":[{"line_number":721,"context_line":"                            libvirt.VIR_MIGRATE_PERSIST_DEST |"},{"line_number":722,"context_line":"                            libvirt.VIR_MIGRATE_TUNNELLED |"},{"line_number":723,"context_line":"                            libvirt.VIR_MIGRATE_NON_SHARED_INC |"},{"line_number":724,"context_line":"                            libvirt.VIR_MIGRATE_NON_SHARED_DISK)"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"        for flag_name in CONF.libvirt.live_migration_extra_flags:"},{"line_number":727,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_9d203eb2","line":724,"range":{"start_line":724,"start_character":63,"end_line":724,"end_character":64},"updated":"2016-01-08 12:05:33.000000000","message":"I\u0027d like to see the inverse of this. Libvirt is going to add more flags over time, and some of these will cause problems if we allow an admin user to specify them via this config option. An example is support for post copy migration in the near future, which certainly should not be allowed here\n\nSo I want to see us whitelist permitted flags, rather than blacklist forbidden flags. This will let us clearly document what users can tune.\n\nAlso I don\u0027t think we should be making users specify the full libvirt API constant - it is way too verbose.\n\nHaving said all that, I\u0027m not entirely convinced that we need this generic config at all. There\u0027s only a couple of flags left unaccounted for\n\n    VIR_MIGRATE_UNSAFE            \u003d (1 \u003c\u003c 9), /* force migration even if it is considered unsafe */\nmigrate */\n    VIR_MIGRATE_COMPRESSED        \u003d (1 \u003c\u003c 11), /* compress data during migration */\n    VIR_MIGRATE_ABORT_ON_ERROR    \u003d (1 \u003c\u003c 12), /* abort migration on I/O errors happened during migration */\n    VIR_MIGRATE_AUTO_CONVERGE     \u003d (1 \u003c\u003c 13), /* force convergence */\n    VIR_MIGRATE_RDMA_PIN_ALL      \u003d (1 \u003c\u003c 14), /* RDMA memory pinning */\n\n\nUnsafe is used in the case where libvirt thinks it is unsafe to live migration due to incorrect disk cache mode. If there are scenarios where that is needed, then I think Nova ought to have enough knowledge to be able to set it at the right time when needed.\n\nCompression can\u0027t be magically turned on, because you need to set runtime tunables too  in order to make it useful.\n\nAbort-on I/O error is probably something Nova should unconditionally turn on and deal with. \n\nI\u0027m unclear what RDMA pinning does, but i get the feeling it is something Nova should explicitly handle - if you need to pin guest RAM that has implications of host utilization.  \n\nAuto converge might be something admins are using, though it is historically not all that effective in QEMU.\n\nSo honestly, I\u0027m not finding this \u0027live_migration_extra_flags\u0027 parameter very compelling","commit_id":"8d69609fff0bf0747704905ff17e8d38162ce73f"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"9834dd45e35f6807f9ca4fd09d7dfa1a2a6c24fc","unresolved":false,"context_lines":[{"line_number":721,"context_line":"                            libvirt.VIR_MIGRATE_PERSIST_DEST |"},{"line_number":722,"context_line":"                            libvirt.VIR_MIGRATE_TUNNELLED |"},{"line_number":723,"context_line":"                            libvirt.VIR_MIGRATE_NON_SHARED_INC |"},{"line_number":724,"context_line":"                            libvirt.VIR_MIGRATE_NON_SHARED_DISK)"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"        for flag_name in CONF.libvirt.live_migration_extra_flags:"},{"line_number":727,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_c54b2258","line":724,"range":{"start_line":724,"start_character":63,"end_line":724,"end_character":64},"in_reply_to":"fa69d971_9d203eb2","updated":"2016-01-08 18:23:37.000000000","message":"I\u0027d buy that for a dollar.","commit_id":"8d69609fff0bf0747704905ff17e8d38162ce73f"}]}
