Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LDAP - Custom field on User object mapping raise Error on synchronization #5149

Closed
AnaelMobilia opened this issue Apr 25, 2024 · 1 comment
Closed

Comments

@AnaelMobilia
Copy link
Contributor

Used Zammad Version

6.2.0-1709804266.ec3dc126.bookworm

Environment

  • Installation method: package
  • Operating system: Debian GNU/Linux 12 (bookworm)
  • Database + version: postgresql-15.6-0+deb12u1
  • Elasticsearch version: 8.12.2
  • Browser + version: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:125.0) Gecko/20100101 Firefox/125.0

Actual behaviour

LDAP synchronization failed for new users with Error on production.log :

E, [2024-04-25T00:31:39.453710#9374-51341820] ERROR -- : unknown attribute 'function' for User.

          raise UnknownAttributeError.new(self, k)
          ^^^^^ (ActiveModel::UnknownAttributeError)
lib/sequencer/unit/import/common/model/create.rb:13:in `process'
lib/sequencer/unit/import/common/model/mixin/skip/action.rb:42:in `process'
lib/sequencer/unit/base.rb:247:in `process'
lib/sequencer.rb:76:in `block (4 levels) in process'
lib/mixin/start_finish_logger.rb:9:in `log_start_finish'
lib/sequencer.rb:75:in `block (3 levels) in process'
lib/sequencer/state.rb:151:in `process'
lib/sequencer.rb:73:in `block (2 levels) in process'
lib/sequencer/units.rb:27:in `block in each'
lib/sequencer/units.rb:26:in `each'
lib/sequencer/units.rb:26:in `each'
lib/sequencer.rb:71:in `each_with_index'
lib/sequencer.rb:71:in `block in process'
lib/mixin/start_finish_logger.rb:9:in `log_start_finish'
lib/sequencer.rb:69:in `process'
lib/sequencer.rb:24:in `process'
lib/sequencer/unit/import/common/sub_sequence/mixin/base.rb:26:in `sequence_resource'
lib/sequencer/unit/import/ldap/users/sub_sequence.rb:12:in `block in process'
lib/ldap.rb:66:in `search'
lib/sequencer/unit/import/ldap/users/sub_sequence.rb:10:in `process'
lib/sequencer/unit/base.rb:247:in `process'
lib/sequencer.rb:76:in `block (4 levels) in process'
lib/mixin/start_finish_logger.rb:9:in `log_start_finish'
lib/sequencer.rb:75:in `block (3 levels) in process'
lib/sequencer/state.rb:151:in `process'
lib/sequencer.rb:73:in `block (2 levels) in process'
lib/sequencer/units.rb:27:in `block in each'
lib/sequencer/units.rb:26:in `each'
lib/sequencer/units.rb:26:in `each'
lib/sequencer.rb:71:in `each_with_index'
lib/sequencer.rb:71:in `block in process'
lib/mixin/start_finish_logger.rb:9:in `log_start_finish'
lib/sequencer.rb:69:in `process'
lib/sequencer.rb:24:in `process'
lib/sequencer/unit/import/common/sub_sequence/mixin/base.rb:26:in `sequence_resource'
lib/sequencer/unit/import/ldap/sources/sub_sequence.rb:12:in `block in process'
lib/sequencer/unit/import/ldap/sources/sub_sequence.rb:11:in `each'
lib/sequencer/unit/import/ldap/sources/sub_sequence.rb:11:in `process'
lib/sequencer/unit/base.rb:247:in `process'
lib/sequencer.rb:76:in `block (4 levels) in process'
lib/mixin/start_finish_logger.rb:9:in `log_start_finish'
lib/sequencer.rb:75:in `block (3 levels) in process'
lib/sequencer/state.rb:151:in `process'
lib/sequencer.rb:73:in `block (2 levels) in process'
lib/sequencer/units.rb:27:in `block in each'
lib/sequencer/units.rb:26:in `each'
lib/sequencer/units.rb:26:in `each'
lib/sequencer.rb:71:in `each_with_index'
lib/sequencer.rb:71:in `block in process'
lib/mixin/start_finish_logger.rb:9:in `log_start_finish'
lib/sequencer.rb:69:in `process'
lib/sequencer.rb:24:in `process'
lib/import/mixin/sequence.rb:17:in `process'
lib/import/integration_base.rb:94:in `start'
app/models/import_job.rb:26:in `start'
app/models/import_job.rb:107:in `start'
app/models/import_job.rb:97:in `start_registered'
(eval):1:in `eval_job_method'
lib/background_services/service/process_scheduled_jobs/job_executor.rb:48:in `eval'
lib/background_services/service/process_scheduled_jobs/job_executor.rb:48:in `eval_job_method'
lib/background_services/service/process_scheduled_jobs/job_executor.rb:23:in `execute'
lib/background_services/service/process_scheduled_jobs/job_executor/one_time.rb:6:in `run'
lib/background_services/service/process_scheduled_jobs/job_executor.rb:10:in `run'
lib/background_services/service/process_scheduled_jobs/manager.rb:84:in `block in start_in_thread'
lib/application_handle_info.rb:19:in `use'
lib/background_services/service/process_scheduled_jobs/manager.rb:82:in `start_in_thread'
lib/background_services/service/process_scheduled_jobs/manager.rb:73:in `block (2 levels) in start'
lib/background_services/service/process_scheduled_jobs/manager.rb:72:in `block in start'

Expected behaviour

New user to be created

Steps to reproduce the behaviour

  • Add a custom field on User object called "function" (type "input")
  • Create an LDAP integration
  • Map fields as picture
    image
  • Run the LDAP synchronization
  • Error message on interface
    image

Note: I tried to create LDAP synchronisation without the custom User field on the mapped fields. LDAP Users are successfully created. When I update the LDAP fields mapping, there is no issue on the synchronization (but the field isn't updated).

Bests regards,
Anael

Support Ticket

No response

I'm sure this is a bug and no feature request or a general question.

yes

@AnaelMobilia
Copy link
Contributor Author

Bug solved after update to 6.3 / 6.3.1, closing it! :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant