# Sync instances with harvester core-plugin - issues&fixes

**URL:** <https://community.openbis.ch/t/sync-instances-with-harvester-core-plugin-issues-fixes/533>\
**Category:** Installation & maintenance\
**Created:** [25 November 2025 16:07 UTC](https://community.openbis.ch/t/sync-instances-with-harvester-core-plugin-issues-fixes/533 "2025-11-25T16:07:02Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ibressler](https://dub1.discourse-cdn.com/flex013/user_avatar/community.openbis.ch/ibressler/32/169_2.png) [@ibressler](https://community.openbis.ch/u/ibressler)\
**Post date:** [25 November 2025 16:07 UTC](https://community.openbis.ch/t/sync-instances-with-harvester-core-plugin-issues-fixes/533/1 "2025-11-25T16:07:03Z")

</div>

Hi everyone!

This is a configuration/bugreport - what am I doing wrong? - kind of question and belongs in both categories, maintenance&development, probably.

I set up a secondary OpenBIS instance as described here (version 20.10.11, same as our production instance), but using podman: [Quickstart — Python documentation](https://openbis.readthedocs.io/en/20.10.0-11/system-documentation/docker/quickstart.html)  
It runs fine so far but contains default data&types only, of course. Therefore, I’d like to mirror the contents of the production instance as far as my credentials allow. For this, I found the **Harvester** core-plugin: [openBIS Sync — Python documentation](https://openbis.readthedocs.io/en/20.10.0-11/system-documentation/configuration/openbis-sync.html#harvester-service-configuration)

There were some technical complications with that. Issues #3 and especially #4 I’d like to discuss:

1. I needed to add the custom TLS cert of the production instance to the keystore within the container - that’s rather straight forward

2. When dry-running the harvester, I got errors about failed connections to localhost:5432 (postgres port). This is because the postgres DB runs in a different container which has a separate hostname. I could not easily find out where this comes from. I just set up port-forwarding in the application container (openbis-app) to the DB container:  
localhost:5432 → openbis-db:5432.

3. During the initial dry-run of the Harvester, it stops at _Update timestamps and users_ with an exception caused by the listAllUsers() function (trace below) and I wonder, why?  
After looking around for some time in the configuration and code, I came across the data-sources config in openbis-sync `core-plugins/openbis-sync/2/dss/data-sources/openbis-db/plugin.properties`. There, I added the config entries `urlHostPart`, `scriptFolder`, `owner`, `password`, `adminUser` and `adminPassword` as in the main `dss/service.properties`. Not all are necessary, I assume, but that made the error below disappear and finish the dry-run successfully. Is this the expected configuration? (‘cause its missing in the docs)

4. After a successful dry-run, it runs the synchronization for real, imports all the masterdata just fine. But stops when beginning to register the entities, sadly. It complains about unknown permId - but I wonder, isn’t that (restoring permIds) what the sync should do?

Since the dry-run was successful, finally, I wonder what is wrong and how to get it to sync the entities as well? Is it designed to restore permIds? In my case, it’s for an object property of a custom PERSON type (_responsible person_ for a measurement, here).  
I’m out of ideas how to work around, since I can’t create objects with specific permIds with pyBIS, right? Are there other options?

About some insights about what to expect or even how to fix, I’d be very happy.

Thank you very much (also for reading so far)!  
Best wishes  
Ingo
