tripleo-transfer ansible module cannot customize some transfer flags

Bug #1925260 reported by Damien Ciabrini
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Medium
Damien Ciabrini

Bug Description

We use tripleo-transfer during FFU to copy the contents of the most up-to-date DB to the controller node that has just been upgraded, so it catches up before being restarted.

Currently the transfer module applies some default rsync transfer options [1], which are not optimal for dealing with the database transfer:
  - delta-transfer is used, which requires hashing the contents of the entire DB, which is fairly time consuming.
  - transfer compression is applied, which is often time not effective with the DB contents, thus more time consuming
  - no in-place copy is attempted, which increases the storage requirement on the destination.
  - all the files from the sources are copied to the destination, which is not idea because we can't skip useless or potentially unwanted files.

For performance and reliability, all the points above could be enhanced so that the transfer would look more like what galera does when transferring the full DB during an SST: in-place, unconditional copy (no checksum), no compression, selective copy.

[1] --delay-updates -F --ignore-times --compress --archive --delete

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)
Changed in tripleo:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to tripleo-ansible (stable/train)

Related fix proposed to branch: stable/train
Review: https://review.opendev.org/c/openstack/tripleo-ansible/+/787343

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/train)
Changed in tripleo:
milestone: wallaby-rc1 → xena-1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to tripleo-ansible (master)

Reviewed: https://review.opendev.org/c/openstack/tripleo-ansible/+/786918
Committed: https://opendev.org/openstack/tripleo-ansible/commit/6f75fd172326b010e680fc0bdda8d880e256a58e
Submitter: "Zuul (22348)"
Branch: master

commit 6f75fd172326b010e680fc0bdda8d880e256a58e
Author: Damien Ciabrini <email address hidden>
Date: Mon Apr 19 18:24:03 2021 +0200

    tripleo-transfer: ability to customize files transfer options

    There are use cases where it's useful to be able to explicitly
    exclude files from a transfer request. For example when syncing galera
    database, we don't want to copy coredumps, local galera state file...

    Add the ability to explicitly include or exclude files by specifying
    a list of files or wildcard-based patterns.

    Also make the default transfer options configurable, to best suit
    transfer use cases.

    Related-Bug: #1925260

    Change-Id: I1e88907db0bb26d52c92cb996eb56767e06b3874

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to tripleo-ansible (stable/wallaby)

Related fix proposed to branch: stable/wallaby
Review: https://review.opendev.org/c/openstack/tripleo-ansible/+/790735

Changed in tripleo:
milestone: xena-1 → xena-2
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to tripleo-ansible (stable/wallaby)

Reviewed: https://review.opendev.org/c/openstack/tripleo-ansible/+/790735
Committed: https://opendev.org/openstack/tripleo-ansible/commit/23531b28c42f9e68bb82253dc52432f20fde8e1e
Submitter: "Zuul (22348)"
Branch: stable/wallaby

commit 23531b28c42f9e68bb82253dc52432f20fde8e1e
Author: Damien Ciabrini <email address hidden>
Date: Mon Apr 19 18:24:03 2021 +0200

    tripleo-transfer: ability to customize files transfer options

    There are use cases where it's useful to be able to explicitly
    exclude files from a transfer request. For example when syncing galera
    database, we don't want to copy coredumps, local galera state file...

    Add the ability to explicitly include or exclude files by specifying
    a list of files or wildcard-based patterns.

    Also make the default transfer options configurable, to best suit
    transfer use cases.

    Related-Bug: #1925260

    Change-Id: I1e88907db0bb26d52c92cb996eb56767e06b3874
    (cherry picked from commit 6f75fd172326b010e680fc0bdda8d880e256a58e)

tags: added: in-stable-wallaby
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to tripleo-ansible (stable/victoria)

Related fix proposed to branch: stable/victoria
Review: https://review.opendev.org/c/openstack/tripleo-ansible/+/799468

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Related fix proposed to branch: stable/victoria
Review: https://review.opendev.org/c/openstack/tripleo-ansible/+/799778

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to tripleo-ansible (stable/victoria)

Reviewed: https://review.opendev.org/c/openstack/tripleo-ansible/+/799778
Committed: https://opendev.org/openstack/tripleo-ansible/commit/05c4669503612105439ab4d1a408cf7eddfdc179
Submitter: "Zuul (22348)"
Branch: stable/victoria

commit 05c4669503612105439ab4d1a408cf7eddfdc179
Author: Jesse Pretorius (odyssey4me) <email address hidden>
Date: Wed Mar 3 19:52:27 2021 +0000

    [tripleo_transfer] Add more thorough testing

    In this patch we add some tests to verify that the correct
    files are copied over, are exactly the same and the files
    in the destination are removed.

    Related-Bug: #1925260

    Change-Id: I1dd246badb8d7d00abfb72cf7451856bf49263cc
    (cherry picked from commit a025bfec8fa9b807a89e89a82a0c6921bf158e40)

