From 670ba834f54918ae0481498fe66c5adf94e96d52 Mon Sep 17 00:00:00 2001 From: Alessandro Costantini <alessandro.costantini@cnaf.infn.it> Date: Wed, 9 Mar 2016 10:47:17 +0100 Subject: [PATCH] New configuration to install radosgw in CEPH to use as swift backend --- manifests/profile/fastcgi.pp | 3 -- manifests/profile/radosgw.pp | 46 +++++++++++------ manifests/role/storage.pp | 97 +++++++++++------------------------- 3 files changed, 58 insertions(+), 88 deletions(-) diff --git a/manifests/profile/fastcgi.pp b/manifests/profile/fastcgi.pp index 03884f8..b9920dc 100644 --- a/manifests/profile/fastcgi.pp +++ b/manifests/profile/fastcgi.pp @@ -1,8 +1,5 @@ class iaas::profile::fastcgi ( $enable_fastcgi = false, - $enable_rgw = false, - $os_endpoint = $iaas::params::main_hostname, - $os_admin_token = $iaas::params::os_admin_token, ) { if $enable_fastcgi { diff --git a/manifests/profile/radosgw.pp b/manifests/profile/radosgw.pp index af2af94..d6cc917 100644 --- a/manifests/profile/radosgw.pp +++ b/manifests/profile/radosgw.pp @@ -1,15 +1,14 @@ class iaas::profile::radosgw ( - $enable_fastcgi = false, $enable_rgw = false, $os_endpoint = $iaas::params::main_hostname, $os_admin_token = $iaas::params::os_admin_token, + $secret_user = undef, ) { if $enable_rgw { ceph::rgw { 'radosgw.gateway': pkg_radosgw => $::ceph::params::pkg_radosgw, rgw_data => "/var/lib/ceph/radosgw/ceph-radosgw.gateway", -# user => $ceph::profile::params::rgw_user, user => 'root', keyring_path => "/etc/ceph/ceph.client.radosgw.gateway.keyring", log_file => '/var/log/ceph/radosgw.log', @@ -17,23 +16,38 @@ class iaas::profile::radosgw ( rgw_socket_path => '/var/run/ceph/ceph.radosgw.gateway.fastcgi.sock', syslog => true, rgw_port => '80', -# frontend_type => 'civetweb', -# rgw_frontends => "civetweb port=$::hostname:7480", - frontend_type => 'apache-fastcgi', - rgw_frontends => "fastcgi socket_port=9000 socket_host=$::hostname", + frontend_type => 'civetweb', + rgw_frontends => "civetweb port=7481", rgw_print_continue => 'false', } - -# ceph::rgw::keystone { 'radosgw.gateway': -# rgw_keystone_admin_token => $os_admin_token, -# rgw_keystone_url => "http://${os_endpoint}:5000", -# rgw_keystone_version => 'v2.0', -# rgw_keystone_accepted_roles => '_member_, Member', -# rgw_keystone_token_cache_size => 500, -# rgw_keystone_revocation_interval => 600, -# nss_db_path => '/var/lib/ceph/nss', -# user => 'root', +# exec { "ocp_user_create": +# command => "radosgw-admin user create --uid=ocpuser --display-name=ocpuser", +# path => "/usr/local/bin/:/bin/:/usr/bin/:/sbin/:/usr/sbin/", +# } -> +# exec { "ocp_user_buckets": +# command => "radosgw-admin user modify --uid=ocpuser --max-buckets=0", +# path => "/usr/local/bin/:/bin/:/usr/bin/:/sbin/:/usr/sbin/", +# } -> +# exec { "ocp_subuser_create": +# command => "radosgw-admin subuser create --uid=ocpuser --subuser=ocpuser:swift --access=full", +# path => "/usr/local/bin/:/bin/:/usr/bin/:/sbin/:/usr/sbin/", +# } -> +# exec { "ocp_key_create": +# command => "radosgw-admin key create --subuser=ocpuser:swift --key-type=swift --secret=$secret_user", +# path => "/usr/local/bin/:/bin/:/usr/bin/:/sbin/:/usr/sbin/", # } + + ceph::rgw::keystone { 'radosgw.gateway': + rgw_keystone_admin_token => $os_admin_token, + rgw_keystone_url => "http://${os_endpoint}:5000", + rgw_keystone_version => 'v2.0', + rgw_keystone_accepted_roles => '_member_, Member, admin', + rgw_keystone_token_cache_size => 500, + rgw_keystone_revocation_interval => 600, + nss_db_path => '/var/lib/ceph/nss', + user => 'root', + } + } } diff --git a/manifests/role/storage.pp b/manifests/role/storage.pp index a30c38a..5c636d8 100644 --- a/manifests/role/storage.pp +++ b/manifests/role/storage.pp @@ -8,7 +8,7 @@ $ceph_secret_cinder = 'AQAvxQpVKJ03KxAADFv78tedrAWZx1SoRdsQUA==', $ceph_secret_cinderbkup = 'AQBKvuVUMHvaGhAADT6nvBv9LFs7dqpB8Kis0Q==', $ceph_bootstrap_mdskey = 'AQBxkvVU4F+VDBAArxUf+8s0LbxIxNrbyEC1kw==', $ceph_mon_key = 'AQApksZUIJhXJxAAEHVW/dbL1OeLA7Om++zdVw==', -$ceph_secret_radosgw = 'AQCbGddWJyqjHBAAomrJkvccCHsWaNcIif65mg==', +#$ceph_secret_radosgw = 'AQCbGddWJyqjHBAAomrJkvccCHsWaNcIif65mg==', $ceph_secret_radosgw_gateway = 'AQBNN9dWbU3SORAAERedNbXc0gxm0edAfayf2w==', ##OSD+POOL configuration @@ -17,7 +17,7 @@ $osd_configure = true, ##CEPH - no override $ceph_fsid = $iaas::params::ceph_fsid, # Uncomment if auth_type is different from 'cephx' -$ceph_auth_type = $iaas::params::ceph_auth_type, +#$ceph_auth_type = $iaas::params::ceph_auth_type, $ceph_mon_initmembers = $iaas::params::ceph_mon_initmemb, $ceph_mon_host = $iaas::params::ceph_mon_host, $ceph_osdpool_pgnum = $iaas::params::ceph_osdpool_pgnum, @@ -29,20 +29,30 @@ $ceph_public_network = $iaas::params::ceph_public_network, $ceph_journal_size = $iaas::params::ceph_journal_size, ##CEPH - override -$ceph_pool = {'images' => { pg_num => '128'}, - 'volumes' => { pg_num => '128'}, - 'vms' => { pg_num => '128'}, - 'backups' => { pg_num => '128'}}, +$ceph_pool = {'images' => { pg_num => '8'}, + 'volumes' => { pg_num => '64'}, + 'vms' => { pg_num => '16'}, + 'backups' => { pg_num => '32'}, + '.rgw.root' => { pg_num => '4'}, + '.rgw.control' => { pg_num => '4'}, + '.rgw.gc' => { pg_num => '4'}, + '.rgw.buckets' => { pg_num => '32'}, + '.rgw.buckets.index' => { pg_num => '4'}, + '.rgw.buckets.extra' => { pg_num => '4'}, + '.log' => { pg_num => '4'}, + '.intent-log' => { pg_num => '4'}, + '.usage' => { pg_num => '4'}, + '.users' => { pg_num => '4'}, + '.users.email' => { pg_num => '4'}, + '.users.swift' => { pg_num => '4'}, + '.users.uid' => { pg_num => '4'}}, + $ceph_osd = {'/dev/vdb'=> { journal => '/osd1'}, '/dev/vdc'=> { journal => '/osd2'}}, ##RADOSGW $rgw_enable = false, -##OPENSTACK -#$os_endpoint = $iaas::params::main_hostname, -#$os_admin_token = $iaas::params::os_admin_token, - ) { # Ceph @@ -101,7 +111,6 @@ $rgw_enable = false, 'client.radosgw.gateway': secret => $ceph_secret_radosgw_gateway, cap_mon => 'allow rwx', -# cap_osd => 'allow class-read object_prefix rbd_children, allow rwx pool=objstore', cap_osd => 'allow rwx', inject => 'true', inject_as_id => 'mon.', @@ -109,60 +118,13 @@ $rgw_enable = false, } -# if $rgw_enable { -# -# ceph::rgw::apache_fastcgi { 'radosgw.gateway': -# admin_email => 'root@localhost', -# docroot => '/var/www', -# fcgi_file => '/var/www/rgw.fcgi', -# rgw_dns_name => $::fqdn, -# rgw_port => 80, -# rgw_socket_path => $::ceph::params::rgw_socket_path, -# syslog => true, -# ceph_apache_repo => true, -# } -> -# -# ceph::rgw { 'radosgw.gateway': -# pkg_radosgw => $::ceph::params::pkg_radosgw, -# rgw_data => "/var/lib/ceph/radosgw/ceph-radosgw.gateway", -## user => $ceph::profile::params::rgw_user, -# user => 'www-data', -# keyring_path => "/etc/ceph/ceph.client.radosgw.gateway.keyring", -# log_file => '/var/log/ceph/radosgw.log', -# rgw_dns_name => $::fqdn, -# rgw_socket_path => $::ceph::params::rgw_socket_path, -# syslog => true, -# rgw_port => '80', -## frontend_type => 'civetweb', -## rgw_frontends => 'civetweb port=$::hostname:7480', -# frontend_type => 'apache-fastcgi', -# rgw_frontends => "fastcgi socket_port=9000 socket_host=$::hostname", -# rgw_print_continue => 'false', -# } -> -# -# ceph::rgw::keystone { 'radosgw.gateway': -# rgw_keystone_admin_token => $iaas::params::os_admin_token, -# rgw_keystone_url => "http://${os_endpoint}:5000", -# rgw_keystone_version => 'v2.0', -# rgw_keystone_accepted_roles => '_member_, Member', -# rgw_keystone_token_cache_size => 500, -# rgw_keystone_revocation_interval => 600, -# nss_db_path => '/var/lib/ceph/nss', -# user => 'www-data', -# } -# } - # Classes -# class { 'iaas::profile::base': -# dns_servers => $iaas::params::dns_servers, -# dns_searchdomain => $iaas::params::dns_searchdomain, -# } -> # CEPH class {'ceph::profile::params': fsid => $iaas::params::ceph_fsid, # Uncomment if auth_type is different from 'cephx' - authentication_type => $iaas::params::ceph_auth_type, +# authentication_type => $iaas::params::ceph_auth_type, mon_initial_members => $iaas::params::ceph_mon_initmemb, mon_host => $iaas::params::ceph_mon_host, osd_pool_default_pg_num => $iaas::params::ceph_osdpool_pgnum, @@ -173,21 +135,18 @@ $rgw_enable = false, public_network => $iaas::params::ceph_public_network, mon_key => $ceph_mon_key, osd_journal_size => $iaas::params::ceph_journal_size, - enable_rgw => true, -# frontend_type => 'civetweb', -# rgw_frontends => "civetweb port=$::hostname:7480", - fastcgi => true, + enable_rgw => $rgw_enable, + fastcgi => $rgw_enable, } -> - - class { 'ceph::profile::base': } -> class { 'iaas::profile::fastcgi': - enable_fastcgi => true, + enable_fastcgi => $rgw_enable, } -> + class { 'ceph::profile::base': } -> class { 'ceph::profile::mon': } -> -# class { 'ceph::profile::rgw': } -> - class { 'ceph::keys': } + class { 'ceph::keys': } class { 'iaas::profile::radosgw': - enable_rgw => true, + enable_rgw => $rgw_enable, +# secret_user => $ceph_secret_radosgw, } } -- GitLab