Hi,

I'm trying to deploy a proxy and two storage servers (VMs, it's a test environment). I started following the examples in https://forge.puppetlabs.com/puppetlabs/swift and made some progress (see attached):

- on 2 storage servers the swift processes start
- on proxy server they do not start

Closer inspection show that:

- rings on each storage server have only the local devices
- there are no rings at all on the proxy

I'm clearly 'doing it wrong' and not setting up the exported resources correctly. Any pointers appreciated!

Cheers

Mark

--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/5563C207.3050601%40catalyst.net.nz.
For more options, visit https://groups.google.com/d/optout.
# stor.pp
class profiles::swift::stor {

  # ... 3 rings
  define profiles::swift::ringadder (  
  ) {
    notify {"create ring device for $name":}
    @@ring_object_device { "${ipaddress_br_mgmt}:60${name}0/$name":
        #region                         => hiera('profiles::swift::region', 1),
        zone                           => hiera('profiles::swift::zone', 1),
        weight                         => hiera('profiles::swift::weight', 1),
    }
    @@ring_container_device { "${ipaddress_br_mgmt}:60${name}1/$name":
        #region                         => hiera('profiles::swift::region', 1),
        zone                           => hiera('profiles::swift::zone', 1),
        weight                         => hiera('profiles::swift::weight', 1),
    }
    @@ring_account_device { "${ipaddress_br_mgmt}:60${name}2/$name":
        #region                         => hiera('profiles::swift::region', 1),
        zone                           => hiera('profiles::swift::zone', 1),
        weight                         => hiera('profiles::swift::weight', 1),
    }
  }

  # should we use loopback? (yes ATM)
  $loopback = hiera('profiles::swift::loopback')
  if $loopback {
    notify {'node will use loopback device storage':}
    # array of device numbers - [0, 1]
    $devices = hiera('profiles::swift::loopback::devices')
    swift::storage::loopback { $devices:
       seek                            => 
hiera('profiles::swift::loopback::size'),
       require                         => Class['swift'],
    }
  
  } else {
    # TODO
    notify {'node will use disk device storage':}
  }

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

  class { 'swift::ringbuilder':
    part_power                         => 
hiera('profiles::swift::ringbuilder::part_power'),
    replicas                           => 
hiera('profiles::swift::ringbuilder::replicas'),
    min_part_hours                     => 
hiera('profiles::swift::ringbuilder::min_part_hours'),
  }

  profiles::swift::ringadder{$devices:}

  Swift::Ringsync<<||>>

}

# pxy.pp
class profiles::swift::pxy {

  class { 'swift::proxy':
    proxy_local_net_ip                 => $ipaddress_br_mgmt,
    port                               => hiera('profiles::swift::proxy_port'),
    pipeline                           => hiera('profiles::swift::pipeline'),
    account_autocreate                 => false,
  }

  class { 'swift::proxy::keystone':
    operator_roles                     => 
hiera('profiles::swift::operator_roles'),
    is_admin                           => true,
  }

  class { 'swift::proxy::authtoken':
    admin_token                        => hiera('keystone::admin_token'),
    auth_host                          => hiera('profiles::keystone::host'),
  }

  class { 'swift::proxy::cache':
    memcache_servers                   => 
hiera('profiles::swift::memcache_servers'),
  }

  class { 'swift::proxy::healthcheck':
  }

  class { 'swift::ringbuilder':
    part_power                         => 
hiera('profiles::swift::ringbuilder::part_power'),
    replicas                           => 
hiera('profiles::swift::ringbuilder::replicas'),
    min_part_hours                     => 
hiera('profiles::swift::ringbuilder::min_part_hours'),
  }

  Swift::Ringsync<<||>>
}

Reply via email to