tags: added: in-stable-victoria
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to tripleo-ansible (stable/ussuri)

Related fix proposed to branch: stable/ussuri
Review: https://review.opendev.org/c/openstack/tripleo-ansible/+/799888

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/787326
Committed: https://opendev.org/openstack/tripleo-heat-templates/commit/5ef7f9330abb2b8d9fa981ef9a9a4824bf069ac7
Submitter: "Zuul (22348)"
Branch: master

commit 5ef7f9330abb2b8d9fa981ef9a9a4824bf069ac7
Author: Damien Ciabrini <email address hidden>
Date: Wed Apr 21 09:59:24 2021 +0200

    FFU: change transfer parameters for database resync

    Configure tripleo_transfer's flags to mimick the way a galera SST
    transfers the entire database between two nodes: in-place copy,
    no delta-transfer, no compression, selective file copy.

    Tested by running an FFU from Queens to Train on an composable
    HA overcloud.

    Change-Id: I557962e77d6558281603b40d0adf01b912e8c2f9
    Closes-Bug: #1925260

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/wallaby)

Fix proposed to branch: stable/wallaby
Review: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/799985

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to tripleo-ansible (stable/victoria)

Reviewed: https://review.opendev.org/c/openstack/tripleo-ansible/+/799468
Committed: https://opendev.org/openstack/tripleo-ansible/commit/db0bf528a4a5a1e9ece0f0186cf14fba4d60d5b4
Submitter: "Zuul (22348)"
Branch: stable/victoria

commit db0bf528a4a5a1e9ece0f0186cf14fba4d60d5b4
Author: Damien Ciabrini <email address hidden>
Date: Mon Apr 19 18:24:03 2021 +0200

    tripleo-transfer: ability to customize files transfer options

    There are use cases where it's useful to be able to explicitly
    exclude files from a transfer request. For example when syncing galera
    database, we don't want to copy coredumps, local galera state file...

    Add the ability to explicitly include or exclude files by specifying
    a list of files or wildcard-based patterns.

    Also make the default transfer options configurable, to best suit
    transfer use cases.

    Related-Bug: #1925260

    Change-Id: I1e88907db0bb26d52c92cb996eb56767e06b3874
    (cherry picked from commit 6f75fd172326b010e680fc0bdda8d880e256a58e)
    (cherry picked from commit 23531b28c42f9e68bb82253dc52432f20fde8e1e)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to tripleo-ansible (stable/ussuri)

Related fix proposed to branch: stable/ussuri
Review: https://review.opendev.org/c/openstack/tripleo-ansible/+/800209

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/wallaby)

Reviewed: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/799985
Committed: https://opendev.org/openstack/tripleo-heat-templates/commit/f972c371008cd5e6b32b01d3710ea81e8dd72f2e
Submitter: "Zuul (22348)"
Branch: stable/wallaby

commit f972c371008cd5e6b32b01d3710ea81e8dd72f2e
Author: Damien Ciabrini <email address hidden>
Date: Wed Apr 21 09:59:24 2021 +0200

    FFU: change transfer parameters for database resync

    Configure tripleo_transfer's flags to mimick the way a galera SST
    transfers the entire database between two nodes: in-place copy,
    no delta-transfer, no compression, selective file copy.

    Tested by running an FFU from Queens to Train on an composable
    HA overcloud.

    Change-Id: I557962e77d6558281603b40d0adf01b912e8c2f9
    Closes-Bug: #1925260
    (cherry picked from commit 5ef7f9330abb2b8d9fa981ef9a9a4824bf069ac7)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to tripleo-ansible (stable/ussuri)

Reviewed: https://review.opendev.org/c/openstack/tripleo-ansible/+/799888
Committed: https://opendev.org/openstack/tripleo-ansible/commit/1b4b3725eb2063a9aa75c732d6c8f19b1610d576
Submitter: "Zuul (22348)"
Branch: stable/ussuri

commit 1b4b3725eb2063a9aa75c732d6c8f19b1610d576
Author: Jesse Pretorius (odyssey4me) <email address hidden>
Date: Wed Mar 3 19:52:27 2021 +0000

    [tripleo_transfer] Add more thorough testing

    In this patch we add some tests to verify that the correct
    files are copied over, are exactly the same and the files
    in the destination are removed.

    Note: this backport is a dependency of
    I1e88907db0bb26d52c92cb996eb56767e06b3874

    Related-Bug: #1925260

    Change-Id: I1dd246badb8d7d00abfb72cf7451856bf49263cc
    (cherry picked from commit a025bfec8fa9b807a89e89a82a0c6921bf158e40)
    (cherry picked from commit 05c4669503612105439ab4d1a408cf7eddfdc179)

