Swift ringbuilding logic coupled to Controller/ObjectStorage roles

Bug #1665641 reported by Steven Hardy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Medium
Christian Schwede

Bug Description

As discussed in https://review.openstack.org/#/c/435191/ there's a coupling recently introduced between the new tarball based swift ringbuilding logic, and the Controller/ObjectStorage roles.

This isn't a great fit for our fully flexible "composable roles" architecture, so we need to explore ways to rework these interfaces so the logic is encapsulated in either a service template or a puppet-tripleo profile.

Steven Hardy (shardy)
Changed in tripleo:
milestone: none → pike-1
assignee: nobody → Christian Schwede (cschwede)
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)

Fix proposed to branch: master
Review: https://review.openstack.org/436247

Changed in tripleo:
status: Triaged → In Progress
Revision history for this message
Christian Schwede (cschwede) wrote :

This also applies when one is completely removing Swift services from the controller node. In that case you will see warnings like this in the logs:

Apr 3 02:36:02 centos-7-2-node-osic-cloud1-s3500-8222762-507178 os-collect-config: [2017-04-03 02:36:02,951] (heat-config) [INFO] {"deploy_stdout": "/tmp/tmp.HTyPQsWnFn /var/lib/heat-config/heat-config-script\n/var/lib/heat-config/heat-config-script\n", "deploy_stderr": "/var/lib/heat-config/heat-config-script/efb19041-e82e-420a-a0ed-005c37f61f60: line 8: swift-recon: command not found\ntar: Removing leading `/' from member names\ntar: /etc/swift/*.builder: Cannot stat: No such file or directory\ntar: /etc/swift/*.ring.gz: Cannot stat: No such file or directory\ntar: /etc/swift/backups/*: Cannot stat: No such file or directory\ntar: Exiting with failure status due to previous errors\n", "deploy_status_code": 0}

Two things happening here: swift-recon is not installed (because the swift services are not part of this role) and no rings are created, and therefore tar is reporting an error as well. However, the status_code is 0, and thus Puppet continues to run - but this one will be also fixed by working on this bug.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to puppet-tripleo (master)

Reviewed: https://review.openstack.org/435556
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=3412150d91dc7fe6e9f168b4ffdbb4d54c39fc55
Submitter: Jenkins
Branch: master

commit 3412150d91dc7fe6e9f168b4ffdbb4d54c39fc55
Author: Christian Schwede <email address hidden>
Date: Fri Feb 17 16:31:52 2017 +0000

    Migrate Swift ring handling from tripleo-heat-templates to puppet-tripleo

    This allows decoupling the Swift ringbuilding logic from the Controller
    and ObjectStorage roles. A follow up patch will modify
    tripleo-heat-templates and use this modified class.

    Actually this downloads the Swift rings even if ring building is
    disabled or if there is no need to rebalance. This is required, because
    operators can disable ring building, but use the same mechanism to
    distribute pre-built rings to the nodes.

    If ring building is disabled, these won't be uploaded at the end back to
    the undercloud.

    Related-Bug: 1665641
    Change-Id: Ifd6fa5b398d98e8998630ea0c9a2ce9867ceba2b

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

Related fix proposed to branch: stable/ocata
Review: https://review.openstack.org/455074

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

Change abandoned by Christian Schwede (<email address hidden>) on branch: stable/ocata
Review: https://review.openstack.org/455074
Reason: Abandoning until depending patch on master merged

Changed in tripleo:
milestone: pike-1 → pike-2
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.openstack.org/436247
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=76c1c0cbba38b2f25290f5ad80e38ddd97ae834b
Submitter: Jenkins
Branch: master

commit 76c1c0cbba38b2f25290f5ad80e38ddd97ae834b
Author: Christian Schwede <email address hidden>
Date: Mon Feb 20 21:22:25 2017 +0000

    Decouple Swift ringbuilding logic

    This reverts commit b323f8a16035549d84cdec4718380bde3d23d6c3 and uses
    the new logic in puppet-tripleo (see Ifd6fa5b398d98e8998630ea0c9a2ce9867ceba2b
    ), basically doing the same.

    Closes-Bug: 1665641
    Change-Id: Ib5cb0578be2993af0a0b8675005d838640bdb139

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/ocata)

Fix proposed to branch: stable/ocata
Review: https://review.openstack.org/455669

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

