)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"855f0cc2dc541e923f95cd50a81cda8097bb1f4d","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Add enablement flags to classes managing Nova DB records purging and"},{"line_number":10,"context_line":"archieving. With that change, cron jobs can be removed, if no longer"},{"line_number":11,"context_line":"needed. For example, when originally enabled purging of archieved DB"},{"line_number":12,"context_line":"records considered harmful and needs to be turned off."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Signed-off-by: Bogdan Dobrelya \u003cbdobreli@redhat.com\u003e"},{"line_number":15,"context_line":"Change-Id: I4b2c65b91b83c7ac64f909359585aa76c19d4705"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"f8dafe3b_7aae46d4","line":12,"range":{"start_line":12,"start_character":19,"end_line":12,"end_character":26},"updated":"2023-03-10 12:44:49.000000000","message":"I\u0027m not too sure how this can be harmful. Probably we should document this betrer (when the deleted records should be kept in the original databases for some reason)","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"5fed998a670c9ed1a08de46e94e0958ee655bdd7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add enablement flags to classes managing Nova DB records purging and"},{"line_number":10,"context_line":"archieving. With that change, cron jobs can be removed, if no longer"},{"line_number":11,"context_line":"needed. For example, when originally enabled purging of archieved DB"},{"line_number":12,"context_line":"records considered harmful and needs to be turned off."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Signed-off-by: Bogdan Dobrelya \u003cbdobreli@redhat.com\u003e"},{"line_number":15,"context_line":"Change-Id: I4b2c65b91b83c7ac64f909359585aa76c19d4705"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"4d9386f4_71072e73","line":12,"range":{"start_line":12,"start_character":19,"end_line":12,"end_character":26},"in_reply_to":"1b2eb834_c83b96dd","updated":"2023-03-10 14:14:55.000000000","message":"thanks for updating!","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"a689e878c405ac8aed829747099480bdf188359b","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Add enablement flags to classes managing Nova DB records purging and"},{"line_number":10,"context_line":"archieving. With that change, cron jobs can be removed, if no longer"},{"line_number":11,"context_line":"needed. For example, when originally enabled purging of archieved DB"},{"line_number":12,"context_line":"records considered harmful and needs to be turned off."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Signed-off-by: Bogdan Dobrelya \u003cbdobreli@redhat.com\u003e"},{"line_number":15,"context_line":"Change-Id: I4b2c65b91b83c7ac64f909359585aa76c19d4705"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1b2eb834_c83b96dd","line":12,"range":{"start_line":12,"start_character":19,"end_line":12,"end_character":26},"in_reply_to":"287e6bea_524ec138","updated":"2023-03-10 13:11:06.000000000","message":"Then we have to explain that better instead of leaving just \"harmful\". That does not contain much information and does not give any good context to let users understand when and why they need this.","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"57c4dd5a84424409d3a8767b363086494eacbedd","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add enablement flags to classes managing Nova DB records purging and"},{"line_number":10,"context_line":"archieving. With that change, cron jobs can be removed, if no longer"},{"line_number":11,"context_line":"needed. For example, when originally enabled purging of archieved DB"},{"line_number":12,"context_line":"records considered harmful and needs to be turned off."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Signed-off-by: Bogdan Dobrelya \u003cbdobreli@redhat.com\u003e"},{"line_number":15,"context_line":"Change-Id: I4b2c65b91b83c7ac64f909359585aa76c19d4705"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"287e6bea_524ec138","line":12,"range":{"start_line":12,"start_character":19,"end_line":12,"end_character":26},"in_reply_to":"f8dafe3b_7aae46d4","updated":"2023-03-10 12:54:09.000000000","message":"DB recovery corner cases do not belong here I believe. It should be docmented to Nova Openstack, not puppet automation. Here we just give a control flag.\n\nBut if you\u0027re interested in background:\n\n\"From Nova\u0027s POV we need to make sure the deleted servers remain soft-deleted in the database so that there\u0027s a chance to recover them and preserve UUIDs with some DB hacks. If they get archived out to the shadow tables, that\u0027ll become much harder.\"\n\nif DB records get archived, we cant undelete it.\nEven when we can undelete the instance records, it will leave things in a pretty broken state (the neutron ports to be alredy deleted, cinder volumes needs to be reatached etc)","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"855f0cc2dc541e923f95cd50a81cda8097bb1f4d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"935943c8_73a84945","updated":"2023-03-10 12:44:49.000000000","message":"The overall design looks good to me.\n\nIn case you want to disable cron job in tripleo then you can set `NovaEnableDBArchive: false` then it should remove the cron job.","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"05d11d36747d6c783cb087bfd6341fc8dd3e484e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"acdd49da_87ed88ec","in_reply_to":"935943c8_73a84945","updated":"2023-03-10 12:54:32.000000000","message":"unfortunately, that wouldn\u0027t remove it","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"27f8272c4c8d65d50021391c1c9ca62020ce19c2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2ed276a2_d3ac2907","in_reply_to":"acdd49da_87ed88ec","updated":"2023-03-10 13:02:01.000000000","message":"TripleO should regenerate the whole config directory from scratch so the existing file should be removed. Also, in case the file is removed from config-data dir then the nova_api_cron container should be recreated thus it can\u0027t keep the existing file, afaik.","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"}],"manifests/cron/archive_deleted_rows.pp":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"855f0cc2dc541e923f95cd50a81cda8097bb1f4d","unresolved":true,"context_lines":[{"line_number":109,"context_line":"  $sleep          \u003d undef,"},{"line_number":110,"context_line":"  $verbose        \u003d false,"},{"line_number":111,"context_line":"  $maxdelay       \u003d 0,"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"  Enum[\u0027present\u0027, \u0027absent\u0027] $ensure \u003d \u0027present\u0027,"},{"line_number":114,"context_line":") inherits nova::params {"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":2,"id":"d0f83b51_bffbba86","line":112,"updated":"2023-03-10 12:44:49.000000000","message":"redundant blank line.","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"80a323576fba3e116ea185ed8ea03f8278535f8b","unresolved":false,"context_lines":[{"line_number":109,"context_line":"  $sleep          \u003d undef,"},{"line_number":110,"context_line":"  $verbose        \u003d false,"},{"line_number":111,"context_line":"  $maxdelay       \u003d 0,"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"  Enum[\u0027present\u0027, \u0027absent\u0027] $ensure \u003d \u0027present\u0027,"},{"line_number":114,"context_line":") inherits nova::params {"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":2,"id":"61f05cc0_48e43ce5","line":112,"in_reply_to":"d0f83b51_bffbba86","updated":"2023-03-10 12:59:23.000000000","message":"Done","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"855f0cc2dc541e923f95cd50a81cda8097bb1f4d","unresolved":true,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"  $cron_cmd \u003d \u0027nova-manage db archive_deleted_rows\u0027"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"  $ensure_real \u003d $ensure ? {"},{"line_number":174,"context_line":"    \u0027absent\u0027 \u003d\u003e absent,"},{"line_number":175,"context_line":"    absent   \u003d\u003e absent,"},{"line_number":176,"context_line":"    default  \u003d\u003e present,"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"f4b3b85d_d710d464","line":173,"range":{"start_line":173,"start_character":3,"end_line":173,"end_character":14},"updated":"2023-03-10 12:44:49.000000000","message":"why do we need this ?","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"163a6359da5c4c56eafcc5ea24b7cb1b26fde8ea","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"  $cron_cmd \u003d \u0027nova-manage db archive_deleted_rows\u0027"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"  $ensure_real \u003d $ensure ? {"},{"line_number":174,"context_line":"    \u0027absent\u0027 \u003d\u003e absent,"},{"line_number":175,"context_line":"    absent   \u003d\u003e absent,"},{"line_number":176,"context_line":"    default  \u003d\u003e present,"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"6299d7eb_4b16435f","line":173,"range":{"start_line":173,"start_character":3,"end_line":173,"end_character":14},"in_reply_to":"3790ea50_51508890","updated":"2023-03-10 14:17:13.000000000","message":"oh, you did! LGTM thanks","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"5fed998a670c9ed1a08de46e94e0958ee655bdd7","unresolved":true,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"  $cron_cmd \u003d \u0027nova-manage db archive_deleted_rows\u0027"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"  $ensure_real \u003d $ensure ? {"},{"line_number":174,"context_line":"    \u0027absent\u0027 \u003d\u003e absent,"},{"line_number":175,"context_line":"    absent   \u003d\u003e absent,"},{"line_number":176,"context_line":"    default  \u003d\u003e present,"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"3790ea50_51508890","line":173,"range":{"start_line":173,"start_character":3,"end_line":173,"end_character":14},"in_reply_to":"5202e2d7_9ad34c4b","updated":"2023-03-10 14:14:55.000000000","message":"not really. We can simplify this then. thanks!","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"a689e878c405ac8aed829747099480bdf188359b","unresolved":true,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"  $cron_cmd \u003d \u0027nova-manage db archive_deleted_rows\u0027"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"  $ensure_real \u003d $ensure ? {"},{"line_number":174,"context_line":"    \u0027absent\u0027 \u003d\u003e absent,"},{"line_number":175,"context_line":"    absent   \u003d\u003e absent,"},{"line_number":176,"context_line":"    default  \u003d\u003e present,"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"5202e2d7_9ad34c4b","line":173,"range":{"start_line":173,"start_character":3,"end_line":173,"end_character":14},"in_reply_to":"59c43867_f6fa4e95","updated":"2023-03-10 13:11:06.000000000","message":"I checked some other modules but have never found this logic. So I believe we don\u0027t really need this. Are you aware of any real error caused by this ?","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"4eb19b87c4ad2f90a787a20d1b51f2b51864043b","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"  $cron_cmd \u003d \u0027nova-manage db archive_deleted_rows\u0027"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"  $ensure_real \u003d $ensure ? {"},{"line_number":174,"context_line":"    \u0027absent\u0027 \u003d\u003e absent,"},{"line_number":175,"context_line":"    absent   \u003d\u003e absent,"},{"line_number":176,"context_line":"    default  \u003d\u003e present,"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"59c43867_f6fa4e95","line":173,"range":{"start_line":173,"start_character":3,"end_line":173,"end_character":14},"in_reply_to":"f4b3b85d_d710d464","updated":"2023-03-10 12:56:24.000000000","message":"I think this is needed for proper processing of ensure \u003d\u003e absent as well as ensure \u003d\u003e \u0027absent\u0027.","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"}],"releasenotes/notes/delayed_nova_compute-23fe926e73fb3717.yaml":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"855f0cc2dc541e923f95cd50a81cda8097bb1f4d","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The new ``nova::cron::archive_deleted_rows::ensure`` and"},{"line_number":5,"context_line":"    ``nova::cron::purge_shadow_tables::ensure`` parameters have been added."},{"line_number":6,"context_line":"    These parameter control the corresponding cron jobs existence. When either"},{"line_number":7,"context_line":"    of two classes included, they can be given ``ensure \u003d\u003e absent`` to unwind"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"25d108fd_08e7fd39","line":4,"range":{"start_line":4,"start_character":56,"end_line":4,"end_character":57},"updated":"2023-03-10 12:44:49.000000000","message":"parameter","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"80a323576fba3e116ea185ed8ea03f8278535f8b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The new ``nova::cron::archive_deleted_rows::ensure`` and"},{"line_number":5,"context_line":"    ``nova::cron::purge_shadow_tables::ensure`` parameters have been added."},{"line_number":6,"context_line":"    These parameter control the corresponding cron jobs existence. When either"},{"line_number":7,"context_line":"    of two classes included, they can be given ``ensure \u003d\u003e absent`` to unwind"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ea9c2cff_148ada3b","line":4,"range":{"start_line":4,"start_character":56,"end_line":4,"end_character":57},"in_reply_to":"25d108fd_08e7fd39","updated":"2023-03-10 12:59:23.000000000","message":"Done","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"c516138f4515bf3f77b74c51832cefa3144a317f","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The new ``nova::cron::archive_deleted_rows::ensure`` and"},{"line_number":5,"context_line":"    ``nova::cron::purge_shadow_tables::ensure`` parameters have been added."},{"line_number":6,"context_line":"    These parameter control the corresponding cron jobs existence. When either"},{"line_number":7,"context_line":"    of two classes included, they can be given ``ensure \u003d\u003e absent`` to unwind"},{"line_number":8,"context_line":"    existing cron jobs."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"22c0eac3_46a0f805","line":6,"range":{"start_line":6,"start_character":10,"end_line":6,"end_character":19},"updated":"2023-03-10 12:45:41.000000000","message":"parameters","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"80a323576fba3e116ea185ed8ea03f8278535f8b","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The new ``nova::cron::archive_deleted_rows::ensure`` and"},{"line_number":5,"context_line":"    ``nova::cron::purge_shadow_tables::ensure`` parameters have been added."},{"line_number":6,"context_line":"    These parameter control the corresponding cron jobs existence. When either"},{"line_number":7,"context_line":"    of two classes included, they can be given ``ensure \u003d\u003e absent`` to unwind"},{"line_number":8,"context_line":"    existing cron jobs."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"52b10a18_643aa906","line":6,"range":{"start_line":6,"start_character":10,"end_line":6,"end_character":19},"in_reply_to":"22c0eac3_46a0f805","updated":"2023-03-10 12:59:23.000000000","message":"Done","commit_id":"96e2ac5316a30a877ad07eeba7191c3dfdcf0d65"}],"spec/classes/nova_cache_spec.rb":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"855f0cc2dc541e923f95cd50a81cda8097bb1f4d","unresolved":true,"context_lines":[{"line_number":39,"context_line":"          :hashclient_retry_delay               \u003d\u003e \u0027\u003cSERVICE DEFAULT\u003e\u0027,"},{"line_number":40,"context_line":"          :dead_timeout                         \u003d\u003e \u0027\u003cSERVICE DEFAULT\u003e\u0027,"},{"line_number":41,"context_line":"          :manage_backend_package               \u003d\u003e true,"},{"line_number":42,"context_line":"          :manage_backend_package               \u003d\u003e true,"},{"line_number":43,"context_line":"        )"},{"line_number":44,"context_line":"      end"},{"line_number":45,"context_line":"    end"}],"source_content_type":"text/x-ruby","patch_set":2,"id":"b4d1f2b7_457a767e","side":"PARENT","line":42,"range":{"start_line":42,"start_character":10,"end_line":42,"end_character":56},"updated":"2023-03-10 12:44:49.000000000","message":"I\u0027d leave this for a separate change.","commit_id":"a50a1a95be0a0df54d02d6d013a3b561f7bf8790"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"80a323576fba3e116ea185ed8ea03f8278535f8b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"          :hashclient_retry_delay               \u003d\u003e \u0027\u003cSERVICE DEFAULT\u003e\u0027,"},{"line_number":40,"context_line":"          :dead_timeout                         \u003d\u003e \u0027\u003cSERVICE DEFAULT\u003e\u0027,"},{"line_number":41,"context_line":"          :manage_backend_package               \u003d\u003e true,"},{"line_number":42,"context_line":"          :manage_backend_package               \u003d\u003e true,"},{"line_number":43,"context_line":"        )"},{"line_number":44,"context_line":"      end"},{"line_number":45,"context_line":"    end"}],"source_content_type":"text/x-ruby","patch_set":2,"id":"40b24f03_914f18dc","side":"PARENT","line":42,"range":{"start_line":42,"start_character":10,"end_line":42,"end_character":56},"in_reply_to":"b4d1f2b7_457a767e","updated":"2023-03-10 12:59:23.000000000","message":"that made my local rspec run complaining about that...","commit_id":"a50a1a95be0a0df54d02d6d013a3b561f7bf8790"}],"spec/classes/nova_cron_archive_deleted_rows_spec.rb":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"76fa59aac93a27f07ec33e31425aab21bbce2e78","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    context \u0027ensurable\u0027 do"},{"line_number":25,"context_line":"      before :each do"},{"line_number":26,"context_line":"        params.merge!("},{"line_number":27,"context_line":"          :ensure \u003d\u003e :absent,"},{"line_number":28,"context_line":"        )"},{"line_number":29,"context_line":"      end"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":5,"id":"760da23b_73b2c6da","line":27,"updated":"2023-03-10 14:15:54.000000000","message":"I wanted to test different string vs symbol values, but this should be fine...","commit_id":"399432fb13ff40bb8cd4e34c1aef162a9e98b422"}]}
