)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c216583750ebe7d24e41c4f90b3c3b7bd6bc0304","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2019-11-06 10:46:20 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add nova-audit spec"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I8697bf3ca72c94c55be0597441921d39fe6f2d70"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fa7e38b_bf9859cb","line":8,"updated":"2020-01-30 23:02:32.000000000","message":"Whoever respins this next, please add\n\nblueprint nova-audit\n\nfor tracking purposes. Thanks!","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"}],"specs/ussuri/approved/nova-audit.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":15,"context_line":"actual state of reality. Hosts and instances come and go, along with"},{"line_number":16,"context_line":"network connectivity, the message bus and database. Recently we have"},{"line_number":17,"context_line":"gained a number of \"heal $thing\" routines that operators can run"},{"line_number":18,"context_line":"either periodically or on demand to synchronize the states of various"},{"line_number":19,"context_line":"services and data stores to resolve or prevent problems. The number of"},{"line_number":20,"context_line":"these tasks is already overwhelming for the average operator, and"},{"line_number":21,"context_line":"tracking new tasks each cycle is not realistic."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_1f664df0","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":32},"updated":"2019-11-06 18:13:08.000000000","message":"For the most part the nova-manage commands are only run on-demand and you\u0027d have to setup the external tooling to do it periodically. I\u0027m guessing the one exception here for native periodic ability in nova is the discover_hosts periodic in the scheduler.","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d3697a27852485eaa4b251261ecab223c7902cf8","unresolved":false,"context_lines":[{"line_number":15,"context_line":"actual state of reality. Hosts and instances come and go, along with"},{"line_number":16,"context_line":"network connectivity, the message bus and database. Recently we have"},{"line_number":17,"context_line":"gained a number of \"heal $thing\" routines that operators can run"},{"line_number":18,"context_line":"either periodically or on demand to synchronize the states of various"},{"line_number":19,"context_line":"services and data stores to resolve or prevent problems. The number of"},{"line_number":20,"context_line":"these tasks is already overwhelming for the average operator, and"},{"line_number":21,"context_line":"tracking new tasks each cycle is not realistic."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_7f474179","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":32},"in_reply_to":"3fa7e38b_1f664df0","updated":"2019-11-06 18:22:20.000000000","message":"Well, I know people run archive and discover_hosts from cron or ansible, so..","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":18,"context_line":"either periodically or on demand to synchronize the states of various"},{"line_number":19,"context_line":"services and data stores to resolve or prevent problems. The number of"},{"line_number":20,"context_line":"these tasks is already overwhelming for the average operator, and"},{"line_number":21,"context_line":"tracking new tasks each cycle is not realistic."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_3fc9c978","line":21,"updated":"2019-11-06 18:13:08.000000000","message":"Maybe this is where you\u0027d want to reference https://review.opendev.org/#/c/655908/ as an example of why this is coming up now.","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":46,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"We already have a number of these maintenance activities codified in"},{"line_number":49,"context_line":"one-shot commands that can be run on-demand once a problem has been"},{"line_number":50,"context_line":"identified. Since most of them are not harmful or overly expensive, we"},{"line_number":51,"context_line":"should be able to run those things periodically to attempt to fix"},{"line_number":52,"context_line":"problems automatically before the operator gets involved."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_5fa125f7","line":49,"range":{"start_line":49,"start_character":9,"end_line":49,"end_character":17},"updated":"2019-11-06 18:13:08.000000000","message":"link to https://docs.openstack.org/nova/latest/cli/nova-manage.html","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":60,"context_line":" - As a one-shot \"fix stuff\" command that can be run from cron or"},{"line_number":61,"context_line":"   otherwise scheduled or executed."},{"line_number":62,"context_line":" - As a daemon or one-shot command that purely audits potential"},{"line_number":63,"context_line":"   problems, but makes not changes."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"A new config section of ``[audit]`` would be added with timers and"},{"line_number":66,"context_line":"default values for each task."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_3f6309e0","line":63,"range":{"start_line":63,"start_character":23,"end_line":63,"end_character":26},"updated":"2019-11-06 18:13:08.000000000","message":"no","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":65,"context_line":"A new config section of ``[audit]`` would be added with timers and"},{"line_number":66,"context_line":"default values for each task."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Current heal/sync/fix/cleanup tasks we have that could be integrated:"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"``heal_allocations``"},{"line_number":71,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_9fb8fde8","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":7},"updated":"2019-11-06 18:13:08.000000000","message":"https://review.opendev.org/#/c/655908/ isn\u0027t a current one, but it\u0027s proposed and at least a few operators have now indicated they have hit a case where they have an instance mapping with no cell_id set and no build request and the instance isn\u0027t found in any cell db, so it\u0027s a useful thing to have. It might be worth mentioning in here somewhere as a thing that could be integrated into audit in the future, unless it just becomes part of map_instances or verify_instance. If you want to omit it that\u0027s fine since it seems we don\u0027t know yet if it should be a new thing or munged into one of the existing commands.","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":74,"context_line":"instances in Nova. It has a runtime performance impact on both"},{"line_number":75,"context_line":"Placement and the Nova database. Many instances means this should"},{"line_number":76,"context_line":"probably check one instance per cycle, but potentially a short cycle"},{"line_number":77,"context_line":"time."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"``sync_aggregates``"},{"line_number":80,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_1f940d8c","line":77,"updated":"2019-11-06 18:13:08.000000000","message":"This also runs through all cells but I\u0027ve got a todo in that code to make it possible to run on a specific cell. The audit service could just handle that itself though by iterating cells and within each cell, iterate instances and call with a specific instance in each loop, like the heal instance info cache periodic works in compute today.\n\nObviously we still want to be able to run this directly via CLI because it has the --dry-run option in case someone wants a report of what\u0027s busted but doesn\u0027t yet want to change anything.","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":101,"context_line":"This task ensures that newly-registered hypervisor hosts are mapped to"},{"line_number":102,"context_line":"the appropriate cell. This has a runtime impact on the Nova database,"},{"line_number":103,"context_line":"but there is an efficient way to query for unmapped hosts, so this can"},{"line_number":104,"context_line":"run relatively frequently, such as every ten minutes."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"``archive_deleted_rows``"},{"line_number":107,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_df8d157d","line":104,"updated":"2019-11-06 18:13:08.000000000","message":"And we already have a config option for this:\n\nhttps://docs.openstack.org/nova/latest/configuration/config.html#scheduler.discover_hosts_in_cells_interval\n\nI\u0027m assuming part of the plan would be to re-use that and eventually deprecate it from the scheduler and move it to the audit service.","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":107,"context_line":"------------------------"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"This task archives deleted data from the main database tables into the"},{"line_number":110,"context_line":"shadow tables. It has runtime a performance impact on the Nova"},{"line_number":111,"context_line":"database, both negative (while running) and positive (after"},{"line_number":112,"context_line":"running). Some people never run this, so a cycle time of once per day"},{"line_number":113,"context_line":"or week should be fine. This also needs a parameter to limit the scope"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_9fe55d41","line":110,"range":{"start_line":110,"start_character":22,"end_line":110,"end_character":31},"updated":"2019-11-06 18:13:08.000000000","message":"a runtime","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":109,"context_line":"This task archives deleted data from the main database tables into the"},{"line_number":110,"context_line":"shadow tables. It has runtime a performance impact on the Nova"},{"line_number":111,"context_line":"database, both negative (while running) and positive (after"},{"line_number":112,"context_line":"running). Some people never run this, so a cycle time of once per day"},{"line_number":113,"context_line":"or week should be fine. This also needs a parameter to limit the scope"},{"line_number":114,"context_line":"of archived changes to a date range, defaulting to some multiple of"},{"line_number":115,"context_line":"the cycle time."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_dfe2f530","line":112,"updated":"2019-11-06 18:13:08.000000000","message":"Would we also have config on *when* to run this during the day? Like midnight?","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d3697a27852485eaa4b251261ecab223c7902cf8","unresolved":false,"context_lines":[{"line_number":109,"context_line":"This task archives deleted data from the main database tables into the"},{"line_number":110,"context_line":"shadow tables. It has runtime a performance impact on the Nova"},{"line_number":111,"context_line":"database, both negative (while running) and positive (after"},{"line_number":112,"context_line":"running). Some people never run this, so a cycle time of once per day"},{"line_number":113,"context_line":"or week should be fine. This also needs a parameter to limit the scope"},{"line_number":114,"context_line":"of archived changes to a date range, defaulting to some multiple of"},{"line_number":115,"context_line":"the cycle time."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_df551520","line":112,"in_reply_to":"3fa7e38b_dfe2f530","updated":"2019-11-06 18:22:20.000000000","message":"I dunno, maybe we\u0027d need it for things like that.","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":177,"context_line":"Other deployer impact"},{"line_number":178,"context_line":"---------------------"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Deployers will have to learn about and deploy a new command. This will"},{"line_number":181,"context_line":"hopefully be completely offeset by the reduced complexity of managing"},{"line_number":182,"context_line":"and maintaining Nova in the longer term."},{"line_number":183,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_9f86bd16","line":180,"range":{"start_line":180,"start_character":52,"end_line":180,"end_character":59},"updated":"2019-11-06 18:13:08.000000000","message":"command/service?","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"New maintenance tasks that are added will need to be done in an"},{"line_number":188,"context_line":"idempotent and efficient way and according to whatever interface for"},{"line_number":189,"context_line":"these commands is defined."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"Upgrade impact"},{"line_number":192,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_1fc88d54","line":189,"updated":"2019-11-06 18:13:08.000000000","message":"So would the existence of nova-audit as a service mean something like https://review.opendev.org/#/c/655908/ would now just be done as part of the daemon or would it also be optional as a specific CLI that can be run like it\u0027s proposed in nova-manage now?\n\n(later)\n\nOK I guess the upgrade impact below says that new things like https://review.opendev.org/#/c/655908/ would just go into nova-audit now.","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d3697a27852485eaa4b251261ecab223c7902cf8","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"New maintenance tasks that are added will need to be done in an"},{"line_number":188,"context_line":"idempotent and efficient way and according to whatever interface for"},{"line_number":189,"context_line":"these commands is defined."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"Upgrade impact"},{"line_number":192,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_9f2d5db0","line":189,"in_reply_to":"3fa7e38b_1fc88d54","updated":"2019-11-06 18:22:20.000000000","message":"I would think we\u0027d want to not keep adding them in both places. Not even for the code duplication, but for the operator confusion.","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":190,"context_line":""},{"line_number":191,"context_line":"Upgrade impact"},{"line_number":192,"context_line":"--------------"},{"line_number":193,"context_line":" "},{"line_number":194,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":195,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":196,"context_line":"for various tasks will need to convert over to the new command. The"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_df9af56d","line":193,"updated":"2019-11-06 18:13:08.000000000","message":"egads","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":194,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":195,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":196,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":197,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":198,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":199,"context_line":"existing deployments."},{"line_number":200,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_1fcded5d","line":197,"updated":"2019-11-06 18:13:08.000000000","message":"I\u0027m not sure I love the idea of deprecating and move the db archive/purge commands to a new nova-audit thing alone since those are more db management than audit things IMO. I would think the audit daemon could run archive/purge as well but there isn\u0027t a harm in leaving those in nova-manage db.","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d3697a27852485eaa4b251261ecab223c7902cf8","unresolved":false,"context_lines":[{"line_number":194,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":195,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":196,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":197,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":198,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":199,"context_line":"existing deployments."},{"line_number":200,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_5f6925f6","line":197,"in_reply_to":"3fa7e38b_1fcded5d","updated":"2019-11-06 18:22:20.000000000","message":"Sure, that\u0027s fine. I really had the \"heal\" commands in mind when I wrote this. I\u0027d expect you\u0027d want to be able to run this:\n\n  nova-audit --only-tasks\u003darchive","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27daec26d361199b08900de69e309f9dcea0c246","unresolved":false,"context_lines":[{"line_number":234,"context_line":"Testing"},{"line_number":235,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"Unit testing, and a single-shot run in the ``nova-next`` job as we"},{"line_number":238,"context_line":"currently do today for archive/purge."},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_df72f512","line":237,"range":{"start_line":237,"start_character":0,"end_line":237,"end_character":4},"updated":"2019-11-06 18:13:08.000000000","message":"FWIW, with the newer heal type commands I\u0027ve mostly entirely gone to functional testing for that stuff since when they deal with multiple cells I don\u0027t really trust unit testing.\n\nhttps://github.com/openstack/nova/blob/master/nova/tests/functional/test_nova_manage.py\n\nBut I guess this is just saying unit testing for the new command interface/daemon and actually calling out to existing things like heal_allocations would just be mocked out? I think there is value in functional testing over unit testing given the complexity of a new service regardless.","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d3697a27852485eaa4b251261ecab223c7902cf8","unresolved":false,"context_lines":[{"line_number":234,"context_line":"Testing"},{"line_number":235,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"Unit testing, and a single-shot run in the ``nova-next`` job as we"},{"line_number":238,"context_line":"currently do today for archive/purge."},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_ff79f1c4","line":237,"range":{"start_line":237,"start_character":0,"end_line":237,"end_character":4},"in_reply_to":"3fa7e38b_df72f512","updated":"2019-11-06 18:22:20.000000000","message":"I was thinking functional tests for the actual tasks, but mostly just unit for the actual service.","commit_id":"0e9d9ddb8d7c0ff433a4a91da5d86edc298f4c5f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"6fc36fab94c17c94c0167f46e2cff6caf04a922c","unresolved":false,"context_lines":[{"line_number":136,"context_line":"from the setup sort of things that ``nova-manage`` does."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"We could integrate this into ``nova-manage`` itself, under a"},{"line_number":139,"context_line":"\"maintenance\" subcommand or similar."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Data model impact"},{"line_number":142,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_3f59c95a","line":139,"updated":"2019-11-06 18:25:53.000000000","message":"This is an interesting idea and it makes me wonder if operators might prefer something like this where they can choose how they run it periodically (cron, etc) instead of having a prescribed service. There\u0027s pros and cons to both. I tend to think having the service would be nicer and easier.\n\nI\u0027m interested to hear what operators think about it.","commit_id":"7e0cf21bde5b7c1864a46806aaaeb6234c4d9997"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3c600abc7024089bde29b05a108042041b16c61f","unresolved":false,"context_lines":[{"line_number":136,"context_line":"from the setup sort of things that ``nova-manage`` does."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"We could integrate this into ``nova-manage`` itself, under a"},{"line_number":139,"context_line":"\"maintenance\" subcommand or similar."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Data model impact"},{"line_number":142,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_4a6c05d0","line":139,"in_reply_to":"3fa7e38b_3f59c95a","updated":"2019-11-06 18:41:12.000000000","message":"Well, I put this last on the list of alternatives because I think it\u0027s a terrible idea, given the giant mess that is nova-manage today. It has very inconsistent requirements for which config you point it to for each of its commands, etc. But, I put it here for completeness :)","commit_id":"7e0cf21bde5b7c1864a46806aaaeb6234c4d9997"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"a1a1a9e68bff7320103197342acfc242dff6028e","unresolved":false,"context_lines":[{"line_number":136,"context_line":"from the setup sort of things that ``nova-manage`` does."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"We could integrate this into ``nova-manage`` itself, under a"},{"line_number":139,"context_line":"\"maintenance\" subcommand or similar."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Data model impact"},{"line_number":142,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_eab13146","line":139,"in_reply_to":"3fa7e38b_4a6c05d0","updated":"2019-11-06 18:49:45.000000000","message":"Sorry, I didn\u0027t mean only the nova-manage option really (the nova-manage option was just easiest for me to visualize the concept) but rather the idea of a \"unified interface\" without the daemon, in general.\n\nAnd that I tend to think having the daemon and scheduling available is nicer and easier. Though now that I say that, it seems it could easily be built to be able to be used in either way, as a daemon or not. (If there is any interest in a non-daemon).","commit_id":"7e0cf21bde5b7c1864a46806aaaeb6234c4d9997"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"782bdb62f93e9636745cc6f62e5a7d04828d5f96","unresolved":false,"context_lines":[{"line_number":136,"context_line":"from the setup sort of things that ``nova-manage`` does."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"We could integrate this into ``nova-manage`` itself, under a"},{"line_number":139,"context_line":"\"maintenance\" subcommand or similar."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Data model impact"},{"line_number":142,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_6af461f2","line":139,"in_reply_to":"3fa7e38b_ca8d557d","updated":"2019-11-06 18:56:32.000000000","message":"Oh, my bad. For whatever reason, it didn\u0027t stand out to me that this proposal is already covering the case where someone would rather run all the things in a cron (same as what the daemon would do) instead of deploying a new service.","commit_id":"7e0cf21bde5b7c1864a46806aaaeb6234c4d9997"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ffd67e2f35d0b8abe22b97dbec1cb5691b2cc6bd","unresolved":false,"context_lines":[{"line_number":136,"context_line":"from the setup sort of things that ``nova-manage`` does."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"We could integrate this into ``nova-manage`` itself, under a"},{"line_number":139,"context_line":"\"maintenance\" subcommand or similar."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Data model impact"},{"line_number":142,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_ca8d557d","line":139,"in_reply_to":"3fa7e38b_eab13146","updated":"2019-11-06 18:52:33.000000000","message":"Yeah, which is why in the proposed change section I said the command needs to be able to run as a daemon, but also in one-shot mode so you can do your own scheduling if you want (L60) in this version. Daemon for easy just-run-this 90% of the cases. One-shot for people that need super control of when each thing runs, or still want to run these things manually but with a more consistent interface.","commit_id":"7e0cf21bde5b7c1864a46806aaaeb6234c4d9997"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2b0498e04cfef0cdd185dc6bd5cb141e85d08a4b","unresolved":false,"context_lines":[{"line_number":54,"context_line":"This spec proposes a new binary called ``nova-audit`` to encapsulate"},{"line_number":55,"context_line":"these tasks. Ideally it should be usable in multiple ways:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"- As a singleton daemon that periodically runs tasks at various"},{"line_number":58,"context_line":"  intervals according to their potential impact on the system and"},{"line_number":59,"context_line":"  need."},{"line_number":60,"context_line":"- As a one-shot \"fix stuff\" command that can be run from cron or"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_870aeb1d","line":57,"updated":"2019-11-07 13:20:18.000000000","message":"OK with this I could see a simple eventlet-based (oslo.esrvice Service like our other non-API services) that just has periodic task wrappers over the existing nova-manage commands.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6a3f8053896459a4481384d274502f7ade9cfde9","unresolved":false,"context_lines":[{"line_number":54,"context_line":"This spec proposes a new binary called ``nova-audit`` to encapsulate"},{"line_number":55,"context_line":"these tasks. Ideally it should be usable in multiple ways:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"- As a singleton daemon that periodically runs tasks at various"},{"line_number":58,"context_line":"  intervals according to their potential impact on the system and"},{"line_number":59,"context_line":"  need."},{"line_number":60,"context_line":"- As a one-shot \"fix stuff\" command that can be run from cron or"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_42c94177","line":57,"in_reply_to":"3fa7e38b_271e970d","updated":"2019-11-07 14:59:44.000000000","message":"I wasn\u0027t really planning to make each thing an oslo.service periodic, fwiw. I don\u0027t have it all fleshed out in my head yet, but I think we could probably stand to write this daemon differently than we would for an rpc-using service that needs eventlet, et al.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"85920c665731ee2885a6974a5d296853628481fb","unresolved":false,"context_lines":[{"line_number":54,"context_line":"This spec proposes a new binary called ``nova-audit`` to encapsulate"},{"line_number":55,"context_line":"these tasks. Ideally it should be usable in multiple ways:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"- As a singleton daemon that periodically runs tasks at various"},{"line_number":58,"context_line":"  intervals according to their potential impact on the system and"},{"line_number":59,"context_line":"  need."},{"line_number":60,"context_line":"- As a one-shot \"fix stuff\" command that can be run from cron or"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_dd4b0826","line":57,"in_reply_to":"3fa7e38b_42c94177","updated":"2020-02-14 09:55:34.000000000","message":"We could discuss the details within the implementation changes.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"2080e8442cfa1ba059d960b13392bd518c4d470f","unresolved":false,"context_lines":[{"line_number":54,"context_line":"This spec proposes a new binary called ``nova-audit`` to encapsulate"},{"line_number":55,"context_line":"these tasks. Ideally it should be usable in multiple ways:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"- As a singleton daemon that periodically runs tasks at various"},{"line_number":58,"context_line":"  intervals according to their potential impact on the system and"},{"line_number":59,"context_line":"  need."},{"line_number":60,"context_line":"- As a one-shot \"fix stuff\" command that can be run from cron or"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_271e970d","line":57,"in_reply_to":"3fa7e38b_870aeb1d","updated":"2019-11-07 13:43:13.000000000","message":"I think this is noisy overkill, see my comment below. But agree that if this is done an oslo.service.Service is the easy way to go.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2b0498e04cfef0cdd185dc6bd5cb141e85d08a4b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"- As a singleton daemon that periodically runs tasks at various"},{"line_number":58,"context_line":"  intervals according to their potential impact on the system and"},{"line_number":59,"context_line":"  need."},{"line_number":60,"context_line":"- As a one-shot \"fix stuff\" command that can be run from cron or"},{"line_number":61,"context_line":"  otherwise scheduled or executed."},{"line_number":62,"context_line":"- As a daemon or one-shot command that purely audits potential"},{"line_number":63,"context_line":"  problems, but makes no changes."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_a724c7b3","line":60,"updated":"2019-11-07 13:20:18.000000000","message":"And this could be a new nova-audit command that is just a meta command that runs the existing nova-manage commands. Obvious the devil is in the details on this one, like:\n\n* What does it do for options? I assume defaults for any options but what about things that require input, like a cell or instance? I guess the meta command would just take care of that, e.g. iterating cells and instances within cells for a command that needs that. If there are common options, like --verbose, then we could pass that through from the nova-audit meta command.\n* What happens if any individual command fails? Do we stop or roll up the results of all at the end in a report/summary style output that is machine readable (sort of like how online_data_migrations and nova-status works)?","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"799a81bfdc5a1c3fc0249f265dd5ddb885655656","unresolved":false,"context_lines":[{"line_number":57,"context_line":"- As a singleton daemon that periodically runs tasks at various"},{"line_number":58,"context_line":"  intervals according to their potential impact on the system and"},{"line_number":59,"context_line":"  need."},{"line_number":60,"context_line":"- As a one-shot \"fix stuff\" command that can be run from cron or"},{"line_number":61,"context_line":"  otherwise scheduled or executed."},{"line_number":62,"context_line":"- As a daemon or one-shot command that purely audits potential"},{"line_number":63,"context_line":"  problems, but makes no changes."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_67c80fa8","line":60,"in_reply_to":"3fa7e38b_a724c7b3","updated":"2019-11-07 13:21:44.000000000","message":"\u003e * What does it do for options? I assume defaults for any options\n \u003e but what about things that require input, like a cell or instance?\n \u003e I guess the meta command would just take care of that, e.g.\n \u003e iterating cells and instances within cells for a command that needs\n \u003e that. If there are common options, like --verbose, then we could\n \u003e pass that through from the nova-audit meta command.\n\nI thought about this later but I suppose the meta command would rely on config options for anything not provided directly by the user on the CLI.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"2080e8442cfa1ba059d960b13392bd518c4d470f","unresolved":false,"context_lines":[{"line_number":60,"context_line":"- As a one-shot \"fix stuff\" command that can be run from cron or"},{"line_number":61,"context_line":"  otherwise scheduled or executed."},{"line_number":62,"context_line":"- As a daemon or one-shot command that purely audits potential"},{"line_number":63,"context_line":"  problems, but makes no changes."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"A new config section of ``[audit]`` would be added with timers and"},{"line_number":66,"context_line":"default values for each task."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_476dd397","line":63,"updated":"2019-11-07 13:43:13.000000000","message":"Having a daemon that needs to stay alive seems excessive if we can rely on the presence of cron. Then, each time the thing runs it records that is ran so when it starts up the next it can do its own comparison against config to know what it should do (so one cron job can deal with all job types, not a cron job per type, as that would invalidate the whole point).","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2b0498e04cfef0cdd185dc6bd5cb141e85d08a4b","unresolved":false,"context_lines":[{"line_number":60,"context_line":"- As a one-shot \"fix stuff\" command that can be run from cron or"},{"line_number":61,"context_line":"  otherwise scheduled or executed."},{"line_number":62,"context_line":"- As a daemon or one-shot command that purely audits potential"},{"line_number":63,"context_line":"  problems, but makes no changes."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"A new config section of ``[audit]`` would be added with timers and"},{"line_number":66,"context_line":"default values for each task."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_2738d7d2","line":63,"range":{"start_line":63,"start_character":12,"end_line":63,"end_character":33},"updated":"2019-11-07 13:20:18.000000000","message":"Not all of the nova-manage commands have a --dry-run option. I\u0027m assuming as part of this we\u0027d add --dry-run capabilities to the existing commands that don\u0027t have one and then nova-audit could be run with a --dry-run option that just gets passed through?","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6a3f8053896459a4481384d274502f7ade9cfde9","unresolved":false,"context_lines":[{"line_number":60,"context_line":"- As a one-shot \"fix stuff\" command that can be run from cron or"},{"line_number":61,"context_line":"  otherwise scheduled or executed."},{"line_number":62,"context_line":"- As a daemon or one-shot command that purely audits potential"},{"line_number":63,"context_line":"  problems, but makes no changes."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"A new config section of ``[audit]`` would be added with timers and"},{"line_number":66,"context_line":"default values for each task."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_82b739f6","line":63,"in_reply_to":"3fa7e38b_476dd397","updated":"2019-11-07 14:59:44.000000000","message":"The problem with doing that is that if we always only run from cron, we have to persist lots of things somewhere in order to make sure the next time we\u0027re run, we know whether or not it\u0027s time to do a thing, where to restart, etc.\n\nWe have some tasks that need to run every ten minutes (host discovery) and some that run every few days (db archival) and some that need to run one instance per minute (heal allocations). If we\u0027re only ever run from cron via a single invocation, we need to be run every minute, and we need to persist when the last time we ran the first two, and the instance pointer of the last healed allocation somewhere. If we do it all in memory, that\u0027s massively easier.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"85920c665731ee2885a6974a5d296853628481fb","unresolved":false,"context_lines":[{"line_number":60,"context_line":"- As a one-shot \"fix stuff\" command that can be run from cron or"},{"line_number":61,"context_line":"  otherwise scheduled or executed."},{"line_number":62,"context_line":"- As a daemon or one-shot command that purely audits potential"},{"line_number":63,"context_line":"  problems, but makes no changes."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"A new config section of ``[audit]`` would be added with timers and"},{"line_number":66,"context_line":"default values for each task."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_7d5454c5","line":63,"in_reply_to":"3fa7e38b_82b739f6","updated":"2020-02-14 09:55:34.000000000","message":"Again, that\u0027s kind of details we can agree during the implementation phase.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ffe1b7587a436fea1b8fd342d5f68dd04d7c7af3","unresolved":false,"context_lines":[{"line_number":73,"context_line":"This task checks the consistency of allocations in Placement for"},{"line_number":74,"context_line":"instances in Nova. It has a runtime performance impact on both"},{"line_number":75,"context_line":"Placement and the Nova database. Many instances means this should"},{"line_number":76,"context_line":"probably check one instance per cycle, but potentially a short cycle"},{"line_number":77,"context_line":"time."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"``sync_aggregates``"},{"line_number":80,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_39bec900","line":77,"range":{"start_line":76,"start_character":39,"end_line":77,"end_character":5},"updated":"2019-11-27 03:41:41.000000000","message":"If one second for one instance(or we want a shorter cycle?), then 1000 instances need 16 mins.  In this 16mins, if there any other instance on that node to consume the left resource on the node, then the heal will fail. For more large scale, this doesn\u0027t sound very useful.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"cbc903a0a0c70f3743171a7fd600f805e2283771","unresolved":false,"context_lines":[{"line_number":73,"context_line":"This task checks the consistency of allocations in Placement for"},{"line_number":74,"context_line":"instances in Nova. It has a runtime performance impact on both"},{"line_number":75,"context_line":"Placement and the Nova database. Many instances means this should"},{"line_number":76,"context_line":"probably check one instance per cycle, but potentially a short cycle"},{"line_number":77,"context_line":"time."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"``sync_aggregates``"},{"line_number":80,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_03894c6e","line":77,"range":{"start_line":76,"start_character":39,"end_line":77,"end_character":5},"in_reply_to":"3fa7e38b_39bec900","updated":"2020-02-13 18:41:35.000000000","message":"Sorry, I missed this comment from a long while ago.\n\nI wouldn\u0027t expect a cycle time shorter than 1 second for anything :) But yeah, if there were 1000 instances in need of healing I agree that would be a pretty long time to get all healed. I would think the expectation here is that not a large percentage of instances would be in need of healing, so each interval you check and find an instance that needs healing and heal it, only one healing per interval. And most of the time you will not find anything to heal.\n\nBut, really we could just have another config option related to nova-audit config that controls how many instances to heal in one batch. The default would be 1 but if you are an operator who regularly has a large percentage of instances in need of healing, you could set the value higher to suit your environment and tune it.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"2080e8442cfa1ba059d960b13392bd518c4d470f","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":".. note:: There is already a mechanism by which to run this"},{"line_number":107,"context_line":"          periodically in the scheduler service, which should be"},{"line_number":108,"context_line":"          deprecated and replaced by ``nova-audit``."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"``archive_deleted_rows``"},{"line_number":111,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_a7ce07b5","line":108,"updated":"2019-11-07 13:43:13.000000000","message":"++\n\nWe should make sure that we\u0027re not duplicating effort/activity","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"85920c665731ee2885a6974a5d296853628481fb","unresolved":false,"context_lines":[{"line_number":141,"context_line":"of in-flight instance builds plus the number of orphans, which should"},{"line_number":142,"context_line":"be small. Thus it should be fine to run this relatively frequently,"},{"line_number":143,"context_line":"such as every ten minutes."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Alternatives"},{"line_number":147,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_5d0638ce","line":144,"updated":"2020-02-14 09:55:34.000000000","message":"FWIW, I think we could provide a configurable way for ops to tell their wanted peridiocal check for every command, but that\u0027s possibly something we can defer in another change.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"2080e8442cfa1ba059d960b13392bd518c4d470f","unresolved":false,"context_lines":[{"line_number":155,"context_line":"from the setup sort of things that ``nova-manage`` does."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"We could integrate this into ``nova-manage`` itself, under a"},{"line_number":158,"context_line":"\"maintenance\" subcommand or similar."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Data model impact"},{"line_number":161,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_c706a3ce","line":158,"updated":"2019-11-07 13:43:13.000000000","message":"if the \"just from cron or cli\" option is taken, than having it as part of nova-manage seems an easy way to go (no need to move existing nova-manage code to a shared location, for example).","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6a3f8053896459a4481384d274502f7ade9cfde9","unresolved":false,"context_lines":[{"line_number":155,"context_line":"from the setup sort of things that ``nova-manage`` does."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"We could integrate this into ``nova-manage`` itself, under a"},{"line_number":158,"context_line":"\"maintenance\" subcommand or similar."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Data model impact"},{"line_number":161,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_02c34959","line":158,"in_reply_to":"3fa7e38b_c706a3ce","updated":"2019-11-07 14:59:44.000000000","message":"I actually *want* to move the nova-manage stuff, because nova-manage has become a total wasteland of crazy.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2b0498e04cfef0cdd185dc6bd5cb141e85d08a4b","unresolved":false,"context_lines":[{"line_number":178,"context_line":"None. You could argue that notifications sent about audit activity"},{"line_number":179,"context_line":"would be useful, but doing so would require more setup and"},{"line_number":180,"context_line":"configuration of this utility, as well as connectivity and credentials"},{"line_number":181,"context_line":"to the message bus. We could implement that later if there is a need."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Other end user impact"},{"line_number":184,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_c777839f","line":181,"updated":"2019-11-07 13:20:18.000000000","message":"I do think this would be useful if you\u0027re running it as a service that is just running periodic tasks in case one of them fails. Otherwise we\u0027ll likely just be logging errors in the nova-audit service logs on each periodic run unless whatever is tripping the error goes away, e.g. bad instance is deleted or something. But I agree it\u0027s something that could be built in a later phase.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"2080e8442cfa1ba059d960b13392bd518c4d470f","unresolved":false,"context_lines":[{"line_number":178,"context_line":"None. You could argue that notifications sent about audit activity"},{"line_number":179,"context_line":"would be useful, but doing so would require more setup and"},{"line_number":180,"context_line":"configuration of this utility, as well as connectivity and credentials"},{"line_number":181,"context_line":"to the message bus. We could implement that later if there is a need."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Other end user impact"},{"line_number":184,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_670b2fd5","line":181,"updated":"2019-11-07 13:43:13.000000000","message":"Yes, exactly: Avoid doing now if nobody cares.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2b0498e04cfef0cdd185dc6bd5cb141e85d08a4b","unresolved":false,"context_lines":[{"line_number":212,"context_line":"--------------"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":215,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":216,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":217,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":218,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":219,"context_line":"existing deployments."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_87718bab","line":216,"range":{"start_line":215,"start_character":10,"end_line":216,"end_character":63},"updated":"2019-11-07 13:20:18.000000000","message":"OK this means existing external-to-nova operator-owned maintenance tasks, e.g. scripts run in a cron, ansible tasks, etc.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2b0498e04cfef0cdd185dc6bd5cb141e85d08a4b","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":215,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":216,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":217,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":218,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":219,"context_line":"existing deployments."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":".. note:: Specific tasks like ``db archive_deleted_rows`` may make"},{"line_number":222,"context_line":"          sense to continue to exist in ``nova-manage`` as well."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_07b27b4a","line":219,"range":{"start_line":216,"start_character":64,"end_line":219,"end_character":21},"updated":"2019-11-07 13:20:18.000000000","message":"This is the one sticking point I have with this spec.\n\nI really like the idea of the proposed change points above, (1) new service that runs the existing things in configurable periodic tasks, (2) meta command that runs all of the existing commands with defaults, simple common options, or configs, (3) the ability to do #2 but in --dry-run mode for all of them.\n\nI think all of that can be done without deprecating and moving the existing nova-manage commands. That feels like unnecessary churn to me for little gain, especially for operators that have already built tooling around those existing commands. Not doing this deprecate/move would also avoid the upgrade impact, you\u0027d just opt in when you\u0027re ready to deploy and start using the new service/command. It seems the one benefit of moving everything is a unified interface but I think (2 - the meta command) gives us that for those that don\u0027t care about the granular details of each individual command.\n\nAnyway, I\u0027m kind of -1 on this point of deprecating and moving the existing commands given the service/meta command can be built on the existing stuff pretty easily today and except for the external interface, how that new service/command is implemented is all under the covers from the user so I don\u0027t see the need for the churn.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6a3f8053896459a4481384d274502f7ade9cfde9","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":215,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":216,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":217,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":218,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":219,"context_line":"existing deployments."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":".. note:: Specific tasks like ``db archive_deleted_rows`` may make"},{"line_number":222,"context_line":"          sense to continue to exist in ``nova-manage`` as well."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_42e061f9","line":219,"range":{"start_line":216,"start_character":64,"end_line":219,"end_character":21},"in_reply_to":"3fa7e38b_07b27b4a","updated":"2019-11-07 14:59:44.000000000","message":"I think the benefit of this is diminished if we don\u0027t try to move people to using the new unified thing. I\u0027m not really in a rush to *remove* the things we have today from nova-manage, but I would expect we should mark and deprecate them as \"not the best way\" once the alternative exists. It\u0027s not about removing duplicative code, but about confusion surrounding what the best way do to a thing is, whether or not the two methods are equivalent, and I think that if we keep the above-listed items in nova-manage forever, we\u0027re just creating a new thing without achieving the goal of unification and standardization.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3c2108612e6a9abe1bf43a711896f422230acc20","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":215,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":216,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":217,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":218,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":219,"context_line":"existing deployments."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":".. note:: Specific tasks like ``db archive_deleted_rows`` may make"},{"line_number":222,"context_line":"          sense to continue to exist in ``nova-manage`` as well."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_c2c8d122","line":219,"range":{"start_line":216,"start_character":64,"end_line":219,"end_character":21},"in_reply_to":"3fa7e38b_42e061f9","updated":"2019-11-07 15:23:07.000000000","message":"I would prefer to add the new thing, gain adoption, get feedback, and then if people (operators mostly since they are the ones consuming this) want the work of a unified interface, do that in round 2. I think it adds too much noise to the easy big gain in what\u0027s proposed besides also munging the \"deprecate and unify everything\" part of this, especially since I don\u0027t know that I think things like db archive/purge should be moved (ever) to an \"audit\" command. I know you have a note about that below, I\u0027m just reiterating.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"b1380f64bb7cfa75c4b37b513c3f7afdc5d02f74","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":215,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":216,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":217,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":218,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":219,"context_line":"existing deployments."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":".. note:: Specific tasks like ``db archive_deleted_rows`` may make"},{"line_number":222,"context_line":"          sense to continue to exist in ``nova-manage`` as well."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_ce0f9b86","line":219,"range":{"start_line":216,"start_character":64,"end_line":219,"end_character":21},"in_reply_to":"3fa7e38b_4ec3ab58","updated":"2019-11-07 18:31:52.000000000","message":"My 0.5 cents: personally, I\u0027d want to defer to operators on when/if to deprecate the nova-manage stuff and get some of their comments on this spec as to whether they like the new service idea, in general. I\u0027m thinking of, for example, mnaser, belmoira, eandersson to comment on this spec.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"512d64a5ef84ffcdb0f3fd06e0d764dd996e031f","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":215,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":216,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":217,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":218,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":219,"context_line":"existing deployments."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":".. note:: Specific tasks like ``db archive_deleted_rows`` may make"},{"line_number":222,"context_line":"          sense to continue to exist in ``nova-manage`` as well."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_aeb25f05","line":219,"range":{"start_line":216,"start_character":64,"end_line":219,"end_character":21},"in_reply_to":"3fa7e38b_88bf5bfb","updated":"2019-11-07 18:06:28.000000000","message":"I thought 1 and 2 in the proposed changes section are separate things. 1 being a new service. 2 being a new command (nova-audit) which is a wrapper over the existing nova-manage commands listed in this spec. And the 3rd proposed change is a dry-run option for #2 (the new command).\n\nThat all seems worthwhile to me along with the config options and such if you run it as a service (#1).\n\nDeprecating and moving all of the existing nova-manage commands listed here seems like it\u0027s not something that needs to be done in the first pass, if ever (to me).\n\nIt\u0027s just my opinion. I -1ed because if I\u0027m going to vote, I vote to drop the deprecate/move part of this, at least for the first iteration until, like I said, there is adoption and feedback on the new thing and then determine if there is (enough) value in the churn on moving everything from nova-manage to nova-audit CLI-wise.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"29cd68693e029a52a5f479c0ee92884f2dc22877","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":215,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":216,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":217,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":218,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":219,"context_line":"existing deployments."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":".. note:: Specific tasks like ``db archive_deleted_rows`` may make"},{"line_number":222,"context_line":"          sense to continue to exist in ``nova-manage`` as well."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_4ec3ab58","line":219,"range":{"start_line":216,"start_character":64,"end_line":219,"end_character":21},"in_reply_to":"3fa7e38b_aeb25f05","updated":"2019-11-07 18:07:30.000000000","message":"BTW, if enough other cores *want* to move forward with the deprecation/move of CLI from nova-manage -\u003e nova-audit, then they should say so, +1 and override me and I can yield on this point.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2b7afbc9cf98436a46555d40f806656c9e5cb25b","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":215,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":216,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":217,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":218,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":219,"context_line":"existing deployments."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":".. note:: Specific tasks like ``db archive_deleted_rows`` may make"},{"line_number":222,"context_line":"          sense to continue to exist in ``nova-manage`` as well."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_88bf5bfb","line":219,"range":{"start_line":216,"start_character":64,"end_line":219,"end_character":21},"in_reply_to":"3fa7e38b_c2c8d122","updated":"2019-11-07 15:50:29.000000000","message":"Are you saying you think we should just make a daemon wrapper around the existing nova-manage commands? Meaning only the first bullet of the \"three things\" in the proposed change section? That\u0027s not really the biggest win of what I\u0027m proposing here, IMHO. If that\u0027s all we care about, we might as well just give people a sample crontab to install that runs things we think need running at various intervals.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d06ac6dcf94b9755763e99c907cb046734ae8cb8","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":215,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":216,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":217,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":218,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":219,"context_line":"existing deployments."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":".. note:: Specific tasks like ``db archive_deleted_rows`` may make"},{"line_number":222,"context_line":"          sense to continue to exist in ``nova-manage`` as well."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_ee2db7ae","line":219,"range":{"start_line":216,"start_character":64,"end_line":219,"end_character":21},"in_reply_to":"3fa7e38b_ce0f9b86","updated":"2019-11-07 18:46:55.000000000","message":"Okay, I guess I\u0027m way on a different page here. The current mess of overlapping and confusing nova-manage commands is the major problem to me. The scheduling part is not hard and, as has been said, could be done with cron if it was clear what to run, when, and how often. So it sounds like I should just drop this idea and we should focus on documentation and samples of how to schedule the existing commands.\n\nIf all we\u0027re doing is (effectively) calling nova-manage from this audit service, we\u0027re just reimplementing cron, which makes no sense. It\u0027s definitely not something I\u0027m interested in working on.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"85920c665731ee2885a6974a5d296853628481fb","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":215,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":216,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":217,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":218,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":219,"context_line":"existing deployments."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":".. note:: Specific tasks like ``db archive_deleted_rows`` may make"},{"line_number":222,"context_line":"          sense to continue to exist in ``nova-manage`` as well."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_fdf4c4ce","line":219,"range":{"start_line":216,"start_character":64,"end_line":219,"end_character":21},"in_reply_to":"3fa7e38b_d95f584b","updated":"2020-02-14 09:55:34.000000000","message":"I think we can reasonably assume a transition period where the existing commands would still allow to run checks by hand while the daemon would run and then we could discuss on when we would like them to be deprecated.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"da716573361415db4decc88448240fe5de89d5e4","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":215,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":216,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":217,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":218,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":219,"context_line":"existing deployments."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":".. note:: Specific tasks like ``db archive_deleted_rows`` may make"},{"line_number":222,"context_line":"          sense to continue to exist in ``nova-manage`` as well."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_f1cef6b5","line":219,"range":{"start_line":216,"start_character":64,"end_line":219,"end_character":21},"in_reply_to":"3fa7e38b_ee2db7ae","updated":"2019-11-07 19:06:19.000000000","message":"I don\u0027t think we\u0027re on a different page. To me, the point of this proposal is to make life better for operators and I feel hesitant to speak for them or guess about what they want. My expectation is that they will like this proposal and support deprecation of the nova-manage stuff, but I might be wrong.\n\nThe point of my last comment was just to acknowledge that I saw this convo and that I would base my own vote on operators comments on this spec. I\u0027m not trying to derail anything here.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ef24e292eb794b4826c92fc804685cf8d353977f","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"A new binary will be added, which will have some impact on"},{"line_number":215,"context_line":"upgrades. Any existing periodic maintenance jobs that call ``nova-manage``"},{"line_number":216,"context_line":"for various tasks will need to convert over to the new command. The"},{"line_number":217,"context_line":"interfaces we have for existing things in ``nova-manage`` can be"},{"line_number":218,"context_line":"deprecated but maintained for an extended period to avoid breaking"},{"line_number":219,"context_line":"existing deployments."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":".. note:: Specific tasks like ``db archive_deleted_rows`` may make"},{"line_number":222,"context_line":"          sense to continue to exist in ``nova-manage`` as well."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_d95f584b","line":219,"range":{"start_line":216,"start_character":64,"end_line":219,"end_character":21},"in_reply_to":"3fa7e38b_f1cef6b5","updated":"2019-11-08 15:15:30.000000000","message":"I see value in unifying everything into a single place and doing it within nova so everyone doesn\u0027t have to re-invent the same wheel, and that also means people get the new things (like heal_instance_mappings) for free when they upgrade rather than having to scour release notes or finding a new command after they\u0027ve already ran into a problem.\n\nI\u0027ll drop my -1 until others (cores/operators) take a look at this and can weigh in. I don\u0027t expect much feedback until late next week at the earliest given the summit/ptg is done and people are heading home, but I don\u0027t want my -1 to keep people from reading this and providing feedback.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"995a2d45ff76ea8737f78aa4306e52061d22e889","unresolved":false,"context_lines":[{"line_number":228,"context_line":"-----------"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Primary assignee:"},{"line_number":231,"context_line":"  danms"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"Feature Liaison"},{"line_number":234,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_b0ebaddb","line":231,"updated":"2019-11-27 00:17:01.000000000","message":"So is melwitt the owner on this now or what?","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"033a7589cf31ea7e2ba94e0e380a512cae782989","unresolved":false,"context_lines":[{"line_number":228,"context_line":"-----------"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Primary assignee:"},{"line_number":231,"context_line":"  danms"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"Feature Liaison"},{"line_number":234,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_90f0f168","line":231,"in_reply_to":"3fa7e38b_b0ebaddb","updated":"2019-11-27 00:40:33.000000000","message":"I hope to not be, but I don\u0027t want to see this idea die.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2b0498e04cfef0cdd185dc6bd5cb141e85d08a4b","unresolved":false,"context_lines":[{"line_number":244,"context_line":"* Create the new config section and items."},{"line_number":245,"context_line":"* Implement connectors to integrate the existing tasks we have into"},{"line_number":246,"context_line":"  the new command."},{"line_number":247,"context_line":"* Modify the ``nova-next`` job to run the audit command in single-shot"},{"line_number":248,"context_line":"  mode after the tempest run, ideally removing the existing"},{"line_number":249,"context_line":"  archive/purge invocation."},{"line_number":250,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_c7ea230d","line":247,"updated":"2019-11-07 13:20:18.000000000","message":"Yeah this is good.\n\nI also thought about deploying the nova-audit service in devstack so it\u0027s running in daemon mode. That would get run in the gate but I\u0027m not sure how much help it would be in the gate since we already run periodic tasks in the compute and stuff but those don\u0027t really show up if they fail for tempest runs because they are happening out of band from what tempest is doing. We do seem them spew errors in the logs at times, but people mostly only notice that when investigating the logs for some other gate (tempest) failure.\n\nSo maybe just adding nova-audit to devstack as optional but not a default enabled service in gate runs is the way to go. Obviously optional. I\u0027m just thinking out loud here.","commit_id":"d649a3544bc386f5d71428d652750cc3c41e11aa"}]}
