Storage filter fails with not in catalog

Bug #1466707 reported by Mark Kirkwood
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
puppet-swift
Fix Released
Medium
Adam Vinsh

Bug Description

I am using puppet 3.8.1 with puppetdb 2.3.5 on Ubuntu14.04. The version of puppet-swift is 4.1.0 (icehouse branch).

Adding the recon filter into the pipeline for object-server, e.g:

  class { 'swift::storage':
    storage_local_net_ip => $ipaddress_br_mgmt,
  }

  Swift::Storage::Server {
    devices => '/srv/node',
    storage_local_net_ip => $ipaddress_br_mgmt,
    incoming_chmod => 'a=r,u+w,D+x',
    outgoing_chmod => 'a=r,u+w,D+x',
  }

  swift::storage::server { '6000':
    type => 'object',
    config_file_path => 'object-server.conf',
    pipeline => ['recon','object-server'],
  }

results in:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid relationship: Concat::Fragment[swift-object-6000] { before => Swift::Storage::Filter::Recon[object] }, because Swift::Storage::Filter::Recon[object] doesn't seem to be in the catalog
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

Revision history for this message
Mark Kirkwood (mark-kirkwood) wrote :

After some head scratching it occurred to me that the structure of the filters (i.e in their own directory/namespace) might mean they are not able be loaded implicitly by the 'before =>' condition.

Getting out the hammer and 'making' the recon define get loaded (see attached patch) seems to bear this out (the ). This is probably not the ideal way to solve this, but at least now the cause is obvious.

Revision history for this message
Mark Kirkwood (mark-kirkwood) wrote :

Looking at how the example manifest (tests/site.pp) handles the proxy case, it seems that the correct solution here is to load any additional storage filter middleware in the manifest. So perhaps a documentation/example change to help people use this module (along the lines of the attached).

Matt Fischer (mfisch)
Changed in puppet-swift:
assignee: nobody → Adam Vinsh (adam-vinsh)
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-swift (master)

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

Changed in puppet-swift:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-swift (master)

Reviewed: https://review.openstack.org/256128
Committed: https://git.openstack.org/cgit/openstack/puppet-swift/commit/?id=1b3864d211e1844eca4c9078640d05245b192d4c
Submitter: Jenkins
Branch: master

commit 1b3864d211e1844eca4c9078640d05245b192d4c
Author: Adam Vinsh <email address hidden>
Date: Thu Dec 10 17:55:35 2015 -0500

    Document and example for storage filters use

    swift::storage::filter::recon
    swift::storage::filter::healthcheck

    Change-Id: I770a201b36fa82e5063c02e5d84d4c231211919b
    Closes-Bug: #1466707

Changed in puppet-swift:
status: In Progress → Fix Released
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.