)]}'
{"nova/objects/fields.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e2d156668239d7afb8c8e46d896b4b5c9fa5af01","unresolved":false,"context_lines":[{"line_number":495,"context_line":"        norm_name \u003d rc_name.upper()"},{"line_number":496,"context_line":"        cust_prefix \u003d cls.CUSTOM_NAMESPACE"},{"line_number":497,"context_line":"        if not norm_name.startswith(cust_prefix):"},{"line_number":498,"context_line":"            norm_name \u003d cust_prefix + norm_name"},{"line_number":499,"context_line":"        # Replace some punctuation characters with underscores"},{"line_number":500,"context_line":"        norm_name \u003d re.sub(\u0027[^0-9A-Z]+\u0027, \u0027_\u0027, norm_name)"},{"line_number":501,"context_line":"        return norm_name"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_3fdbc21b","line":498,"updated":"2017-10-23 15:25:25.000000000","message":"This is broken behavior, IMHO. We discussed it in the original review and I fought hard _NOT_ to have this ambiguous behavior.\n\nThe resource class on ironic is just that - the ironic resource class. Nova takes that and turns it into a thing that nova uses for a purpose, i.e. sending it to placement. Ironic doesn\u0027t have any restrictions on the format of this class, like all-uppercase, prefixed with CUSTOM_ etc. That makes it completely unreasonable to assume that it\u0027s the exact same as a placement RC, IMHO.\n\nWith this change, we introduce an ambiguity where people are unsure if they should set the class on an ironic node to the same thing as in placement or not, and we\u0027ll cover over top of it if they do. That\u0027s broken, confusing, and not necessary.","commit_id":"15805b18e43cff3cb65274ea30d7f6b223fe066d"}],"releasenotes/notes/ironic-resource-class-normalization-44d3564c8ca48202.yaml":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"fa262868160803e9c0e820547b2a205bf30b13ab","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    would add the Resource Class \"CUSTOM_CUSTOM_FOO\" into placement. This is"},{"line_number":6,"context_line":"    no longer the case, while \"FOO\" in Ironic still maps to \"CUSTOM_FOO\""},{"line_number":7,"context_line":"    we now map \"CUSTOM_FOO\" to \"CUSTOM_FOO\". Note that \"VCPU\" in ironic is"},{"line_number":8,"context_line":"    still mapped to \"CUSTOM_VCPU\"."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_f5aa57d0","line":8,"updated":"2017-10-18 14:22:01.000000000","message":"I wondered for a while if we need to make this reno more instructive about what the admin should check / do with the config / flavors during the upgrade to avoid the mess. Then I realized that if the deployer haven\u0027t noticed the mess when created the flavor then adding a reno will not help either.","commit_id":"15805b18e43cff3cb65274ea30d7f6b223fe066d"}]}
