)]}'
{"etc/freezer/freezer-api.conf.sample":[{"author":{"_account_id":22405,"name":"Vitaliy Nogin","email":"shadoff1982@gmail.com","username":"vnogin"},"change_message_id":"0b613d393a26d2f257c7620e52eb99db7dfbff31","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"state_path \u003d /opt/stack/data/freezer-api"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# From freezer-api"},{"line_number":6,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"dfeb2761_4b9c560e","line":3,"range":{"start_line":3,"start_character":13,"end_line":3,"end_character":40},"updated":"2017-04-05 00:02:13.000000000","message":"From my point of view, it\u0027s better to use /etc/freezer/state/ folder here","commit_id":"94ab9a2a4d5d0d27117fe91748dba11188be971d"},{"author":{"_account_id":22405,"name":"Vitaliy Nogin","email":"shadoff1982@gmail.com","username":"vnogin"},"change_message_id":"97827ee55436b0f966341846413b79950cbffdef","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"state_path \u003d /opt/stack/data/freezer-api"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# From freezer-api"},{"line_number":6,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"dfeb2761_9cbdfdd9","line":3,"range":{"start_line":3,"start_character":13,"end_line":3,"end_character":40},"in_reply_to":"dfeb2761_2de921b6","updated":"2017-04-05 08:26:21.000000000","message":"correct me if I\u0027m wrong, but it should be the true only for devstack, nope?","commit_id":"94ab9a2a4d5d0d27117fe91748dba11188be971d"},{"author":{"_account_id":6508,"name":"Dmitry Stepanenko","email":"dstepanenko@mirantis.com","username":"dstepanenko"},"change_message_id":"aac3e4e5dbb2a70bc0ca346616ad6b3eff2ece5f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"state_path \u003d /opt/stack/data/freezer-api"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# From freezer-api"},{"line_number":6,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"dfeb2761_4c1a1ecc","line":3,"range":{"start_line":3,"start_character":13,"end_line":3,"end_character":40},"in_reply_to":"dfeb2761_366dedcb","updated":"2017-04-06 11:58:23.000000000","message":"I think it\u0027s too early to think about end-user - there\u0027re several patches which needs to be deployed until oslo.db feature will start functioning. Also some time will pass from the end of oslo.db deveolpment until first end user will start using it. \n\nI think it would be better to work on it according following plan.\n\n1. preserve config as is so far\n2. Implement dynamically generated config in freezer\n3. Use different rule for config generation for each of use cases.\n\nDoes it make sense?","commit_id":"94ab9a2a4d5d0d27117fe91748dba11188be971d"},{"author":{"_account_id":22405,"name":"Vitaliy Nogin","email":"shadoff1982@gmail.com","username":"vnogin"},"change_message_id":"158fb3d5d276cec7ce8eb8c619931878c1e00ed4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"state_path \u003d /opt/stack/data/freezer-api"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# From freezer-api"},{"line_number":6,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"dfeb2761_619dfbba","line":3,"range":{"start_line":3,"start_character":13,"end_line":3,"end_character":40},"in_reply_to":"dfeb2761_4b9c560e","updated":"2017-04-05 01:16:06.000000000","message":"Or maybe /opt/freezer-api/state/ \nThe main idea to keep state folder under freezer-api directory","commit_id":"94ab9a2a4d5d0d27117fe91748dba11188be971d"},{"author":{"_account_id":6508,"name":"Dmitry Stepanenko","email":"dstepanenko@mirantis.com","username":"dstepanenko"},"change_message_id":"32789bd2e33c223a35cbf98a7a1ff21623f86dc7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"state_path \u003d /opt/stack/data/freezer-api"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# From freezer-api"},{"line_number":6,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"dfeb2761_2de921b6","line":3,"range":{"start_line":3,"start_character":13,"end_line":3,"end_character":40},"in_reply_to":"dfeb2761_619dfbba","updated":"2017-04-05 06:09:46.000000000","message":"This is the directory which will be used for storing database. To avoid potential lack of hard disk free space on the disk partition where database will be stored it would be wise to use any disk partition either with huge amount of free space or disk partition which was considered for such purposes. Most of the other openstack components uses /opt/stack/data/\u003ccomponent-name\u003e folder for storing the database, so it means that this disk partition is considered to have enough space for several databases. Does it make sense?","commit_id":"94ab9a2a4d5d0d27117fe91748dba11188be971d"},{"author":{"_account_id":22405,"name":"Vitaliy Nogin","email":"shadoff1982@gmail.com","username":"vnogin"},"change_message_id":"14b477c6d1c8351f0d7c12607bfa31e2127eb279","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"state_path \u003d /opt/stack/data/freezer-api"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# From freezer-api"},{"line_number":6,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"dfeb2761_366dedcb","line":3,"range":{"start_line":3,"start_character":13,"end_line":3,"end_character":40},"in_reply_to":"dfeb2761_679ce20d","updated":"2017-04-05 09:32:58.000000000","message":"It is not correct to be focused on developers. We need to be focused on end-users. So I think even in config samples we should use path that can be used in production. \nAs instance: https://github.com/openstack/freezer/blob/master/etc/scheduler.conf.sample#L113\n\nSo, please avoid additional end-users confusing that\u0027s what I\u0027m driving at.","commit_id":"94ab9a2a4d5d0d27117fe91748dba11188be971d"},{"author":{"_account_id":6508,"name":"Dmitry Stepanenko","email":"dstepanenko@mirantis.com","username":"dstepanenko"},"change_message_id":"d3f728a8cb3ff84df8f06f3f1e8b15c569749c1a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"state_path \u003d /opt/stack/data/freezer-api"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# From freezer-api"},{"line_number":6,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":15,"id":"dfeb2761_679ce20d","line":3,"range":{"start_line":3,"start_character":13,"end_line":3,"end_character":40},"in_reply_to":"dfeb2761_9cbdfdd9","updated":"2017-04-05 09:05:28.000000000","message":"Yes and this is configured value in sample of the config file. So, this value can be changed to appropriate one for each of the exact setups.","commit_id":"94ab9a2a4d5d0d27117fe91748dba11188be971d"},{"author":{"_account_id":13940,"name":"Saad Zaher","email":"eng.szaher@gmail.com","username":"szaher"},"change_message_id":"9824f97ffe47d954533acf34c210e6f0cb8e439f","unresolved":false,"context_lines":[{"line_number":510,"context_line":"#config_file \u003d freezer-paste.ini"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"[sql]"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"# describes parameters of sql storage backend"},{"line_number":516,"context_line":"#connection \u003d mysql+pymysql://root:secret@127.0.0.1/freezer?charset\u003dutf8"}],"source_content_type":"application/octet-stream","patch_set":23,"id":"5ff73747_756c2308","line":513,"updated":"2017-04-23 23:28:57.000000000","message":"Can we use oslo-config-generator --config-file config-generator/freezer-api.conf --output-file etc/freezer-api.conf.sample","commit_id":"8833794b1cd39a985c739a71e43790e5d9f1474f"}],"freezer_api/cmd/manage.py":[{"author":{"_account_id":22405,"name":"Vitaliy Nogin","email":"shadoff1982@gmail.com","username":"vnogin"},"change_message_id":"0b613d393a26d2f257c7620e52eb99db7dfbff31","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"core_opts \u003d ["},{"line_number":39,"context_line":"    cfg.StrOpt(\u0027state_path\u0027,"},{"line_number":40,"context_line":"               default\u003d\u0027/opt/stack/data/freezer/\u0027,"},{"line_number":41,"context_line":"               deprecated_name\u003d\u0027pybasedir\u0027,"},{"line_number":42,"context_line":"               help\u003d\"Top-level directory for maintaining freezer\u0027s state\"), ]"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"dfeb2761_0b5f6e72","line":40,"range":{"start_line":40,"start_character":24,"end_line":40,"end_character":48},"updated":"2017-04-05 00:02:13.000000000","message":"Is it reasonable to configure this path only in freezer-api.conf file? Maybe it can be a mandatory parameter.","commit_id":"94ab9a2a4d5d0d27117fe91748dba11188be971d"},{"author":{"_account_id":6508,"name":"Dmitry Stepanenko","email":"dstepanenko@mirantis.com","username":"dstepanenko"},"change_message_id":"32789bd2e33c223a35cbf98a7a1ff21623f86dc7","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"core_opts \u003d ["},{"line_number":39,"context_line":"    cfg.StrOpt(\u0027state_path\u0027,"},{"line_number":40,"context_line":"               default\u003d\u0027/opt/stack/data/freezer/\u0027,"},{"line_number":41,"context_line":"               deprecated_name\u003d\u0027pybasedir\u0027,"},{"line_number":42,"context_line":"               help\u003d\"Top-level directory for maintaining freezer\u0027s state\"), ]"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"dfeb2761_cd1e35ba","line":40,"range":{"start_line":40,"start_character":24,"end_line":40,"end_character":48},"in_reply_to":"dfeb2761_0b5f6e72","updated":"2017-04-05 06:09:46.000000000","message":"From the one hand I don\u0027t like to hardcode constants in case they can be stored inside config file. From the other hand every component has same practice for default value of this parameter, so for anyone familiar with database configuration parameters in frequently used openstack components it would be easy to debug it in case something went wrong.","commit_id":"94ab9a2a4d5d0d27117fe91748dba11188be971d"},{"author":{"_account_id":22405,"name":"Vitaliy Nogin","email":"shadoff1982@gmail.com","username":"vnogin"},"change_message_id":"97827ee55436b0f966341846413b79950cbffdef","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"core_opts \u003d ["},{"line_number":39,"context_line":"    cfg.StrOpt(\u0027state_path\u0027,"},{"line_number":40,"context_line":"               default\u003d\u0027/opt/stack/data/freezer/\u0027,"},{"line_number":41,"context_line":"               deprecated_name\u003d\u0027pybasedir\u0027,"},{"line_number":42,"context_line":"               help\u003d\"Top-level directory for maintaining freezer\u0027s state\"), ]"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"dfeb2761_bc67a1b7","line":40,"range":{"start_line":40,"start_character":24,"end_line":40,"end_character":48},"in_reply_to":"dfeb2761_cd1e35ba","updated":"2017-04-05 08:26:21.000000000","message":"I see, thanks for the clarification","commit_id":"94ab9a2a4d5d0d27117fe91748dba11188be971d"},{"author":{"_account_id":13940,"name":"Saad Zaher","email":"eng.szaher@gmail.com","username":"szaher"},"change_message_id":"9824f97ffe47d954533acf34c210e6f0cb8e439f","unresolved":false,"context_lines":[{"line_number":34,"context_line":"DEFAULT_INDEX \u003d \u0027freezer\u0027"},{"line_number":35,"context_line":"DEFAULT_REPLICAS \u003d 0"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"core_opts \u003d ["},{"line_number":38,"context_line":"    cfg.StrOpt(\u0027state_path\u0027,"},{"line_number":39,"context_line":"               default\u003d\u0027/opt/stack/data/freezer/\u0027,"},{"line_number":40,"context_line":"               deprecated_name\u003d\u0027pybasedir\u0027,"}],"source_content_type":"text/x-python","patch_set":23,"id":"5ff73747_557127e0","line":37,"updated":"2017-04-23 23:28:57.000000000","message":"shouldn\u0027t this path be generated by oslo.db package ?\nIf yes, you can add this package to config-generator/freezer-api.conf\n\nDriver specs configuration can\u0027t be in this file. I think this should be registered in sql driver file.","commit_id":"8833794b1cd39a985c739a71e43790e5d9f1474f"}],"freezer_api/storage/driver.py":[{"author":{"_account_id":13940,"name":"Saad Zaher","email":"eng.szaher@gmail.com","username":"szaher"},"change_message_id":"9824f97ffe47d954533acf34c210e6f0cb8e439f","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"# storage backend options to be registered"},{"line_number":31,"context_line":"db_drivers \u003d {\u0027sql\u0027: \u0027freezer_api.storage.sql.SqlEngine\u0027,"},{"line_number":32,"context_line":"              \u0027elasticsearch\u0027: \u0027freezer_api.storage.elastic.\u0027"},{"line_number":33,"context_line":"              \u0027ElasticSearchEngine\u0027}"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"5ff73747_155cbf49","line":31,"updated":"2017-04-23 23:28:57.000000000","message":"I think we agreed in our IRC meeting we won\u0027t do this as It will be confusing for admins and users to have driver and backend name. I think we agreed to use the full path.\n\nAlso we have two elasticsearch engines and this is not handled here, we have elasticv1 and elasticv2","commit_id":"8833794b1cd39a985c739a71e43790e5d9f1474f"},{"author":{"_account_id":13940,"name":"Saad Zaher","email":"eng.szaher@gmail.com","username":"szaher"},"change_message_id":"9824f97ffe47d954533acf34c210e6f0cb8e439f","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"SQL_OPTS \u003d ["},{"line_number":48,"context_line":"    cfg.StrOpt(\"connection\","},{"line_number":49,"context_line":"               default\u003d\"mysql:///$state_path/freezer-api.mysql\","},{"line_number":50,"context_line":"               help\u003d\"sql database connection string\""},{"line_number":51,"context_line":"               ),"},{"line_number":52,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":23,"id":"5ff73747_b5306b09","line":49,"updated":"2017-04-23 23:28:57.000000000","message":"Driver specific configurations can\u0027t be in this file. This needs to be moved to sql file. Also this should be automatically generated by oslo.db we shouldn\u0027t register this like that!","commit_id":"8833794b1cd39a985c739a71e43790e5d9f1474f"},{"author":{"_account_id":13940,"name":"Saad Zaher","email":"eng.szaher@gmail.com","username":"szaher"},"change_message_id":"9824f97ffe47d954533acf34c210e6f0cb8e439f","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    CONF.register_opts(_OPTS, group\u003dopt_group)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"def register_sql_opts():"},{"line_number":64,"context_line":"    \"\"\"Register storage configuration options\"\"\""},{"line_number":65,"context_line":"    opt_group \u003d cfg.OptGroup(name\u003d\u0027sql\u0027,"},{"line_number":66,"context_line":"                             title\u003d\u0027Sql database configuration options\u0027)"}],"source_content_type":"text/x-python","patch_set":23,"id":"5ff73747_95356ffa","line":63,"updated":"2017-04-23 23:28:57.000000000","message":"This shouldn\u0027t be here !, move it to sql driver file","commit_id":"8833794b1cd39a985c739a71e43790e5d9f1474f"},{"author":{"_account_id":22405,"name":"Vitaliy Nogin","email":"shadoff1982@gmail.com","username":"vnogin"},"change_message_id":"7e3280a44c60c7eec8d424d1d5c220d9c16c21d2","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"def get_storage_opts():"},{"line_number":86,"context_line":"    \"\"\"Returns a dict that contains list of options for db backend. This is"},{"line_number":87,"context_line":"     being used only by the oslo-config-generator\"\"\""},{"line_number":88,"context_line":"    opts \u003d {\"storage\": _OPTS}"},{"line_number":89,"context_line":"    opts.update(_get_elastic_opts())"},{"line_number":90,"context_line":"    opts.update(_get_sql_opts())"}],"source_content_type":"text/x-python","patch_set":25,"id":"3f044301_30eeb088","line":87,"range":{"start_line":87,"start_character":49,"end_line":87,"end_character":52},"updated":"2017-05-03 21:48:30.000000000","message":"Please fix it according to the following docs:\nhttps://docs.openstack.org/developer/hacking/#docstrings\nhttps://www.python.org/dev/peps/pep-0257/","commit_id":"1d971dfc9302d726650958be98012b2c76b9e1ab"}]}
