• R/O
  • HTTP
  • SSH
  • HTTPS

grid-chef-repo: Commit

Grid環境構築用のChefリポジトリです。


Commit MetaInfo

Revisionc3bf4f785bd57e2a41f83bc49fe23d8432aed498 (tree)
Time2017-01-01 13:20:07
Authorwhitestar <whitestar@gaea...>
Commiterwhitestar

Log Message

adds Samba schema setup feature.

Change Summary

Incremental Difference

--- a/cookbooks/openldap-grid/CHANGELOG.md
+++ b/cookbooks/openldap-grid/CHANGELOG.md
@@ -1,5 +1,9 @@
11 # CHANGELOG for openldap-grid
22
3+0.2.3
4+-----
5+- adds Samba schema setup feature.
6+
37 0.2.2
48 -----
59 - refactoring.
--- a/cookbooks/openldap-grid/README.md
+++ b/cookbooks/openldap-grid/README.md
@@ -31,9 +31,12 @@ Attributes
3131 |`['openldap']['nss-ldapd']['base']`|String||`dc=example,dc=net`|
3232 |`['openldap']['nss-ldapd']['<nscd.conf key>']`|String|other nscd.conf key||
3333 |`['openldap']['ldap_lookup_nameservices']`|Array|['passwd', 'group']|`empty`|
34+|`['openldap']['server']['extra_schema']['samba']`|Boolean|add the schema for Samba (ver. 0.2.3 or later)|`false`|
3435 |`['openldap']['server']['ldaps']`|Boolean|enable ldaps (ver. 0.1.2 or later)|`false`|
3536 |`['openldap']['server']['KRB5_KTNAME']`|String|e.g. `'/etc/krb5.keytab'` (ver. 0.1.2 or later)|`nil`|
3637
38+['openldap']['extra_schema']
39+
3740 Usage
3841 -----
3942
--- a/cookbooks/openldap-grid/attributes/default.rb
+++ b/cookbooks/openldap-grid/attributes/default.rb
@@ -45,5 +45,8 @@ default['openldap']['nss-ldapd']['base'] = 'dc=example,dc=net'
4545 default['openldap']['ldap_lookup_nameservices'] = [] # e.g. ['passwd', 'group']
4646 #default['openldap'][''] =
4747
48+default['openldap']['server']['extra_schema'] = {
49+ 'samba' => false,
50+}
4851 default['openldap']['server']['ldaps'] = false
4952 default['openldap']['server']['KRB5_KTNAME'] = nil # e.g. '/etc/krb5.keytab'
--- a/cookbooks/openldap-grid/metadata.rb
+++ b/cookbooks/openldap-grid/metadata.rb
@@ -5,7 +5,7 @@ maintainer_email ''
55 license 'Apache 2.0'
66 description 'Installs/Configures openldap'
77 long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
8-version '0.2.2'
8+version '0.2.3'
99 source_url 'http://scm.osdn.jp/gitroot/metasearch/grid-chef-repo.git'
1010 issues_url 'https://osdn.jp/projects/metasearch/ticket'
1111
--- a/cookbooks/openldap-grid/recipes/server.rb
+++ b/cookbooks/openldap-grid/recipes/server.rb
@@ -102,3 +102,41 @@ You must setup OpenLDAP configurations in the first installation:
102102 edit /etc/openldap/slap.d configurations
103103 $ sudo service slapd restart
104104 EOM
105+
106+schema_dir = '/etc/ldap/schema'
107+if node['openldap']['server']['extra_schema']['samba']
108+ pkg = 'samba'
109+ resources(package: pkg) rescue package pkg do
110+ action :install
111+ end
112+
113+ code_str = ''
114+ case node['platform_family']
115+ when 'debian'
116+ code_str = <<-"EOH"
117+ cp /usr/share/doc/samba/examples/LDAP/samba.schema.gz #{schema_dir}/
118+ cp /usr/share/doc/samba/examples/LDAP/samba.ldif.gz #{schema_dir}/
119+ gunzip #{schema_dir}/samba.schema.gz
120+ gunzip #{schema_dir}/samba.ldif.gz
121+ EOH
122+ when 'rhel'
123+ code_str = <<-"EOH"
124+ cp /usr/share/doc/samba-*/LDAP/samba.schema #{schema_dir}/
125+ cp /usr/share/doc/samba-*/LDAP/samba.ldif #{schema_dir}/
126+ EOH
127+ end
128+
129+ bash 'cp_samba_schema_files' do
130+ code code_str
131+ action :run
132+ not_if { File.exist?("#{schema_dir}/samba.schema") }
133+ not_if { File.exist?("#{schema_dir}/samba.ldif") }
134+ end
135+
136+ log <<-EOM
137+Note:
138+You must add the schema for Samba only once:
139+ $ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/samba.ldif
140+ $ sudo ldapsearch -Y EXTERNAL -H ldapi:/// -LLL -b "cn=schema,cn=config" dn
141+ EOM
142+end
Show on old repository browser