Comments (8)
The acceptance test shows the issue: the provider doesn't detect properly the existing index.
from puppet-openldap.
Seems the self.instances is correct:
[
#<Puppet::Type::Openldap_dbindex::ProviderOlc:0x00000003583ad8 @property_hash={
:name=>"objectClass on dc=foo,dc=example,dc=com",
:ensure=>:present,
:attribute=>"objectClass",
:suffix=>"dc=foo,dc=example,dc=com",
:indices=>"eq"
}>,
#<Puppet::Type::Openldap_dbindex::ProviderOlc:0
x00000003583588 @property_hash={
:name=>"cn on dc=foo,dc=example,dc=com",
:ensure=>:present,
:attribute=>"cn",
:suffix=>"dc=foo,dc=example,dc=com",
:indices=>"pres,sub,eq"
}>,
#<Puppet::Type::Openldap_dbindex::ProviderOlc:0x000000035831f0 @property_hash={
:name=>"uid on dc=foo,dc=example,dc=com",
:ensure=>:present,
:attribute=>"uid",
:suffix=>"dc=foo,dc=example,dc=com",
:indices=>"pres,sub,eq"
}>
]
from puppet-openldap.
OK, seems I have found the issue:
it seems the provider wants a specific string, like "foo on bar".
But when we create the index resource, we're more likely to put just "foo" or any other string.
Main issue is here — $title
shouldn't be used in there. We should create a string like the following:
$_title = "${attribute} on ${suffix}"
But even this won't work properly in the case we have multiple attribute
in the form foo,bar,baz
, as the type itself split those attribute in separated instances.
@mcanevet would be good to discuss this matter when you have some time to spare :).
from puppet-openldap.
@cjeanneret there is something weird with the composite namevar, it looks like it does not recognize the existence of the resource and thus tries to create it again.
from puppet-openldap.
So is this fixed now?
from puppet-openldap.
@cjeanneret should be fixed, feel free to reopen if it is not the case.
from puppet-openldap.
I am having this issue still
o matching Packages to list
Error: LDIF content:
dn: olcDatabase=hdb,cn=config
changetype: add
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=pexadir,dc=pexa,dc=com
olcDbIndex: objectClass eq
olcAccess: to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break
olcAccess: to attrs=userPassword
by self write
by anonymous auth
by dn="cn=admin,dc=pexadir,dc=pexa,dc=com" write
by * none
olcAccess: to dn.base="" by * read
olcAccess: to *
by self write
by dn="cn=admin,dc=pexadir,dc=pexa,dc=com" write
by * read
Error message: Execution of '/bin/ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/openldap_database20151124-31049-eutbk' returned 80: SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
ldap_add: Other (e.g., implementation specific) error (80)
additional info: namingContext "dc=pexadir,dc=pexa,dc=com" already served by a preceding hdb database
adding new entry "olcDatabase=hdb,cn=config"
Error: /Stage[main]/Main/Node[ath10]/Openldap::Server::Database[dc=pexadir,dc=pexa,dc=com]/Openldap_database[dc=pexadir,dc=pexa,dc=com]/ensure: change from absent to present failed: LDIF content:
dn: olcDatabase=hdb,cn=config
changetype: add
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=pexadir,dc=pexa,dc=com
olcDbIndex: objectClass eq
olcAccess: to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break
olcAccess: to attrs=userPassword
by self write
by anonymous auth
by dn="cn=admin,dc=pexadir,dc=pexa,dc=com" write
by * none
olcAccess: to dn.base="" by * read
olcAccess: to *
by self write
by dn="cn=admin,dc=pexadir,dc=pexa,dc=com" write
by * read
Error message: Execution of '/bin/ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/openldap_database20151124-31049-eutbk' returned 80: SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
ldap_add: Other (e.g., implementation specific) error (80)
additional info: namingContext "dc=pexadir,dc=pexa,dc=com" already served by a preceding hdb database
adding new entry "olcDatabase=hdb,cn=config"
from puppet-openldap.
@coffeecoco could you please provide the puppet code that provided this error?
from puppet-openldap.
Related Issues (20)
- openldap::server::overlay does not allow tuples as options HOT 2
- [poll] What to do with the islast parameter of openldap_access?
- openldap::server::database initdb data type should support value false
- `$openldap::server::database::mirrormode` does not enable olcMirrorMode
- openldap::server::overlay incorrectly parses suffix HOT 5
- openldap::server::dbindex is missing documentation HOT 3
- Unable to configure openldap on FreeBSD 13.0-RELEASE HOT 5
- Wrong data type for `$openldap::server::database::limits`
- LDIF mangling is in schema provider does not handle LDIF line wrapping correctly HOT 1
- Data type enforcement for openldap_database security is not idempotent HOT 1
- dc=my-domain,dc=com entry in Database HOT 3
- Inconsistent parameters for `openldap::client`
- Version 6.1.0 breaks disabling nonexistent services HOT 3
- cn=accesslog database: Parameter suffix failed
- Parameter suffix failed, because of too restrictive patterns in openldap/lib/puppet/type/openldap_database.rb HOT 2
- No parameter named 'multiprovider' HOT 4
- no parameter named 'multiprovider' HOT 3
- Cannot ensure: absent on dbindex
- acls with identical access definitions are not implemented correctly
- Unable to configure hashing with the pw-pbkdf2 module
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from puppet-openldap.