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 puppet-users+unsubscr...@googlegroups.com.
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