tags: added: in-stable-ussuri
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.opendev.org/c/openstack/tripleo-ansible/+/800209
Committed: https://opendev.org/openstack/tripleo-ansible/commit/d5996a3e1752d42221971ab80742ece5b864e3f0
Submitter: "Zuul (22348)"
Branch: stable/ussuri

commit d5996a3e1752d42221971ab80742ece5b864e3f0
Author: Damien Ciabrini <email address hidden>
Date: Mon Apr 19 18:24:03 2021 +0200

    tripleo-transfer: ability to customize files transfer options

    There are use cases where it's useful to be able to explicitly
    exclude files from a transfer request. For example when syncing galera
    database, we don't want to copy coredumps, local galera state file...

    Add the ability to explicitly include or exclude files by specifying
    a list of files or wildcard-based patterns.

    Also make the default transfer options configurable, to best suit
    transfer use cases.

    Related-Bug: #1925260

    Change-Id: I1e88907db0bb26d52c92cb996eb56767e06b3874
    (cherry picked from commit 6f75fd172326b010e680fc0bdda8d880e256a58e)
    (cherry picked from commit 23531b28c42f9e68bb82253dc52432f20fde8e1e)
    (cherry picked from commit db0bf528a4a5a1e9ece0f0186cf14fba4d60d5b4)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/victoria)

Fix proposed to branch: stable/victoria
Review: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/800863

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 14.2.0

This issue was fixed in the openstack/tripleo-heat-templates 14.2.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/victoria)

Reviewed: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/800863
Committed: https://opendev.org/openstack/tripleo-heat-templates/commit/7e08d33684bf110618a3f0073ecf757752d6fd8b
Submitter: "Zuul (22348)"
Branch: stable/victoria

commit 7e08d33684bf110618a3f0073ecf757752d6fd8b
Author: Damien Ciabrini <email address hidden>
Date: Wed Apr 21 09:59:24 2021 +0200

    FFU: change transfer parameters for database resync

    Configure tripleo_transfer's flags to mimick the way a galera SST
    transfers the entire database between two nodes: in-place copy,
    no delta-transfer, no compression, selective file copy.

    Tested by running an FFU from Queens to Train on an composable
    HA overcloud.

    Change-Id: I557962e77d6558281603b40d0adf01b912e8c2f9
    Closes-Bug: #1925260
    (cherry picked from commit 5ef7f9330abb2b8d9fa981ef9a9a4824bf069ac7)
    (cherry picked from commit f972c371008cd5e6b32b01d3710ea81e8dd72f2e)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to tripleo-ansible (stable/train)

Reviewed: https://review.opendev.org/c/openstack/tripleo-ansible/+/787343
Committed: https://opendev.org/openstack/tripleo-ansible/commit/62a07388149c399156efd6a2be09ef2d74f3dea9
Submitter: "Zuul (22348)"
Branch: stable/train

commit 62a07388149c399156efd6a2be09ef2d74f3dea9
Author: Damien Ciabrini <email address hidden>
Date: Mon Apr 19 18:24:03 2021 +0200

    tripleo-transfer: ability to customize files transfer options

    There are use cases where it's useful to be able to explicitly
    exclude files from a transfer request. For example when syncing galera
    database, we don't want to copy coredumps, local galera state file...

    Add the ability to explicitly include or exclude files by specifying
    a list of files or wildcard-based patterns.

    Also make the default transfer options configurable, to best suit
    transfer use cases.

    Related-Bug: #1925260

    Conflicts:
            tripleo_ansible/roles/tripleo-transfer/molecule/default/playbook.yml
            tripleo_ansible/roles/tripleo_transfer/molecule/default/converge.yml
            tripleo_ansible/roles/tripleo_transfer/molecule/default/molecule.yml
            tripleo_ansible/roles/tripleo_transfer/molecule/default/verify.yml

    Removed the test part that was specific to Ussuri

    Change-Id: I1e88907db0bb26d52c92cb996eb56767e06b3874
    (cherry picked from commit 6f75fd172326b010e680fc0bdda8d880e256a58e)
    (cherry picked from commit 23531b28c42f9e68bb82253dc52432f20fde8e1e)
    (cherry picked from commit db0bf528a4a5a1e9ece0f0186cf14fba4d60d5b4)
    (cherry picked from commit d5996a3e1752d42221971ab80742ece5b864e3f0)

tags: added: in-stable-train
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 13.5.0

This issue was fixed in the openstack/tripleo-heat-templates 13.5.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on tripleo-heat-templates (stable/train)

Change abandoned by "James Slagle <email address hidden>" on branch: stable/train
Review: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/787344
Reason: Abandoning this patch per the TripleO Patch Abandonment guidelines
(https://specs.openstack.org/openstack/tripleo-specs/specs/policy/patch-abandonment.html).
If you wish to have this restored and cannot do so yourself, please reach out
via #tripleo on OFTC or the OpenStack Dev mailing list.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 15.1.0

This issue was fixed in the openstack/tripleo-heat-templates 15.1.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.