)]}'
{"specs/juno/add-utilization-based-weighers.rst":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"570505ef8351ea83cb4bbbbe1d23b2f7d95b6d3c","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Add utilization based weighers"},{"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\u003d\u003d\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":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/add-utilization-based-weighers"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_9b406458","line":11,"updated":"2014-05-07 18:51:34.000000000","message":"You can remove the above line :)","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":4458,"name":"Shane Wang","email":"shane.wang@intel.com","username":"shane-wang"},"change_message_id":"1f429eea20004c3380467cb3de28fc19dfa775fd","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Add utilization based weighers"},{"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\u003d\u003d\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":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/add-utilization-based-weighers"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_e316b4a6","line":11,"in_reply_to":"7adec928_9b406458","updated":"2014-06-04 08:36:38.000000000","message":"Done","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"570505ef8351ea83cb4bbbbe1d23b2f7d95b6d3c","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Utilization Based Scheduling (UBS) has implemented a MetricsWeigher to"},{"line_number":16,"context_line":"set the ratios for different metrics to specify how much they are considered"},{"line_number":17,"context_line":"when scheduling. However, it is flexible so not easy for admins to use it"},{"line_number":18,"context_line":"because probably admins don\u0027t know how many metrics are available, what"},{"line_number":19,"context_line":"each metric exactly means, and how to treat them usually."},{"line_number":20,"context_line":"The plan is to create some predefined weighers as samples from advanced"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_7b12b863","line":17,"updated":"2014-05-07 18:51:34.000000000","message":"I think you meant to say:\n\n \"Even though it is flexible, it is not easy for admins...\"","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":4458,"name":"Shane Wang","email":"shane.wang@intel.com","username":"shane-wang"},"change_message_id":"1f429eea20004c3380467cb3de28fc19dfa775fd","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Utilization Based Scheduling (UBS) has implemented a MetricsWeigher to"},{"line_number":16,"context_line":"set the ratios for different metrics to specify how much they are considered"},{"line_number":17,"context_line":"when scheduling. However, it is flexible so not easy for admins to use it"},{"line_number":18,"context_line":"because probably admins don\u0027t know how many metrics are available, what"},{"line_number":19,"context_line":"each metric exactly means, and how to treat them usually."},{"line_number":20,"context_line":"The plan is to create some predefined weighers as samples from advanced"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_4998466a","line":17,"in_reply_to":"7adec928_7b12b863","updated":"2014-06-04 08:36:38.000000000","message":"Yes","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"570505ef8351ea83cb4bbbbe1d23b2f7d95b6d3c","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In our plan, we hope to create some predefined weighers based on some"},{"line_number":49,"context_line":"experimental results, like RAMWeigher, where users don\u0027t need to set"},{"line_number":50,"context_line":"weight_setting, and others, but weight_multiplier only if they like."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"In the implementation, the weighers are going to be implemented as python"},{"line_number":53,"context_line":"classes inheriting from class MetricsWeigher."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_1e5fe20f","line":50,"updated":"2014-05-07 18:51:34.000000000","message":"I read the above sentence five times, and I\u0027m still unclear what you\u0027re trying to say. Are you stating that in this proposed spec, you plan to create a number of example weighers, some of which will default to particular weight settings, and others which will not?","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":4458,"name":"Shane Wang","email":"shane.wang@intel.com","username":"shane-wang"},"change_message_id":"1f429eea20004c3380467cb3de28fc19dfa775fd","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In our plan, we hope to create some predefined weighers based on some"},{"line_number":49,"context_line":"experimental results, like RAMWeigher, where users don\u0027t need to set"},{"line_number":50,"context_line":"weight_setting, and others, but weight_multiplier only if they like."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"In the implementation, the weighers are going to be implemented as python"},{"line_number":53,"context_line":"classes inheriting from class MetricsWeigher."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_29e5badc","line":50,"in_reply_to":"7adec928_1e5fe20f","updated":"2014-06-04 08:36:38.000000000","message":"Sorry, my fault. I will correct it. No. I want to create a predefined weigher whose weight_setting and others were set based on experimental results in our lab. Then the user only needs to set weight_multiplier, like the user does for other weighers such as RAMWeigher.","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"570505ef8351ea83cb4bbbbe1d23b2f7d95b6d3c","unresolved":false,"context_lines":[{"line_number":50,"context_line":"weight_setting, and others, but weight_multiplier only if they like."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"In the implementation, the weighers are going to be implemented as python"},{"line_number":53,"context_line":"classes inheriting from class MetricsWeigher."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"And we hope to generate a sample nova.conf being filled in proper monitors"},{"line_number":56,"context_line":"to get those metrics if possible, or explain that in a README file."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_9eaa12d3","line":53,"updated":"2014-05-07 18:51:34.000000000","message":"Are these weighers going to be extensions managed by stevedore?","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":4458,"name":"Shane Wang","email":"shane.wang@intel.com","username":"shane-wang"},"change_message_id":"1f429eea20004c3380467cb3de28fc19dfa775fd","unresolved":false,"context_lines":[{"line_number":50,"context_line":"weight_setting, and others, but weight_multiplier only if they like."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"In the implementation, the weighers are going to be implemented as python"},{"line_number":53,"context_line":"classes inheriting from class MetricsWeigher."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"And we hope to generate a sample nova.conf being filled in proper monitors"},{"line_number":56,"context_line":"to get those metrics if possible, or explain that in a README file."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_589c850f","line":53,"in_reply_to":"7adec928_9eaa12d3","updated":"2014-06-04 08:36:38.000000000","message":"They will look the same as those weighers in the current nova scheduler, such as RAMWeigher.","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"570505ef8351ea83cb4bbbbe1d23b2f7d95b6d3c","unresolved":false,"context_lines":[{"line_number":53,"context_line":"classes inheriting from class MetricsWeigher."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"And we hope to generate a sample nova.conf being filled in proper monitors"},{"line_number":56,"context_line":"to get those metrics if possible, or explain that in a README file."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"For example, if an admin cares CPU utilization for a period of time and doesn\u0027t"},{"line_number":59,"context_line":"want to schedule its VM on an \"always-busy\" host. We could figure out that CPU"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_fe8f9673","line":56,"updated":"2014-05-07 18:51:34.000000000","message":"Certainly, documentation should go along with any example weighers, in the form of docstrings on the class and help strings on any options that the class would consume from a section in nova.conf.","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":4458,"name":"Shane Wang","email":"shane.wang@intel.com","username":"shane-wang"},"change_message_id":"1f429eea20004c3380467cb3de28fc19dfa775fd","unresolved":false,"context_lines":[{"line_number":53,"context_line":"classes inheriting from class MetricsWeigher."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"And we hope to generate a sample nova.conf being filled in proper monitors"},{"line_number":56,"context_line":"to get those metrics if possible, or explain that in a README file."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"For example, if an admin cares CPU utilization for a period of time and doesn\u0027t"},{"line_number":59,"context_line":"want to schedule its VM on an \"always-busy\" host. We could figure out that CPU"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_98b9ad7b","line":56,"in_reply_to":"7adec928_fe8f9673","updated":"2014-06-04 08:36:38.000000000","message":"OK.","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"570505ef8351ea83cb4bbbbe1d23b2f7d95b6d3c","unresolved":false,"context_lines":[{"line_number":58,"context_line":"For example, if an admin cares CPU utilization for a period of time and doesn\u0027t"},{"line_number":59,"context_line":"want to schedule its VM on an \"always-busy\" host. We could figure out that CPU"},{"line_number":60,"context_line":"load would be an important aspect to measure by experiments, and pre-define"},{"line_number":61,"context_line":"a CPUUtilWeigher based on that for that user to use directly."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Suppose that the admin divides all hosts into 3 types by CPU frequency - fast("},{"line_number":64,"context_line":"\u003e2GHz), medium(1-2GHz), and slow(\u003c1GHz), and sets scores 1.0, 0.5, and 0"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_7ecaa6a2","line":61,"updated":"2014-05-07 18:51:34.000000000","message":"I\u0027m not entirely sure what you mean by \"would be an important aspect to measure by experiments\". Are you saying that some weighers would save a history of samples , as opposed to other weighers which would only act on the latest sample of the stat/meter they are measuring?","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":4458,"name":"Shane Wang","email":"shane.wang@intel.com","username":"shane-wang"},"change_message_id":"1f429eea20004c3380467cb3de28fc19dfa775fd","unresolved":false,"context_lines":[{"line_number":58,"context_line":"For example, if an admin cares CPU utilization for a period of time and doesn\u0027t"},{"line_number":59,"context_line":"want to schedule its VM on an \"always-busy\" host. We could figure out that CPU"},{"line_number":60,"context_line":"load would be an important aspect to measure by experiments, and pre-define"},{"line_number":61,"context_line":"a CPUUtilWeigher based on that for that user to use directly."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Suppose that the admin divides all hosts into 3 types by CPU frequency - fast("},{"line_number":64,"context_line":"\u003e2GHz), medium(1-2GHz), and slow(\u003c1GHz), and sets scores 1.0, 0.5, and 0"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_a3239ea5","line":61,"in_reply_to":"7adec928_7ecaa6a2","updated":"2014-06-04 08:36:38.000000000","message":"No. From the interview with the IT dept in our company, CPU load is the most important aspect they cared. In our CPU utilization monitor, we can collect that data (actually there is a pending patch from the community to add CPU load), with that I want to say we can set weight_setting to a big number if the users care more on CPU load.","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"570505ef8351ea83cb4bbbbe1d23b2f7d95b6d3c","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Suppose that the admin divides all hosts into 3 types by CPU frequency - fast("},{"line_number":64,"context_line":"\u003e2GHz), medium(1-2GHz), and slow(\u003c1GHz), and sets scores 1.0, 0.5, and 0"},{"line_number":65,"context_line":"respectively. We also can do normalization on CPU frequency to make its values"},{"line_number":66,"context_line":"to be between 0 and 1 if needed."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"For CPU load, suppose the user thinks 5-minute CPU load is more important and"},{"line_number":69,"context_line":"expected to be used: 0.00 means relatively idle, 1.00 means relatively busy."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_fe54f6cb","line":66,"updated":"2014-05-07 18:51:34.000000000","message":"This is straying away from the scope of the blueprint, IMO. Above, you are not describing the weighing of utilization metrics; instead, you are describing the categorization of compute nodes (host aggregates), which is not the same thing...","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":4458,"name":"Shane Wang","email":"shane.wang@intel.com","username":"shane-wang"},"change_message_id":"1f429eea20004c3380467cb3de28fc19dfa775fd","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Suppose that the admin divides all hosts into 3 types by CPU frequency - fast("},{"line_number":64,"context_line":"\u003e2GHz), medium(1-2GHz), and slow(\u003c1GHz), and sets scores 1.0, 0.5, and 0"},{"line_number":65,"context_line":"respectively. We also can do normalization on CPU frequency to make its values"},{"line_number":66,"context_line":"to be between 0 and 1 if needed."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"For CPU load, suppose the user thinks 5-minute CPU load is more important and"},{"line_number":69,"context_line":"expected to be used: 0.00 means relatively idle, 1.00 means relatively busy."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_a37f1e65","line":66,"in_reply_to":"7adec928_fe54f6cb","updated":"2014-06-04 08:36:38.000000000","message":"Sorry, no, that is an example to show how you can use CPU frequency in weight_setting, like CPU load. Suppose a host aggregate contains different hosts with different CPU frequencies, I don\u0027t want to touch any host aggregate blueprint.","commit_id":"14842f2dcf045026783d3f0b514514056fb9fb8b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d6cf8ae12ad72d8dd7c4bcde9e36bce06967aa11","unresolved":false,"context_lines":[{"line_number":115,"context_line":"Alternatives"},{"line_number":116,"context_line":"------------"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"None"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Data model impact"},{"line_number":121,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_db82c0ff","line":118,"updated":"2014-07-01 12:24:49.000000000","message":"Could we not just change all the defaults to the values you suggest? Rather than create any new weighers?\n\nPlease at least discuss this alternative here.","commit_id":"c1d6decb77845a0d16a57773d23b1a467bf1e9f2"}]}
