)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"46d10353592f722d5197bc6dc5fadd72abc78e1e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"explore config options to oslo-config-generator."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"After this patch, new inner config options of Ironic should register"},{"line_number":19,"context_line":"themselfs with ironic/common/options.py. New outer libraries should"},{"line_number":20,"context_line":"register with tools/config/ironic-config-generator.conf"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Update etc/ironic/ironic.conf.sample via running \u0027tox -egenconfig\u0027."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da0c15f0_42c0ad7c","line":19,"range":{"start_line":19,"start_character":38,"end_line":19,"end_character":39},"updated":"2016-03-28 06:56:19.000000000","message":"s/options/opts/","commit_id":"ede8d2b3bda0c7141b445f21ca1b334b1c06a7ff"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"109254b9b03c9521fedbf3f1a45d0bc837701ff4","unresolved":false,"context_lines":[{"line_number":16,"context_line":"explore config options to oslo-config-generator."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"After this patch, new inner config options of Ironic should register"},{"line_number":19,"context_line":"themselfs with ironic/common/options.py. New outer libraries should"},{"line_number":20,"context_line":"register with tools/config/ironic-config-generator.conf"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Update etc/ironic/ironic.conf.sample via running \u0027tox -egenconfig\u0027."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da0c15f0_e79a01c5","line":19,"updated":"2016-03-24 22:26:03.000000000","message":"s/themselfs/themselves/\n\nor\n\ns/themselfs //","commit_id":"ede8d2b3bda0c7141b445f21ca1b334b1c06a7ff"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"f32eeb3d71300a297d70cfa245048c32daae79d0","unresolved":false,"context_lines":[{"line_number":24,"context_line":"We have to change my_ip to 10.0.0.1 manually for sample config"},{"line_number":25,"context_line":"or determine the IP programmatically."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Partial-Bug: #1561100"},{"line_number":28,"context_line":"Depends-On: Ibf844b903340f834cca5cc4539ddd9cecbeda90a"},{"line_number":29,"context_line":"Change-Id: If7721e98e69b6f54f1ee04a07477396b86583371"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba0121b8_a64aac81","line":27,"updated":"2016-03-29 12:59:07.000000000","message":"This doesn\u0027t seem like the correct bug to me.","commit_id":"d8658db4dcf9dcef248ae1e66146d057541fc2fd"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"a8de5f2288fed0aa9aed5c8ac61ae21080311ff3","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Update etc/ironic/ironic.conf.sample via running \u0027tox -egenconfig\u0027."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Closes-Bug: #1561100"},{"line_number":25,"context_line":"Change-Id: If7721e98e69b6f54f1ee04a07477396b86583371"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a061dce_7338fb3d","line":24,"updated":"2016-04-06 12:12:00.000000000","message":"Wrong bug #","commit_id":"9361230828e5eb8c3416d2921381845d57d8df9b"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7a7ba4e346324301f92826247489984979cf04fc","unresolved":false,"context_lines":[{"line_number":22,"context_line":"There is a bug #1554657 with oslo-config about deprecated_group."},{"line_number":23,"context_line":"So currently, deprecated option should always add the deprecated_group"},{"line_number":24,"context_line":"even it didn\u0027t alter the group, otherwise the deprecated group value will"},{"line_number":25,"context_line":"be \u0027DEFAULT\u0027."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Update etc/ironic/ironic.conf.sample via running \u0027tox -egenconfig\u0027."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"bab6814e_8180e147","line":25,"updated":"2016-05-19 15:40:18.000000000","message":"nit, if you do another revision, mention \u0027(E.g. this bug shows up in some configs from keystonemiddleware and oslo.messaging libraries.)\u0027","commit_id":"8f97259707d781df9089586bb189a027900f476a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"380d24b3a5f466c6de4f8c0fa39c036836c1de59","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make use of oslo-config-generator"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"oslo_config provide a utility for generating sample config files,"},{"line_number":10,"context_line":"which provide more detail about opts, like Minimum/Maximum value"},{"line_number":11,"context_line":"and Allowed values."},{"line_number":12,"context_line":"So drop Ironic\u0027s \"generate_sample.sh\" which was copied from"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"bab6814e_8a5ab181","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":19},"updated":"2016-05-25 15:38:40.000000000","message":"s/provide a/provides an/","commit_id":"773aa20a4ac0364a2219877863017224c7f1089f"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"380d24b3a5f466c6de4f8c0fa39c036836c1de59","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Add a new entry point \"ironic\" under oslo.config.opts namespace to"},{"line_number":16,"context_line":"explore config options to oslo-config-generator."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"After this patch, new config options of Ironic code should register"},{"line_number":19,"context_line":"with ironic/conf/opts.py. New external libraries should"},{"line_number":20,"context_line":"register with tools/config/ironic-config-generator.conf"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"bab6814e_aafdf53c","line":18,"range":{"start_line":18,"start_character":52,"end_line":18,"end_character":58},"updated":"2016-05-25 15:38:40.000000000","message":"s/should register with/should be registered in/","commit_id":"773aa20a4ac0364a2219877863017224c7f1089f"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"380d24b3a5f466c6de4f8c0fa39c036836c1de59","unresolved":false,"context_lines":[{"line_number":16,"context_line":"explore config options to oslo-config-generator."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"After this patch, new config options of Ironic code should register"},{"line_number":19,"context_line":"with ironic/conf/opts.py. New external libraries should"},{"line_number":20,"context_line":"register with tools/config/ironic-config-generator.conf"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"There is a bug #1554657 with oslo-config about deprecated_group."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"bab6814e_ea8eddce","line":19,"range":{"start_line":19,"start_character":49,"end_line":19,"end_character":55},"updated":"2016-05-25 15:38:40.000000000","message":"ditto","commit_id":"773aa20a4ac0364a2219877863017224c7f1089f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"007615cdec6fa4c4c6c0a11f432e7f619a0e9249","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"There is a bug #1554657 with oslo-config about deprecated_group."},{"line_number":23,"context_line":"This bug have impact of some configs from keystonemiddleware"},{"line_number":24,"context_line":"and oslo.messaging in ironic.conf.sample"},{"line_number":25,"context_line":"So currently, deprecated option should always add the deprecated_group"},{"line_number":26,"context_line":"even it didn\u0027t alter the group, otherwise the deprecated group value will"},{"line_number":27,"context_line":"be \u0027DEFAULT\u0027."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"bab6814e_5ceed78b","line":24,"updated":"2016-05-25 15:16:33.000000000","message":"nit, missing a period at the end of this sentence.","commit_id":"773aa20a4ac0364a2219877863017224c7f1089f"}],"etc/ironic/ironic-config-generator.conf":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e25dda5c698a0407ecc31be31e13012408def59f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"output_file \u003d etc/ironic/ironic.conf.sample"},{"line_number":3,"context_line":"wrap_width \u003d 62"},{"line_number":4,"context_line":"namespace \u003d ironic"},{"line_number":5,"context_line":"namespace \u003d ironic_lib.disk_utils"},{"line_number":6,"context_line":"namespace \u003d ironic_lib.disk_partitioner"}],"source_content_type":"text/plain","patch_set":16,"id":"dab17558_7bf53381","line":3,"updated":"2016-05-17 14:31:41.000000000","message":"I had to look through a bunch of comments before I figured out that the reason this is 62, is that this is what the existing generator uses. (I didn\u0027t verify that though.)","commit_id":"e076b2474f31e0eb19bcafa32d45b4110e52fae3"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"ebee1e08b10d0ce560918071939def5c746bf754","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"output_file \u003d etc/ironic/ironic.conf.sample"},{"line_number":3,"context_line":"wrap_width \u003d 62"},{"line_number":4,"context_line":"namespace \u003d ironic"},{"line_number":5,"context_line":"namespace \u003d ironic_lib.disk_utils"},{"line_number":6,"context_line":"namespace \u003d ironic_lib.disk_partitioner"}],"source_content_type":"text/plain","patch_set":16,"id":"bab6814e_059f4004","line":3,"in_reply_to":"dab17558_7bf53381","updated":"2016-05-18 07:55:44.000000000","message":"Yes, it is.","commit_id":"e076b2474f31e0eb19bcafa32d45b4110e52fae3"}],"etc/ironic/ironic.conf.sample":[{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"7bb5ea7b6cd9d33c9d221469a3c5693d27a3d054","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"# IP address of this host. If unset, will determine the IP programmatically. If"},{"line_number":98,"context_line":"# unable to do so, will use \"127.0.0.1\". (string value)"},{"line_number":99,"context_line":"#my_ip \u003d 10.238.144.103"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"#"},{"line_number":102,"context_line":"# From oslo.log"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"fa0719c6_87ec2c2b","line":99,"range":{"start_line":99,"start_character":1,"end_line":99,"end_character":23},"updated":"2016-03-24 06:51:20.000000000","message":"this will be changed","commit_id":"51d34283ae0ffab4499cd1521dfc4874c308a440"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"95aaa9145ae64e89a4c6136d8076f976a8765089","unresolved":false,"context_lines":[{"line_number":115,"context_line":"# IP address of this host. If unset, will determine the IP"},{"line_number":116,"context_line":"# programmatically. If unable to do so, will use \"127.0.0.1\"."},{"line_number":117,"context_line":"# (string value)"},{"line_number":118,"context_line":"#my_ip \u003d 127.0.0.1"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"#"},{"line_number":121,"context_line":"# From oslo.log"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"dab17558_e059fe36","line":118,"updated":"2016-05-13 14:05:58.000000000","message":"This looks correct to change it to 127.0.0.1 as the doc string says that is the default.","commit_id":"592c65636f15159899c91ffb968bafb97ee0bd63"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"9c4def20586a80807d427db935819e6056c6c38b","unresolved":false,"context_lines":[{"line_number":115,"context_line":"# IP address of this host. If unset, will determine the IP"},{"line_number":116,"context_line":"# programmatically. If unable to do so, will use \"127.0.0.1\"."},{"line_number":117,"context_line":"# (string value)"},{"line_number":118,"context_line":"#my_ip \u003d 127.0.0.1"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"#"},{"line_number":121,"context_line":"# From oslo.log"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"dab17558_ea008b04","line":118,"in_reply_to":"dab17558_e059fe36","updated":"2016-05-16 02:48:31.000000000","message":"+1","commit_id":"592c65636f15159899c91ffb968bafb97ee0bd63"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"95aaa9145ae64e89a4c6136d8076f976a8765089","unresolved":false,"context_lines":[{"line_number":1305,"context_line":"# Optionally specify a list of memcached server(s) to use for"},{"line_number":1306,"context_line":"# caching. If left undefined, tokens will instead be cached"},{"line_number":1307,"context_line":"# in-process. (list value)"},{"line_number":1308,"context_line":"# Deprecated group/name - [DEFAULT]/memcache_servers"},{"line_number":1309,"context_line":"#memcached_servers \u003d \u003cNone\u003e"},{"line_number":1310,"context_line":""},{"line_number":1311,"context_line":"# In order to prevent excessive effort spent validating"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"dab17558_00a52203","line":1308,"updated":"2016-05-13 14:05:58.000000000","message":"Looks like need to add the \u0027deprecated group name\u0027 for this option.\n\nOr is that not possible?","commit_id":"592c65636f15159899c91ffb968bafb97ee0bd63"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"9c4def20586a80807d427db935819e6056c6c38b","unresolved":false,"context_lines":[{"line_number":1305,"context_line":"# Optionally specify a list of memcached server(s) to use for"},{"line_number":1306,"context_line":"# caching. If left undefined, tokens will instead be cached"},{"line_number":1307,"context_line":"# in-process. (list value)"},{"line_number":1308,"context_line":"# Deprecated group/name - [DEFAULT]/memcache_servers"},{"line_number":1309,"context_line":"#memcached_servers \u003d \u003cNone\u003e"},{"line_number":1310,"context_line":""},{"line_number":1311,"context_line":"# In order to prevent excessive effort spent validating"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"dab17558_b593885a","line":1308,"in_reply_to":"dab17558_00a52203","updated":"2016-05-16 02:48:31.000000000","message":"Not possible from Ironic but could be fixed within the dependence library.","commit_id":"592c65636f15159899c91ffb968bafb97ee0bd63"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"95aaa9145ae64e89a4c6136d8076f976a8765089","unresolved":false,"context_lines":[{"line_number":1396,"context_line":"#hash_algorithms \u003d md5"},{"line_number":1397,"context_line":""},{"line_number":1398,"context_line":"# Authentication type to load (unknown value)"},{"line_number":1399,"context_line":"# Deprecated group/name - [DEFAULT]/auth_plugin"},{"line_number":1400,"context_line":"#auth_type \u003d \u003cNone\u003e"},{"line_number":1401,"context_line":""},{"line_number":1402,"context_line":"# Config Section from which to load plugin specific options"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"dab17558_60b4ee34","line":1399,"updated":"2016-05-13 14:05:58.000000000","message":"Looks like need to add the \u0027deprecated group name\u0027 for this option.\n\nOr is that not possible?","commit_id":"592c65636f15159899c91ffb968bafb97ee0bd63"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"9c4def20586a80807d427db935819e6056c6c38b","unresolved":false,"context_lines":[{"line_number":1396,"context_line":"#hash_algorithms \u003d md5"},{"line_number":1397,"context_line":""},{"line_number":1398,"context_line":"# Authentication type to load (unknown value)"},{"line_number":1399,"context_line":"# Deprecated group/name - [DEFAULT]/auth_plugin"},{"line_number":1400,"context_line":"#auth_type \u003d \u003cNone\u003e"},{"line_number":1401,"context_line":""},{"line_number":1402,"context_line":"# Config Section from which to load plugin specific options"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"dab17558_f51a30c5","line":1399,"in_reply_to":"dab17558_60b4ee34","updated":"2016-05-16 02:48:31.000000000","message":"ditto","commit_id":"592c65636f15159899c91ffb968bafb97ee0bd63"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"95aaa9145ae64e89a4c6136d8076f976a8765089","unresolved":false,"context_lines":[{"line_number":1673,"context_line":"# How long to wait a missing client beforce abandoning to send"},{"line_number":1674,"context_line":"# it its replies. This value should not be longer than"},{"line_number":1675,"context_line":"# rpc_response_timeout. (integer value)"},{"line_number":1676,"context_line":"# Deprecated group/name - [DEFAULT]/kombu_reconnect_timeout"},{"line_number":1677,"context_line":"#kombu_missing_consumer_retry_timeout \u003d 60"},{"line_number":1678,"context_line":""},{"line_number":1679,"context_line":"# Determines how the next RabbitMQ node is chosen in case the"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"dab17558_e07e1e69","line":1676,"updated":"2016-05-13 14:05:58.000000000","message":"Looks like need to add the \u0027deprecated group name\u0027 for this option.\n\nOr is that not possible?","commit_id":"592c65636f15159899c91ffb968bafb97ee0bd63"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"9c4def20586a80807d427db935819e6056c6c38b","unresolved":false,"context_lines":[{"line_number":1673,"context_line":"# How long to wait a missing client beforce abandoning to send"},{"line_number":1674,"context_line":"# it its replies. This value should not be longer than"},{"line_number":1675,"context_line":"# rpc_response_timeout. (integer value)"},{"line_number":1676,"context_line":"# Deprecated group/name - [DEFAULT]/kombu_reconnect_timeout"},{"line_number":1677,"context_line":"#kombu_missing_consumer_retry_timeout \u003d 60"},{"line_number":1678,"context_line":""},{"line_number":1679,"context_line":"# Determines how the next RabbitMQ node is chosen in case the"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"dab17558_95092487","line":1676,"in_reply_to":"dab17558_e07e1e69","updated":"2016-05-16 02:48:31.000000000","message":"ditto","commit_id":"592c65636f15159899c91ffb968bafb97ee0bd63"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7adac8776152aa2abd198c3a71e39bf770414fef","unresolved":false,"context_lines":[{"line_number":1305,"context_line":"# Optionally specify a list of memcached server(s) to use for"},{"line_number":1306,"context_line":"# caching. If left undefined, tokens will instead be cached"},{"line_number":1307,"context_line":"# in-process. (list value)"},{"line_number":1308,"context_line":"# Deprecated group/name - [DEFAULT]/memcache_servers"},{"line_number":1309,"context_line":"#memcached_servers \u003d \u003cNone\u003e"},{"line_number":1310,"context_line":""},{"line_number":1311,"context_line":"# In order to prevent excessive effort spent validating"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"dab17558_f4d83f55","line":1308,"updated":"2016-05-16 22:09:47.000000000","message":"is this correct?\n\nI see that John commented on this. I think the commit message should indicate that due to the changes, the .sample will have incorrect deprecated group/name for libraries that blah blah.","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d3f0371a4e192ee69314e135f054beb496b7e938","unresolved":false,"context_lines":[{"line_number":1305,"context_line":"# Optionally specify a list of memcached server(s) to use for"},{"line_number":1306,"context_line":"# caching. If left undefined, tokens will instead be cached"},{"line_number":1307,"context_line":"# in-process. (list value)"},{"line_number":1308,"context_line":"# Deprecated group/name - [DEFAULT]/memcache_servers"},{"line_number":1309,"context_line":"#memcached_servers \u003d \u003cNone\u003e"},{"line_number":1310,"context_line":""},{"line_number":1311,"context_line":"# In order to prevent excessive effort spent validating"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"dab17558_d5bcf007","line":1308,"in_reply_to":"dab17558_68946336","updated":"2016-05-17 14:23:33.000000000","message":"Tan, as I mentioned in my comment above. Since this file is generated, we cannot add a comment to it, so I think it should be mentioned in the commit message that the generated .sample will have this bug.\n\nAdding to the commit message helps in two (at least) ways: 1. I would have known it was a bug and not added this comment; 2. if someone later wonders about this, they can find out via the commit message if they look hard enough.","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"d909b7fa1a3a6f0c4c9b09d7c17cd5230988cf03","unresolved":false,"context_lines":[{"line_number":1305,"context_line":"# Optionally specify a list of memcached server(s) to use for"},{"line_number":1306,"context_line":"# caching. If left undefined, tokens will instead be cached"},{"line_number":1307,"context_line":"# in-process. (list value)"},{"line_number":1308,"context_line":"# Deprecated group/name - [DEFAULT]/memcache_servers"},{"line_number":1309,"context_line":"#memcached_servers \u003d \u003cNone\u003e"},{"line_number":1310,"context_line":""},{"line_number":1311,"context_line":"# In order to prevent excessive effort spent validating"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"bab6814e_a5cbd41d","line":1308,"in_reply_to":"dab17558_d5bcf007","updated":"2016-05-18 07:00:21.000000000","message":"Good point, I will add it.","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"264c1a5d785416ae0e7419202e7435959b8b2082","unresolved":false,"context_lines":[{"line_number":1305,"context_line":"# Optionally specify a list of memcached server(s) to use for"},{"line_number":1306,"context_line":"# caching. If left undefined, tokens will instead be cached"},{"line_number":1307,"context_line":"# in-process. (list value)"},{"line_number":1308,"context_line":"# Deprecated group/name - [DEFAULT]/memcache_servers"},{"line_number":1309,"context_line":"#memcached_servers \u003d \u003cNone\u003e"},{"line_number":1310,"context_line":""},{"line_number":1311,"context_line":"# In order to prevent excessive effort spent validating"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"dab17558_68946336","line":1308,"in_reply_to":"dab17558_f4d83f55","updated":"2016-05-17 06:41:27.000000000","message":"This is incorrect. But these three options are in Ironic\u0027s dependence library and there is already a bug and a patch to fix this in oslo.config. So I prefer to leave it.","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7adac8776152aa2abd198c3a71e39bf770414fef","unresolved":false,"context_lines":[{"line_number":1396,"context_line":"#hash_algorithms \u003d md5"},{"line_number":1397,"context_line":""},{"line_number":1398,"context_line":"# Authentication type to load (unknown value)"},{"line_number":1399,"context_line":"# Deprecated group/name - [DEFAULT]/auth_plugin"},{"line_number":1400,"context_line":"#auth_type \u003d \u003cNone\u003e"},{"line_number":1401,"context_line":""},{"line_number":1402,"context_line":"# Config Section from which to load plugin specific options"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"dab17558_94e8d3e3","line":1399,"updated":"2016-05-16 22:09:47.000000000","message":"is this correct?","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7adac8776152aa2abd198c3a71e39bf770414fef","unresolved":false,"context_lines":[{"line_number":1673,"context_line":"# How long to wait a missing client beforce abandoning to send"},{"line_number":1674,"context_line":"# it its replies. This value should not be longer than"},{"line_number":1675,"context_line":"# rpc_response_timeout. (integer value)"},{"line_number":1676,"context_line":"# Deprecated group/name - [DEFAULT]/kombu_reconnect_timeout"},{"line_number":1677,"context_line":"#kombu_missing_consumer_retry_timeout \u003d 60"},{"line_number":1678,"context_line":""},{"line_number":1679,"context_line":"# Determines how the next RabbitMQ node is chosen in case the"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"dab17558_540cabeb","line":1676,"updated":"2016-05-16 22:09:47.000000000","message":"is this correct?","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"}],"ironic/common/opts.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"728cefd5e2f42297ff093a0b874f6799e8c1b65a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    (\u0027api\u0027, ironic.api.API_SERVICE_OPTS),"},{"line_number":83,"context_line":"    (\u0027cimc\u0027, ironic.drivers.modules.cimc.power.opts),"},{"line_number":84,"context_line":"    (\u0027cisco_ucs\u0027, ironic.drivers.modules.ucs.power.opts),"},{"line_number":85,"context_line":"    (\u0027conductor\u0027, ironic.conductor.manager.conductor_opts),"},{"line_number":86,"context_line":"    (\u0027console\u0027, ironic.drivers.modules.console_utils.opts),"},{"line_number":87,"context_line":"    (\u0027database\u0027, ironic.db.sqlalchemy.models.sql_opts),"},{"line_number":88,"context_line":"    (\u0027deploy\u0027, ironic.drivers.modules.deploy_utils.deploy_opts),"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a061dce_b64d6640","line":85,"updated":"2016-04-06 11:02:54.000000000","message":"base_manager missed here","commit_id":"9361230828e5eb8c3416d2921381845d57d8df9b"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"9fd6ade1f0f10690b2ba93024863c3cbbdd76af5","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    (\u0027api\u0027, ironic.api.API_SERVICE_OPTS),"},{"line_number":83,"context_line":"    (\u0027cimc\u0027, ironic.drivers.modules.cimc.power.opts),"},{"line_number":84,"context_line":"    (\u0027cisco_ucs\u0027, ironic.drivers.modules.ucs.power.opts),"},{"line_number":85,"context_line":"    (\u0027conductor\u0027, ironic.conductor.manager.conductor_opts),"},{"line_number":86,"context_line":"    (\u0027console\u0027, ironic.drivers.modules.console_utils.opts),"},{"line_number":87,"context_line":"    (\u0027database\u0027, ironic.db.sqlalchemy.models.sql_opts),"},{"line_number":88,"context_line":"    (\u0027deploy\u0027, ironic.drivers.modules.deploy_utils.deploy_opts),"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a061dce_fb8e792c","line":85,"in_reply_to":"9a061dce_b64d6640","updated":"2016-04-07 01:59:57.000000000","message":"Done","commit_id":"9361230828e5eb8c3416d2921381845d57d8df9b"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"728cefd5e2f42297ff093a0b874f6799e8c1b65a","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    (\u0027inspector\u0027, ironic.drivers.modules.inspector.inspector_opts),"},{"line_number":100,"context_line":"    (\u0027ipmi\u0027, ironic.drivers.modules.ipminative.opts),"},{"line_number":101,"context_line":"    (\u0027irmc\u0027, itertools.chain("},{"line_number":102,"context_line":"        ironic.drivers.modules.irmc.common.opts,"},{"line_number":103,"context_line":"        ironic.drivers.modules.irmc.boot.opts)),"},{"line_number":104,"context_line":"    (\u0027keystone\u0027, ironic.common.keystone.keystone_opts),"},{"line_number":105,"context_line":"    (\u0027neutron\u0027, ironic.dhcp.neutron.neutron_opts),"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a061dce_36b836c8","line":102,"updated":"2016-04-06 11:02:54.000000000","message":"These two are not in alphabetical order.","commit_id":"9361230828e5eb8c3416d2921381845d57d8df9b"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"9fd6ade1f0f10690b2ba93024863c3cbbdd76af5","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    (\u0027inspector\u0027, ironic.drivers.modules.inspector.inspector_opts),"},{"line_number":100,"context_line":"    (\u0027ipmi\u0027, ironic.drivers.modules.ipminative.opts),"},{"line_number":101,"context_line":"    (\u0027irmc\u0027, itertools.chain("},{"line_number":102,"context_line":"        ironic.drivers.modules.irmc.common.opts,"},{"line_number":103,"context_line":"        ironic.drivers.modules.irmc.boot.opts)),"},{"line_number":104,"context_line":"    (\u0027keystone\u0027, ironic.common.keystone.keystone_opts),"},{"line_number":105,"context_line":"    (\u0027neutron\u0027, ironic.dhcp.neutron.neutron_opts),"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a061dce_1b8a4d1b","line":102,"in_reply_to":"9a061dce_36b836c8","updated":"2016-04-07 01:59:57.000000000","message":"Done","commit_id":"9361230828e5eb8c3416d2921381845d57d8df9b"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7adac8776152aa2abd198c3a71e39bf770414fef","unresolved":false,"context_lines":[{"line_number":9,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied."},{"line_number":10,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":11,"context_line":"# limitations under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import itertools"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import ironic.api"}],"source_content_type":"text/x-python","patch_set":15,"id":"dab17558_570cadeb","line":12,"updated":"2016-05-16 22:09:47.000000000","message":"I\u0027m not sure that this should be in ironic/common. Why  not just put it in ironic/?\n\nIt seems like code in ironic/common is used by code outside ironic/common. This code isn\u0027t being called by any ironic code and it imports everything that has configs.  (Maybe I am bike shedding...)","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"0ca8b51409463b664b77435096fc11d021d94dfa","unresolved":false,"context_lines":[{"line_number":9,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied."},{"line_number":10,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":11,"context_line":"# limitations under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import itertools"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import ironic.api"}],"source_content_type":"text/x-python","patch_set":15,"id":"dab17558_9e7bcabd","line":12,"in_reply_to":"dab17558_570cadeb","updated":"2016-05-17 01:18:34.000000000","message":"Hi Ruby, Tan, the patch series for RFE #1561100 followed Nova\u0027s way of centralizing the config options and created a new package ironic/conf, which contains a module for each config group/section. So, I would like to propose creating \u0027ironic/conf\u0027 for opts.py.","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"264c1a5d785416ae0e7419202e7435959b8b2082","unresolved":false,"context_lines":[{"line_number":9,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied."},{"line_number":10,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":11,"context_line":"# limitations under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import itertools"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import ironic.api"}],"source_content_type":"text/x-python","patch_set":15,"id":"dab17558_c8e58fdc","line":12,"in_reply_to":"dab17558_9e7bcabd","updated":"2016-05-17 06:41:27.000000000","message":"I didn\u0027t have a strong feeling on this, I can move it into conf folder.","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7adac8776152aa2abd198c3a71e39bf770414fef","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    ironic.netconf.netconf_opts,"},{"line_number":72,"context_line":"]"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"_opts \u003d ["},{"line_number":75,"context_line":"    (\u0027DEFAULT\u0027, itertools.chain(*_default_opt_lists)),"},{"line_number":76,"context_line":"    (\u0027agent\u0027, itertools.chain("},{"line_number":77,"context_line":"        ironic.drivers.modules.agent.agent_opts,"}],"source_content_type":"text/x-python","patch_set":15,"id":"dab17558_17050579","line":74,"updated":"2016-05-16 22:09:47.000000000","message":"So instead of this one central file, we could have done something else like eg, drivers/opts.py, conductor/opts.py, api/opts.py, common/opts.py, ...\n\nI suppose this is fine, anything we do will make it that much more difficult for a developer anyway :-(","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"0ca8b51409463b664b77435096fc11d021d94dfa","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    ironic.netconf.netconf_opts,"},{"line_number":72,"context_line":"]"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"_opts \u003d ["},{"line_number":75,"context_line":"    (\u0027DEFAULT\u0027, itertools.chain(*_default_opt_lists)),"},{"line_number":76,"context_line":"    (\u0027agent\u0027, itertools.chain("},{"line_number":77,"context_line":"        ironic.drivers.modules.agent.agent_opts,"}],"source_content_type":"text/x-python","patch_set":15,"id":"dab17558_d9528c12","line":74,"in_reply_to":"dab17558_17050579","updated":"2016-05-17 01:18:34.000000000","message":"I think just ironic/conf/opts.py will work fine; merging the patch series for RFE #1561100 will be a lot easier that way.","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7adac8776152aa2abd198c3a71e39bf770414fef","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"def list_opts():"},{"line_number":123,"context_line":"    \"\"\"Return a list of oslo.config options available in Ironic."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    The returned list includes all oslo.config options. Each element of"},{"line_number":126,"context_line":"    the list is a tuple. The first element is the name of the group, the"}],"source_content_type":"text/x-python","patch_set":15,"id":"dab17558_f4bb1fc2","line":123,"updated":"2016-05-16 22:09:47.000000000","message":"Is this also going to list the options from libraries that ironic uses, or only from the ironic code? I\u0027m guessing the latter, so maybe clarify, eg s/Ironic/ironic code/.","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"264c1a5d785416ae0e7419202e7435959b8b2082","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"def list_opts():"},{"line_number":123,"context_line":"    \"\"\"Return a list of oslo.config options available in Ironic."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    The returned list includes all oslo.config options. Each element of"},{"line_number":126,"context_line":"    the list is a tuple. The first element is the name of the group, the"}],"source_content_type":"text/x-python","patch_set":15,"id":"dab17558_a8848bd2","line":123,"in_reply_to":"dab17558_f4bb1fc2","updated":"2016-05-17 06:41:27.000000000","message":"Done","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7adac8776152aa2abd198c3a71e39bf770414fef","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    The function is discoverable via the \u0027ironic\u0027 entry point under the"},{"line_number":130,"context_line":"    \u0027oslo.config.opts\u0027 namespace."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    The function is allow Oslo sample config file generator to discover the"},{"line_number":133,"context_line":"    options."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    :returns: a list of (group, options) tuples"}],"source_content_type":"text/x-python","patch_set":15,"id":"dab17558_547f8b16","line":132,"updated":"2016-05-16 22:09:47.000000000","message":"maybe s/is allow/is used by/","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"264c1a5d785416ae0e7419202e7435959b8b2082","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    The function is discoverable via the \u0027ironic\u0027 entry point under the"},{"line_number":130,"context_line":"    \u0027oslo.config.opts\u0027 namespace."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    The function is allow Oslo sample config file generator to discover the"},{"line_number":133,"context_line":"    options."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    :returns: a list of (group, options) tuples"}],"source_content_type":"text/x-python","patch_set":15,"id":"dab17558_4876bf06","line":132,"in_reply_to":"dab17558_547f8b16","updated":"2016-05-17 06:41:27.000000000","message":"Done","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"}],"ironic/netconf.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b333d9f64cc60e6f44b2a143bc6d2fd29698d335","unresolved":false,"context_lines":[{"line_number":25,"context_line":"netconf_opts \u003d ["},{"line_number":26,"context_line":"    cfg.StrOpt(\u0027my_ip\u0027,"},{"line_number":27,"context_line":"               default\u003dnetutils.get_my_ipv4(),"},{"line_number":28,"context_line":"               sample_default\u003d\u0027127.0.0.1\u0027,"},{"line_number":29,"context_line":"               help\u003d_(\u0027IP address of this host. If unset, will determine the \u0027"},{"line_number":30,"context_line":"                      \u0027IP programmatically. If unable to do so, will use \u0027"},{"line_number":31,"context_line":"                      \u0027\"127.0.0.1\".\u0027)),"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a061dce_4de346d9","line":28,"updated":"2016-04-07 15:05:38.000000000","message":"Could you also please add sample_default for ironic.common.utils tempdir option and ironic.common.service host option? This is to preserve behavior of mocks in current config generator script.","commit_id":"86605294f2f2632b47075297c3657621b381e144"}],"releasenotes/notes/adopt-oslo-config-generator-15afd2e7c2f008b4.yaml":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"109254b9b03c9521fedbf3f1a45d0bc837701ff4","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"    Adopt oslo-config-generator to generate sample config files."},{"line_number":4,"context_line":"    New inner config options of Ironic should register"},{"line_number":5,"context_line":"    themselfs with ironic/common/options.py. New outer libraries"},{"line_number":6,"context_line":"    should register with tools/config/ironic-config-generator.conf"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"da0c15f0_0773b5b2","line":5,"updated":"2016-03-24 22:26:03.000000000","message":"s/themselfs/themselves/\n\nor\n\ns/themselfs //","commit_id":"ede8d2b3bda0c7141b445f21ca1b334b1c06a7ff"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"bdcbc3921ca14a8b876f7de3abffac6dc23e8a22","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"    Adopt oslo-config-generator to generate sample config files."},{"line_number":4,"context_line":"    New inner config options of Ironic should register"},{"line_number":5,"context_line":"    themselfs with ironic/common/options.py. New outer libraries"},{"line_number":6,"context_line":"    should register with tools/config/ironic-config-generator.conf"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"da0c15f0_4cf00d91","line":5,"in_reply_to":"da0c15f0_0773b5b2","updated":"2016-03-25 17:03:31.000000000","message":"Done","commit_id":"ede8d2b3bda0c7141b445f21ca1b334b1c06a7ff"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"173a59ebe281241185c29049a4d54b0a0cced435","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"    Adopt oslo-config-generator to generate sample config files."},{"line_number":4,"context_line":"    New inner config options of Ironic should register"},{"line_number":5,"context_line":"    themselfs with ironic/common/options.py. New outer libraries"},{"line_number":6,"context_line":"    should register with tools/config/ironic-config-generator.conf"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"da0c15f0_b71136af","line":5,"in_reply_to":"da0c15f0_4cf00d91","updated":"2016-03-25 17:08:14.000000000","message":"Thanks for posting release notes. \n\nJust a minor comment: s/options.py/opts.py","commit_id":"ede8d2b3bda0c7141b445f21ca1b334b1c06a7ff"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"46d10353592f722d5197bc6dc5fadd72abc78e1e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"    Adopt oslo-config-generator to generate sample config files."},{"line_number":4,"context_line":"    New inner config options of Ironic should register"},{"line_number":5,"context_line":"    themselfs with ironic/common/options.py. New outer libraries"},{"line_number":6,"context_line":"    should register with tools/config/ironic-config-generator.conf"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"da0c15f0_02ceb5b3","line":5,"in_reply_to":"da0c15f0_b71136af","updated":"2016-03-28 06:56:19.000000000","message":"Nice catch, thanks","commit_id":"ede8d2b3bda0c7141b445f21ca1b334b1c06a7ff"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"95aaa9145ae64e89a4c6136d8076f976a8765089","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    New inner config options of Ironic should register with"},{"line_number":5,"context_line":"    ironic/common/opts.py. New outer libraries should register"},{"line_number":6,"context_line":"    with tools/config/ironic-config-generator.conf."},{"line_number":7,"context_line":"    A deprecated option should add a deprecated group even it"},{"line_number":8,"context_line":"    didn\u0027t alter its group, otherwise the deprecated group will"},{"line_number":9,"context_line":"    use \u0027DEFAULT\u0027 by default."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"dab17558_6067ceb7","line":7,"range":{"start_line":7,"start_character":54,"end_line":7,"end_character":61},"updated":"2016-05-13 14:05:58.000000000","message":"even if it","commit_id":"592c65636f15159899c91ffb968bafb97ee0bd63"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7adac8776152aa2abd198c3a71e39bf770414fef","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    Adopt oslo-config-generator to generate sample config files."},{"line_number":4,"context_line":"    New inner config options of Ironic should register with"},{"line_number":5,"context_line":"    ironic/common/opts.py. New outer libraries should register"},{"line_number":6,"context_line":"    with tools/config/ironic-config-generator.conf."},{"line_number":7,"context_line":"    A deprecated option should add a deprecated group even if it"},{"line_number":8,"context_line":"    didn\u0027t alter its group, otherwise the deprecated group will"},{"line_number":9,"context_line":"    use \u0027DEFAULT\u0027 by default."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"dab17558_5754adfc","line":6,"updated":"2016-05-16 22:09:47.000000000","message":"This \u0027inner\u0027 and \u0027outer\u0027 confuse me. By \u0027inner\u0027 you mean config options from ironic code, right? And by \u0027outer\u0027 you mean config options from libraries used by ironic code?\n\nBy the way, I am not convinced this is a \u0027feature\u0027 that ought to be mentioned in the release notes. This is for developers only, right? Would \u0027other notes\u0027 make more sense? (Just wondering.)","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"264c1a5d785416ae0e7419202e7435959b8b2082","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    Adopt oslo-config-generator to generate sample config files."},{"line_number":4,"context_line":"    New inner config options of Ironic should register with"},{"line_number":5,"context_line":"    ironic/common/opts.py. New outer libraries should register"},{"line_number":6,"context_line":"    with tools/config/ironic-config-generator.conf."},{"line_number":7,"context_line":"    A deprecated option should add a deprecated group even if it"},{"line_number":8,"context_line":"    didn\u0027t alter its group, otherwise the deprecated group will"},{"line_number":9,"context_line":"    use \u0027DEFAULT\u0027 by default."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"dab17558_531cb469","line":6,"in_reply_to":"dab17558_5754adfc","updated":"2016-05-17 06:41:27.000000000","message":"Done","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"}],"setup.cfg":[{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"49248bb99084a3d622ad955156ee28aa81f6c541","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"[entry_points]"},{"line_number":25,"context_line":"oslo.config.opts \u003d"},{"line_number":26,"context_line":"    ironic \u003d ironic.common.opts:list_opts"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"console_scripts \u003d"},{"line_number":29,"context_line":"    ironic-api \u003d ironic.cmd.api:main"}],"source_content_type":"text/x-ttcn-cfg","patch_set":16,"id":"dab17558_6c2d648e","line":26,"updated":"2016-05-17 21:01:34.000000000","message":"s/common/conf","commit_id":"e076b2474f31e0eb19bcafa32d45b4110e52fae3"}],"tools/config/check_uptodate.sh":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7adac8776152aa2abd198c3a71e39bf770414fef","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"PROJECT_NAME\u003d${PROJECT_NAME:-ironic}"},{"line_number":4,"context_line":"CFGFILE_NAME\u003d${PROJECT_NAME}.conf.sample"}],"source_content_type":"text/x-sh","patch_set":15,"id":"dab17558_d4037b0e","side":"PARENT","line":1,"updated":"2016-05-16 22:09:47.000000000","message":"I don\u0027t know if anyone is still using this. But isn\u0027t it still relevant, useful for checking if our .sample is up to date?","commit_id":"0204467b46c36eab8bd3a7e194668b0faa72a365"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"d909b7fa1a3a6f0c4c9b09d7c17cd5230988cf03","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"PROJECT_NAME\u003d${PROJECT_NAME:-ironic}"},{"line_number":4,"context_line":"CFGFILE_NAME\u003d${PROJECT_NAME}.conf.sample"}],"source_content_type":"text/x-sh","patch_set":15,"id":"bab6814e_05e8e07b","side":"PARENT","line":1,"in_reply_to":"dab17558_5533e061","updated":"2016-05-18 07:00:21.000000000","message":"OK, I get your point. Let me see what I can do here.","commit_id":"0204467b46c36eab8bd3a7e194668b0faa72a365"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d3f0371a4e192ee69314e135f054beb496b7e938","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"PROJECT_NAME\u003d${PROJECT_NAME:-ironic}"},{"line_number":4,"context_line":"CFGFILE_NAME\u003d${PROJECT_NAME}.conf.sample"}],"source_content_type":"text/x-sh","patch_set":15,"id":"dab17558_5533e061","side":"PARENT","line":1,"in_reply_to":"dab17558_ce247761","updated":"2016-05-17 14:23:33.000000000","message":"I am not questioning whether there are better ways to do this. The point is that this already exists. It had actually been used in the gate once upon a time, but the .sample could change if a library was updated and it would cause our patches to fail, so we removed the check.\n\nUnless oslo-config-generator has a similar feature, it seems like deleting this is outside the scope of this patch. Or if you are going to delete it, it should be mentioned in the commit message. (But if you want to delete it, I\u0027d want a good reason for deleting it.)","commit_id":"0204467b46c36eab8bd3a7e194668b0faa72a365"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"264c1a5d785416ae0e7419202e7435959b8b2082","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"PROJECT_NAME\u003d${PROJECT_NAME:-ironic}"},{"line_number":4,"context_line":"CFGFILE_NAME\u003d${PROJECT_NAME}.conf.sample"}],"source_content_type":"text/x-sh","patch_set":15,"id":"dab17558_ce247761","side":"PARENT","line":1,"in_reply_to":"dab17558_d4037b0e","updated":"2016-05-17 06:41:27.000000000","message":"Good question, I am not sure about this. But one point of this patch is not maintain config generator things by Ironic anymore and leave it to oslo.config.\nMeanwhile, there are better ways to check if the sample is out of date like create a sample and use git to show the diff","commit_id":"0204467b46c36eab8bd3a7e194668b0faa72a365"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7a7ba4e346324301f92826247489984979cf04fc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"PROJECT_NAME\u003d${PROJECT_NAME:-ironic}"},{"line_number":4,"context_line":"CFGFILE_NAME\u003d${PROJECT_NAME}.conf.sample"}],"source_content_type":"text/x-sh","patch_set":17,"id":"bab6814e_01aa3170","line":1,"updated":"2016-05-19 15:40:18.000000000","message":"This file isn\u0027t executable :-(","commit_id":"8f97259707d781df9089586bb189a027900f476a"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"3b08afed5d07c2f4ff5208ca152754bf71a84d18","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"PROJECT_NAME\u003d${PROJECT_NAME:-ironic}"},{"line_number":4,"context_line":"CFGFILE_NAME\u003d${PROJECT_NAME}.conf.sample"}],"source_content_type":"text/x-sh","patch_set":17,"id":"bab6814e_34c318ef","line":1,"in_reply_to":"bab6814e_01aa3170","updated":"2016-05-20 01:21:10.000000000","message":"wired, it works in my environment, let me try it again.","commit_id":"8f97259707d781df9089586bb189a027900f476a"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7a7ba4e346324301f92826247489984979cf04fc","unresolved":false,"context_lines":[{"line_number":24,"context_line":"if ! diff -u ${TEMPDIR}/${CFGFILE_NAME} ${CFGFILE}"},{"line_number":25,"context_line":"then"},{"line_number":26,"context_line":"   echo \"${0##*/}: ${PROJECT_NAME}.conf.sample is not up to date.\""},{"line_number":27,"context_line":"   echo \"${0##*/}: Please run oslo-config-generator --config-file\u003dtools/config/ironic-config-generator.conf\""},{"line_number":28,"context_line":"   exit 1"},{"line_number":29,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":17,"id":"bab6814e_0ee2609f","line":27,"updated":"2016-05-19 15:40:18.000000000","message":"nit: I\u0027d probably add a variable for the .conf file so it isn\u0027t duplicated.","commit_id":"8f97259707d781df9089586bb189a027900f476a"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"007615cdec6fa4c4c6c0a11f432e7f619a0e9249","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"PROJECT_NAME\u003d${PROJECT_NAME:-ironic}"},{"line_number":4,"context_line":"CFGFILE_NAME\u003d${PROJECT_NAME}.conf.sample"},{"line_number":5,"context_line":"OSLO_CFGFILE_OPTION\u003d${OSLO_CFGFILE_OPTION:-tools/config/ironic-config-generator.conf}"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"if [ -e etc/${PROJECT_NAME}/${CFGFILE_NAME} ]; then"},{"line_number":8,"context_line":"    CFGFILE\u003detc/${PROJECT_NAME}/${CFGFILE_NAME}"}],"source_content_type":"text/x-sh","patch_set":19,"id":"bab6814e_1f63a1dd","line":5,"updated":"2016-05-25 15:16:33.000000000","message":"I probably would have called it something like \u0027OSLO_CONFIGGEN_FILE\u0027 or \u0027CONFIG_GEN_FILE\u0027 but this is fine I guess. (I don\u0027t know if \u0027OPTION\u0027 is that useful; it seems odd to me.)","commit_id":"773aa20a4ac0364a2219877863017224c7f1089f"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"380d24b3a5f466c6de4f8c0fa39c036836c1de59","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"PROJECT_NAME\u003d${PROJECT_NAME:-ironic}"},{"line_number":4,"context_line":"CFGFILE_NAME\u003d${PROJECT_NAME}.conf.sample"},{"line_number":5,"context_line":"OSLO_CFGFILE_OPTION\u003d${OSLO_CFGFILE_OPTION:-tools/config/ironic-config-generator.conf}"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"if [ -e etc/${PROJECT_NAME}/${CFGFILE_NAME} ]; then"},{"line_number":8,"context_line":"    CFGFILE\u003detc/${PROJECT_NAME}/${CFGFILE_NAME}"}],"source_content_type":"text/x-sh","patch_set":19,"id":"bab6814e_aa2175fe","line":5,"in_reply_to":"bab6814e_1f63a1dd","updated":"2016-05-25 15:38:40.000000000","message":"+1 for new name.","commit_id":"773aa20a4ac0364a2219877863017224c7f1089f"}],"tools/config/ironic-config-generator.conf":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"d7c5f14012ae4a87cb1af237d9d8f551be0a8d50","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"output_file \u003d etc/ironic/ironic.conf.sample"},{"line_number":3,"context_line":"wrap_width \u003d 79"},{"line_number":4,"context_line":"namespace \u003d ironic"},{"line_number":5,"context_line":"namespace \u003d ironic_lib.disk_utils"},{"line_number":6,"context_line":"namespace \u003d ironic_lib.disk_partitioner"}],"source_content_type":"text/plain","patch_set":11,"id":"9a061dce_d7acbd8e","line":3,"updated":"2016-04-08 15:46:38.000000000","message":"It was suggested in:\n https://review.openstack.org/#/c/303048/5//COMMIT_MSG\n\nThat we don\u0027t change this from the current value we use. Which would be 62.  62 \u003d 60 + len(\"# \")","commit_id":"9c56f8fe7954e742c1570d99bf866faf39aaf885"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7adac8776152aa2abd198c3a71e39bf770414fef","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"output_file \u003d etc/ironic/ironic.conf.sample"},{"line_number":3,"context_line":"wrap_width \u003d 62"},{"line_number":4,"context_line":"namespace \u003d ironic"},{"line_number":5,"context_line":"namespace \u003d ironic_lib.disk_utils"},{"line_number":6,"context_line":"namespace \u003d ironic_lib.disk_partitioner"}],"source_content_type":"text/plain","patch_set":15,"id":"dab17558_37cc89ba","line":3,"updated":"2016-05-16 22:09:47.000000000","message":"why 62?","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"264c1a5d785416ae0e7419202e7435959b8b2082","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"output_file \u003d etc/ironic/ironic.conf.sample"},{"line_number":3,"context_line":"wrap_width \u003d 62"},{"line_number":4,"context_line":"namespace \u003d ironic"},{"line_number":5,"context_line":"namespace \u003d ironic_lib.disk_utils"},{"line_number":6,"context_line":"namespace \u003d ironic_lib.disk_partitioner"}],"source_content_type":"text/plain","patch_set":15,"id":"dab17558_d3fc2474","line":3,"in_reply_to":"dab17558_37cc89ba","updated":"2016-05-17 06:41:27.000000000","message":"We have a discussion about this before. Using 62 will not change the format of config.sample and this is easy to debug for us.\nWe can change the wrap in a follow-up patch","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7adac8776152aa2abd198c3a71e39bf770414fef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"dab17558_54414b62","line":18,"updated":"2016-05-16 22:09:47.000000000","message":"We only have this .conf file. Do you think it should be put in tools/config, or in tools or elsewhere?\n\nDo you know if we can add comments to this file? I think it would be useful to mention that it is to be used with oslo-config-generator.\n\nfwiw, nova may add it to etc/nova [1]\n\n[1] https://review.openstack.org/#/c/212783/1/etc/nova/nova-config-generator.conf","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"264c1a5d785416ae0e7419202e7435959b8b2082","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"dab17558_3371300d","line":18,"in_reply_to":"dab17558_54414b62","updated":"2016-05-17 06:41:27.000000000","message":"OK, I can move it to etc/ironic\nWe can add comments but I kind of think the name is already self-explain.","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"}],"tox.ini":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7adac8776152aa2abd198c3a71e39bf770414fef","unresolved":false,"context_lines":[{"line_number":47,"context_line":"  coverage report --omit\u003d\u0027*test*\u0027"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"[testenv:genconfig]"},{"line_number":50,"context_line":"whitelist_externals \u003d bash"},{"line_number":51,"context_line":"sitepackages \u003d False"},{"line_number":52,"context_line":"envdir \u003d {toxworkdir}/venv"},{"line_number":53,"context_line":"commands \u003d"}],"source_content_type":"text/x-properties","patch_set":15,"id":"dab17558_54ce6b2d","line":50,"updated":"2016-05-16 22:09:47.000000000","message":"don\u0027t need this?","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"264c1a5d785416ae0e7419202e7435959b8b2082","unresolved":false,"context_lines":[{"line_number":47,"context_line":"  coverage report --omit\u003d\u0027*test*\u0027"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"[testenv:genconfig]"},{"line_number":50,"context_line":"whitelist_externals \u003d bash"},{"line_number":51,"context_line":"sitepackages \u003d False"},{"line_number":52,"context_line":"envdir \u003d {toxworkdir}/venv"},{"line_number":53,"context_line":"commands \u003d"}],"source_content_type":"text/x-properties","patch_set":15,"id":"dab17558_5375d42f","line":50,"in_reply_to":"dab17558_54ce6b2d","updated":"2016-05-17 06:41:27.000000000","message":"Good catch","commit_id":"aa8a8c4703ce46cf798f5d24996e18124814775e"}]}
