)]}'
{"doc/source/user/flavors.rst":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"a739ea4ad38f1d30707c39dd13fd49b1d500cc5f","unresolved":false,"context_lines":[{"line_number":479,"context_line":"CPU real-time policy"},{"line_number":480,"context_line":"  For the libvirt driver, you can state that one or more of your instance"},{"line_number":481,"context_line":"  virtual CPUs (vCPUs), though not all of them, run with a real-time policy."},{"line_number":482,"context_line":"  This provides stronger guarantees for worst case scheduler latency for vCPUs"},{"line_number":483,"context_line":"  and is a requirement for certain applications."},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"  .. important::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_9e0f922d","line":482,"updated":"2017-09-12 08:46:01.000000000","message":"Except of the fact that we do not provide any documentation on how to configure a RT host. we should mention that. At least to provide that guarantee the host should have been configured to isolate CPUs which are going to run RT (from command boot line) and the vpcu_pin_set option of Nova to use them.","commit_id":"f52da207dcf5d408b017104fd158cf0cff293865"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a135b0fc3e78e594f858a61a70a4c2dca083c3d1","unresolved":false,"context_lines":[{"line_number":479,"context_line":"CPU real-time policy"},{"line_number":480,"context_line":"  For the libvirt driver, you can state that one or more of your instance"},{"line_number":481,"context_line":"  virtual CPUs (vCPUs), though not all of them, run with a real-time policy."},{"line_number":482,"context_line":"  This provides stronger guarantees for worst case scheduler latency for vCPUs"},{"line_number":483,"context_line":"  and is a requirement for certain applications."},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"  .. important::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_c71ba6c7","line":482,"in_reply_to":"5f2577a7_9e0f922d","updated":"2017-09-15 16:35:58.000000000","message":"I don\u0027t want to provide this level of information here, as this is a reference guide. I\u0027ll simply note that other configuration is necessary","commit_id":"f52da207dcf5d408b017104fd158cf0cff293865"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"a739ea4ad38f1d30707c39dd13fd49b1d500cc5f","unresolved":false,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":"     While most of your instance vCPUs can run with a real-time policy, you must"},{"line_number":488,"context_line":"     mark at least one core as non-real-time, to be used for both non-real-time"},{"line_number":489,"context_line":"     guest processes and emulator overhead (housekeeping) processes."},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"  .. important::"},{"line_number":492,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_8b2e32a3","line":489,"updated":"2017-09-12 08:46:01.000000000","message":"Also operators should isolate hosts running RT instance by using aggregates that to avoid any guest without constraints to float on RT CPUs.","commit_id":"f52da207dcf5d408b017104fd158cf0cff293865"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a135b0fc3e78e594f858a61a70a4c2dca083c3d1","unresolved":false,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":"     While most of your instance vCPUs can run with a real-time policy, you must"},{"line_number":488,"context_line":"     mark at least one core as non-real-time, to be used for both non-real-time"},{"line_number":489,"context_line":"     guest processes and emulator overhead (housekeeping) processes."},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"  .. important::"},{"line_number":492,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_073d2e2a","line":489,"in_reply_to":"5f2577a7_8b2e32a3","updated":"2017-09-15 16:35:58.000000000","message":"This is already a requirement for CPU pinning, which is a requirement as noted below. There\u0027s no need to duplicate the information here","commit_id":"f52da207dcf5d408b017104fd158cf0cff293865"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"a739ea4ad38f1d30707c39dd13fd49b1d500cc5f","unresolved":false,"context_lines":[{"line_number":497,"context_line":""},{"line_number":498,"context_line":"     $ openstack flavor set FLAVOR-NAME \\"},{"line_number":499,"context_line":"         --property hw:cpu_realtime\u003dCPU-REALTIME-POLICY \\"},{"line_number":500,"context_line":"         --property hw:cpu_realtime_mask\u003dCPU-REALTIME-MASK"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"  Where:"},{"line_number":503,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_eb4a567e","line":500,"updated":"2017-09-12 08:46:01.000000000","message":"It\u0027s important to mention that the mask can be configured from the image meta properties. It\u0027s probably the first use-case since the users are going to configured their guest OS based on the CPUs topology (RT/non-RT)","commit_id":"f52da207dcf5d408b017104fd158cf0cff293865"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"6bb5a9304855be4a3c824dc6c2805a57b91c5c2e","unresolved":false,"context_lines":[{"line_number":483,"context_line":"  for worst case scheduler latency for vCPUs and is a requirement for certain"},{"line_number":484,"context_line":"  applications."},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"  .. important::"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"     While most of your instance vCPUs can run with a real-time policy, you must"},{"line_number":489,"context_line":"     mark at least one core as non-real-time, to be used for both non-real-time"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f2577a7_5e9c180d","line":486,"updated":"2017-09-16 08:21:24.000000000","message":"You forgot to address my previous comment, configuring vcpu_pin_set is part of the realtime implementation and should be mentioned at some point.","commit_id":"7843637f136a7e1d444c6fd242f5a4b5b3cc5b13"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2404f23c0634ed96dfafe639a9eff775ba8cd8f1","unresolved":false,"context_lines":[{"line_number":483,"context_line":"  for worst case scheduler latency for vCPUs and is a requirement for certain"},{"line_number":484,"context_line":"  applications."},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"  .. important::"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"     While most of your instance vCPUs can run with a real-time policy, you must"},{"line_number":489,"context_line":"     mark at least one core as non-real-time, to be used for both non-real-time"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f2577a7_0f7d216d","line":486,"in_reply_to":"5f2577a7_5e9c180d","updated":"2017-09-18 14:53:30.000000000","message":"Yeah, but this is a summary of the option and any other dependent options. We don\u0027t want to note the dependencies here, as that should be in a larger document","commit_id":"7843637f136a7e1d444c6fd242f5a4b5b3cc5b13"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6db77884daf3adb64dc78c8910ee0a92d9352531","unresolved":false,"context_lines":[{"line_number":486,"context_line":"  .. important::"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"     While most of your instance vCPUs can run with a real-time policy, you must"},{"line_number":489,"context_line":"     mark at least one core as non-real-time, to be used for both non-real-time"},{"line_number":490,"context_line":"     guest processes and emulator overhead (housekeeping) processes."},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"  .. important::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f5c4f37_842c179a","line":489,"range":{"start_line":489,"start_character":23,"end_line":489,"end_character":27},"updated":"2017-09-21 07:03:45.000000000","message":"one VCPU?, using core I\u0027m thinking a physical core with two logic cpu.","commit_id":"5fd26bbba5dbe91a5a4387baf99fdd78c82c1f30"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5100c7a3f20d3287618f7a9ca595ee5d63dd564b","unresolved":false,"context_lines":[{"line_number":486,"context_line":"  .. important::"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"     While most of your instance vCPUs can run with a real-time policy, you must"},{"line_number":489,"context_line":"     mark at least one core as non-real-time, to be used for both non-real-time"},{"line_number":490,"context_line":"     guest processes and emulator overhead (housekeeping) processes."},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"  .. important::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f515b1d_41073f19","line":489,"range":{"start_line":489,"start_character":23,"end_line":489,"end_character":27},"in_reply_to":"9f5c4f37_842c179a","updated":"2017-10-03 10:31:59.000000000","message":"Done","commit_id":"5fd26bbba5dbe91a5a4387baf99fdd78c82c1f30"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6db77884daf3adb64dc78c8910ee0a92d9352531","unresolved":false,"context_lines":[{"line_number":487,"context_line":""},{"line_number":488,"context_line":"     While most of your instance vCPUs can run with a real-time policy, you must"},{"line_number":489,"context_line":"     mark at least one core as non-real-time, to be used for both non-real-time"},{"line_number":490,"context_line":"     guest processes and emulator overhead (housekeeping) processes."},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"  .. important::"},{"line_number":493,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f5c4f37_a42ddb47","line":490,"updated":"2017-09-21 07:03:45.000000000","message":"From http://specs.openstack.org/openstack/nova-specs/specs/mitaka/implemented/libvirt-real-time.html\n\n\"In the future it may be desirable to allow emulator threads to be run on a host pCPU that is completely separate from those running the vCPUs. This would, for example, allow for running of guest OS, where all vCPUs must be real-time capable, and so cannot reserve a vCPU for real-time tasks. \"\n\n\nIf \"hw:emulator_threads_policy\u003disolated\", then we needn\u0027t to keep any VCPUs for non-real-time?","commit_id":"5fd26bbba5dbe91a5a4387baf99fdd78c82c1f30"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5100c7a3f20d3287618f7a9ca595ee5d63dd564b","unresolved":false,"context_lines":[{"line_number":487,"context_line":""},{"line_number":488,"context_line":"     While most of your instance vCPUs can run with a real-time policy, you must"},{"line_number":489,"context_line":"     mark at least one core as non-real-time, to be used for both non-real-time"},{"line_number":490,"context_line":"     guest processes and emulator overhead (housekeeping) processes."},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"  .. important::"},{"line_number":493,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f515b1d_e60ac123","line":490,"in_reply_to":"9f5c4f37_a42ddb47","updated":"2017-10-03 10:31:59.000000000","message":"\u003e \nIf \"hw:emulator_threads_policy\u003disolated\", then we needn\u0027t to keep any VCPUs for non-real-time?\n\nYou\u0027d think that, wouldn\u0027t you? :) We still check for the mask to ensure there is at least one free vCPU [1]. We could probably lift that restriction in the future, given your comments, but this would require testing to make sure it doesn\u0027t break anything. For now, I\u0027m just calling this out.\n\n[1] https://github.com/openstack/nova/blob/cfff910b/nova/virt/hardware.py#L1243-L1251","commit_id":"5fd26bbba5dbe91a5a4387baf99fdd78c82c1f30"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6db77884daf3adb64dc78c8910ee0a92d9352531","unresolved":false,"context_lines":[{"line_number":508,"context_line":"    - ``no``: (default) The guest vCPUs will not have a real-time policy"},{"line_number":509,"context_line":"    - ``yes``: The guest vCPUs will have a real-time policy"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"  CPU-REALTIME-MASK (bitmask):"},{"line_number":512,"context_line":"    A bitmask indicating which vCPUs **will not** have a real-time policy. This"},{"line_number":513,"context_line":"    should start with a ``^``. For example, a value of ``^0-1`` indicates that"},{"line_number":514,"context_line":"    all cores *except* cores ``0`` and ``1`` will have a real-time policy."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f5c4f37_49275866","line":511,"range":{"start_line":511,"start_character":21,"end_line":511,"end_character":28},"updated":"2017-09-21 07:03:45.000000000","message":"actually, this isn\u0027t a bitmask?","commit_id":"5fd26bbba5dbe91a5a4387baf99fdd78c82c1f30"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5100c7a3f20d3287618f7a9ca595ee5d63dd564b","unresolved":false,"context_lines":[{"line_number":508,"context_line":"    - ``no``: (default) The guest vCPUs will not have a real-time policy"},{"line_number":509,"context_line":"    - ``yes``: The guest vCPUs will have a real-time policy"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"  CPU-REALTIME-MASK (bitmask):"},{"line_number":512,"context_line":"    A bitmask indicating which vCPUs **will not** have a real-time policy. This"},{"line_number":513,"context_line":"    should start with a ``^``. For example, a value of ``^0-1`` indicates that"},{"line_number":514,"context_line":"    all cores *except* cores ``0`` and ``1`` will have a real-time policy."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f515b1d_c6058515","line":511,"range":{"start_line":511,"start_character":21,"end_line":511,"end_character":28},"in_reply_to":"9f5c4f37_49275866","updated":"2017-10-03 10:31:59.000000000","message":"No, it\u0027s a coremask. Done","commit_id":"5fd26bbba5dbe91a5a4387baf99fdd78c82c1f30"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"b626c84d323955f657a861cc1a871e88d1d630f4","unresolved":false,"context_lines":[{"line_number":509,"context_line":"    - ``yes``: The guest vCPUs will have a real-time policy"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"  CPU-REALTIME-MASK (bitmask):"},{"line_number":512,"context_line":"    A bitmask indicating which vCPUs **will not** have a real-time policy. This"},{"line_number":513,"context_line":"    should start with a ``^``. For example, a value of ``^0-1`` indicates that"},{"line_number":514,"context_line":"    all cores *except* cores ``0`` and ``1`` will have a real-time policy."},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"  .. note::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f5c4f37_ffe23a01","line":513,"range":{"start_line":512,"start_character":75,"end_line":513,"end_character":29},"updated":"2017-09-21 08:09:27.000000000","message":"Now this mask _works_ without starting with \"^\". So, creating a document, if possible, we also would like to sort out some contention here. https://review.openstack.org/#/c/468203/","commit_id":"5fd26bbba5dbe91a5a4387baf99fdd78c82c1f30"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5100c7a3f20d3287618f7a9ca595ee5d63dd564b","unresolved":false,"context_lines":[{"line_number":509,"context_line":"    - ``yes``: The guest vCPUs will have a real-time policy"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"  CPU-REALTIME-MASK (bitmask):"},{"line_number":512,"context_line":"    A bitmask indicating which vCPUs **will not** have a real-time policy. This"},{"line_number":513,"context_line":"    should start with a ``^``. For example, a value of ``^0-1`` indicates that"},{"line_number":514,"context_line":"    all cores *except* cores ``0`` and ``1`` will have a real-time policy."},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"  .. note::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f515b1d_61047b15","line":513,"range":{"start_line":512,"start_character":75,"end_line":513,"end_character":29},"in_reply_to":"9f5c4f37_ffe23a01","updated":"2017-10-03 10:31:59.000000000","message":"Yup, I\u0027m going to wade in on that again shortly","commit_id":"5fd26bbba5dbe91a5a4387baf99fdd78c82c1f30"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"fdfd6113aed5d36844706efdcf6b315e13ab6bb0","unresolved":false,"context_lines":[{"line_number":479,"context_line":"CPU real-time policy"},{"line_number":480,"context_line":"  For the libvirt driver, you can state that one or more of your instance"},{"line_number":481,"context_line":"  virtual CPUs (vCPUs), though not all of them, run with a real-time policy."},{"line_number":482,"context_line":"  When used on a correctly configured host, this provides stronger guarantees"},{"line_number":483,"context_line":"  for worst case scheduler latency for vCPUs and is a requirement for certain"},{"line_number":484,"context_line":"  applications."},{"line_number":485,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_4fbf65d0","line":482,"range":{"start_line":482,"start_character":17,"end_line":482,"end_character":42},"updated":"2017-10-03 15:21:16.000000000","message":"LOL. And that the moon cycle is aligned, and that the solar flares emanating from the sun are just so...\n\nIn all seriousness, though, \"correctly configured host\" is woefully non-specific. :) At the very least, we should provide some link to a document that goes over what \"correct configuration\" is for an RT-capable host.","commit_id":"4be354f533544e234b703bc778c5fd2f4631662f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"350a09033fe2ea0362ff8ca9531d1c0ddca31017","unresolved":false,"context_lines":[{"line_number":479,"context_line":"CPU real-time policy"},{"line_number":480,"context_line":"  For the libvirt driver, you can state that one or more of your instance"},{"line_number":481,"context_line":"  virtual CPUs (vCPUs), though not all of them, run with a real-time policy."},{"line_number":482,"context_line":"  When used on a correctly configured host, this provides stronger guarantees"},{"line_number":483,"context_line":"  for worst case scheduler latency for vCPUs and is a requirement for certain"},{"line_number":484,"context_line":"  applications."},{"line_number":485,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_7b0c123b","line":482,"range":{"start_line":482,"start_character":17,"end_line":482,"end_character":42},"in_reply_to":"7f515b1d_4fbf65d0","updated":"2017-10-04 08:37:54.000000000","message":"Turns out that no one (or at least not Red Hat) has this documented publicly yet. I will do it, but would the TODO I\u0027ve inserted here in PS5 be good enough for now?","commit_id":"4be354f533544e234b703bc778c5fd2f4631662f"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"fdfd6113aed5d36844706efdcf6b315e13ab6bb0","unresolved":false,"context_lines":[{"line_number":487,"context_line":""},{"line_number":488,"context_line":"     While most of your instance vCPUs can run with a real-time policy, you must"},{"line_number":489,"context_line":"     mark at least one vCPU as non-real-time, to be used for both non-real-time"},{"line_number":490,"context_line":"     guest processes and emulator overhead (housekeeping) processes."},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"  .. important::"},{"line_number":493,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_8f431db0","line":490,"updated":"2017-10-03 15:21:16.000000000","message":"++ Excellent explanation.","commit_id":"4be354f533544e234b703bc778c5fd2f4631662f"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"fdfd6113aed5d36844706efdcf6b315e13ab6bb0","unresolved":false,"context_lines":[{"line_number":509,"context_line":"    - ``yes``: The guest vCPUs will have a real-time policy"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"  CPU-REALTIME-MASK (coremask):"},{"line_number":512,"context_line":"    A bitmask indicating which vCPUs **will not** have a real-time policy. This"},{"line_number":513,"context_line":"    should start with a ``^``. For example, a value of ``^0-1`` indicates that"},{"line_number":514,"context_line":"    all vCPUs *except* vCPUs ``0`` and ``1`` will have a real-time policy."},{"line_number":515,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_4f1765a5","line":512,"range":{"start_line":512,"start_character":4,"end_line":512,"end_character":74},"updated":"2017-10-03 15:21:16.000000000","message":"clear as mud...","commit_id":"4be354f533544e234b703bc778c5fd2f4631662f"}]}