Reviewed: https://review.openstack.org/455074
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=fb28647f7d46bb7f145c25f9adf558d823eb292c
Submitter: Jenkins
Branch: stable/ocata

commit fb28647f7d46bb7f145c25f9adf558d823eb292c
Author: Christian Schwede <email address hidden>
Date: Fri Feb 17 16:31:52 2017 +0000

    Migrate Swift ring handling from tripleo-heat-templates to puppet-tripleo

    This allows decoupling the Swift ringbuilding logic from the Controller
    and ObjectStorage roles. A follow up patch will modify
    tripleo-heat-templates and use this modified class.

    Actually this downloads the Swift rings even if ring building is
    disabled or if there is no need to rebalance. This is required, because
    operators can disable ring building, but use the same mechanism to
    distribute pre-built rings to the nodes.

    If ring building is disabled, these won't be uploaded at the end back to
    the undercloud.

    Related-Bug: 1665641
    Change-Id: Ifd6fa5b398d98e8998630ea0c9a2ce9867ceba2b
    (cherry picked from commit 3412150d91dc7fe6e9f168b4ffdbb4d54c39fc55)

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

Reviewed: https://review.openstack.org/455669
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=96d3e644837565d3a8b4b728ace57156000f3134
Submitter: Jenkins
Branch: stable/ocata

commit 96d3e644837565d3a8b4b728ace57156000f3134
Author: Christian Schwede <email address hidden>
Date: Mon Feb 20 21:22:25 2017 +0000

    Decouple Swift ringbuilding logic

    This reverts commit b323f8a16035549d84cdec4718380bde3d23d6c3 and uses
    the new logic in puppet-tripleo, basically doing the same.

    Closes-Bug: 1665641
    Depends-On: Ifd6fa5b398d98e8998630ea0c9a2ce9867ceba2b
    Change-Id: Ib5cb0578be2993af0a0b8675005d838640bdb139
    (cherry picked from commit 76c1c0cbba38b2f25290f5ad80e38ddd97ae834b)

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

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

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

This issue was fixed in the openstack/tripleo-heat-templates 7.0.0.0b2 development milestone.

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

Related fix proposed to branch: stable/newton
Review: https://review.openstack.org/503810

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

Fix proposed to branch: stable/newton
Review: https://review.openstack.org/503818

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

Reviewed: https://review.openstack.org/503810
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=f34138d066f83aa87ecf39e8979b1b87db3aa2ea
Submitter: Jenkins
Branch: stable/newton

commit f34138d066f83aa87ecf39e8979b1b87db3aa2ea
Author: Christian Schwede <email address hidden>
Date: Fri Feb 17 16:31:52 2017 +0000

    Migrate Swift ring handling from tripleo-heat-templates to puppet-tripleo

    This allows decoupling the Swift ringbuilding logic from the Controller
    and ObjectStorage roles. A follow up patch will modify
    tripleo-heat-templates and use this modified class.

    Actually this downloads the Swift rings even if ring building is
    disabled or if there is no need to rebalance. This is required, because
    operators can disable ring building, but use the same mechanism to
    distribute pre-built rings to the nodes.

    If ring building is disabled, these won't be uploaded at the end back to
    the undercloud.

    Related-Bug: 1665641
    Change-Id: Ifd6fa5b398d98e8998630ea0c9a2ce9867ceba2b
    (cherry picked from commit 3412150d91dc7fe6e9f168b4ffdbb4d54c39fc55)

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

Reviewed: https://review.openstack.org/503818
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=f2fe7f4173bd41f18316f82c8a142a620eb15ac6
Submitter: Jenkins
Branch: stable/newton

commit f2fe7f4173bd41f18316f82c8a142a620eb15ac6
Author: Christian Schwede <email address hidden>
Date: Mon Feb 20 21:22:25 2017 +0000

    Decouple Swift ringbuilding logic

    This reverts commit b323f8a16035549d84cdec4718380bde3d23d6c3 and uses
    the new logic in puppet-tripleo (see Ifd6fa5b398d98e8998630ea0c9a2ce9867ceba2b
    ), basically doing the same.

    Closes-Bug: 1665641
    Change-Id: Ib5cb0578be2993af0a0b8675005d838640bdb139
    (cherry picked from commit 76c1c0cbba38b2f25290f5ad80e38ddd97ae834b)

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

This issue was fixed in the openstack/tripleo-heat-templates 5.3.3 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.