In the past several months, we have been extensively working on setting up a CI/CD pipeline for Documentum at one of our customer. As part of this project, we are using Kubernetes pods for Documentum components. In this blog, I will talk about an issue caused by what seemed like a good idea but finally, not so much…
The goal of this project is to migrate dozens of Documentum environments and several hundred of VMs into K8s pods. In order to streamline the migration and simplify the management, we thought: why not try to use K8s Services (ingres) for all the communications between the pods as well as external to K8s. Indeed, we needed to take into account several interfaces outside of the K8s world, usually some old software that would most probably never support containerization and such. These interfaces will need to continue to work in the way they used to so we will need K8s Services at some point for the communications between Documentum and these external interfaces. Therefore, the idea was to try to use this exact same K8s Services to install the Documentum components.
By default, K8s will create a headless service for each of the pods, which is composed in the following way: <pod_name>.<service_name>.<namespace_name>.<cluster>. The goal here was therefore to define a K8s Service in addition for each Content Servers: <service_name_ext>.<namespace_name>.<cluster>. This is what has been used:
- Primary Content Server:
- headless/pod: documentum-server-0.documentum-server.dbi-ns01.svc.cluster.local
- K8s Service: cs01.dbi-ns01.svc.cluster.local
- Remote Content Server:
- headless/pod: documentum-server-1.documentum-server.dbi-ns01.svc.cluster.local
- K8s Service: cs02.dbi-ns01.svc.cluster.local
- Repository & Service: gr_repo
On a typical VM, you would usually install Documentum using the VM hostname. The pendant on K8s would therefore be to use the headless/pod name. Alternatively, on a VM, you could think about using a DNS entry to install Documentum and you might think that this should work. I sure did and therefore, we tried to use the same kind of thing on K8s with the K8s Services directly.
Doing so for the Primary Content Server, all the Documentum silent installers completed successfully. We used “cs01.dbi-ns01.svc.cluster.local” for the following things for example:
- Docbroker projections
- Repository installation
- DFC & CS Projections
- BPM/xCP installation
Therefore, looking into the silent properties file for the Repository for example, it contained the following:
[dmadmin@documentum-server-0 ~]$ grep -E "FQDN|HOST" CS_Docbase_Global.properties SERVER.FQDN=cs01.dbi-ns01.svc.cluster.local SERVER.PROJECTED_DOCBROKER_HOST=cs01.dbi-ns01.svc.cluster.local [dmadmin@documentum-server-0 ~]$
At the end of our silent installation (include Documentum silent installers + dbi services’ best practices (other stuff like security, JMS configuration, projections, jobs, aso…)), connection to the repository was possible, D2 & DA were both working properly so it looked like being a first good step. Unfortunately, when I was doing a review of the repository objects later, I saw some wrong objects and a bit of a mess in the repository: that’s the full purpose of this blog, to explain what went wrong when using a K8s Service instead of the headless/pod name.
After a quick review, I found the following things that were wrong/messy:
- dm_jms_config object
- Expected: for a Primary Content Server, you should have one JMS config object with “do_mail”, “do_method” and “SAMLAuthentication” at least (+ “do_bpm” for BPM/xCP, Indexagent ones, aso…)
- JMS <FQDN>:9080 for gr_repo.gr_repo
- Actual: the installer created two JMS Objects, one with a correct name (using FQDN provided in installer = K8s Service), one with a wrong name (using pod name (short-name, no domain))
- JMS cs01.dbi-ns01.svc.cluster.local:9080 for gr_repo.gr_repo => Correct one and it contained all the needed servlets (“do_mail”, “do_method”, “do_bpm” and “SAMLAuthentication”)
- JMS documentum-server-0:9080 for gr_repo.gr_repo => Wrong one and it contained all the do_ servlets but not the SAML one strangely (“do_mail”, “do_method” and “do_bpm” only, not “SAMLAuthentication”)
- Expected: for a Primary Content Server, you should have one JMS config object with “do_mail”, “do_method” and “SAMLAuthentication” at least (+ “do_bpm” for BPM/xCP, Indexagent ones, aso…)
- dm_acs_config object
- Expected: just like for the JMS, you would expect the object to be created with the FQDN you gave it in the installer
- <FQDN>ACS1
- Actual: the installer create the ACS config object using the headless/pod name (full-name this time and not the short-name)
- documentum-server-0.documentum-server.dbi-ns01.svc.cluster.localACS1
- Expected: just like for the JMS, you would expect the object to be created with the FQDN you gave it in the installer
- A lot of other references to the headless/pod name: dm_user, dm_job, dm_client_registration, dm_client_rights, aso…
So in short, sometimes the Repository installer uses the FQDN provided (K8s Service) and sometimes it doesn’t. So what’s the point in providing a FQDN during the installation since it will anyway ignore it for 90% of the objects? In addition, it also creates two JMS config objects at the same time but with different names and different servlets. Looking at the “dm_jms_config_setup.out” log file created by the installer when it executed the JMS config object creation, you can see that it mention the creation of only one object and yet at the ends, it says that there are two:
[dmadmin@documentum-server-0 ~]$ cat $DOCUMENTUM/dba/config/gr_repo/dm_jms_config_setup.out /app/dctm/server/product/16.4/bin/dm_jms_admin.sh -docbase gr_repo.gr_repo -username dmadmin -action add,enableDFC,testDFC,migrate,dumpServerCache,listAll -jms_host_name cs01.dbi-ns01.svc.cluster.local -jms_port 9080 -jms_proximity 1 -webapps ServerApps -server_config_id 3d0f123450000102 2019-10-21 09:50:55 UTC: Input arguments are: -docbase gr_repo.gr_repo -username dmadmin -action add,enableDFC,testDFC,migrate,dumpServerCache,listAll -jms_host_name cs01.dbi-ns01.svc.cluster.local -jms_port 9080 -jm s_proximity 1 -webapps ServerApps -server_config_id 3d0f123450000102 2019-10-21 09:50:55 UTC: Input parameters are: {jms_port=[9080], server_config_id=[3d0f123450000102], docbase=[gr_repo.gr_repo], webapps=[ServerApps], action=[add,enableDFC,testDFC,migrate,dumpServerCache,listAll], jms_pr oximity=[1], jms_host_name=[cs01.dbi-ns01.svc.cluster.local], username=[dmadmin]} 2019-10-21 09:50:55 UTC: ====================================================================================== 2019-10-21 09:50:55 UTC: Begin administering JMS config objects in docbase gr_repo.gr_repo ... 2019-10-21 09:51:01 UTC: The following JMS config object has been successfully created/updated in docbase gr_repo 2019-10-21 09:51:01 UTC: -------------------------------------------------------------------------------------- 2019-10-21 09:51:01 UTC: JMS Config Name: JMS cs01.dbi-ns01.svc.cluster.local:9080 for gr_repo.gr_repo JMS Config ID: 080f1234500010a3 JMS Host Name: cs01.dbi-ns01.svc.cluster.local JMS Port Number: 9080 Is Disabled In Docbase: F Repeating attributes: Content_Server_Id[0] = 3d0f123450000102 Content_Server_Host_Name[0] = documentum-server-0 JMS_Proximity_Relative_to_CS[0] = 2 Servlet to URI Mapping: do_method = http://cs01.dbi-ns01.svc.cluster.local:9080/DmMethods/servlet/DoMethod SAMLAuthentication = http://cs01.dbi-ns01.svc.cluster.local:9080/SAMLAuthentication/servlet/ValidateSAMLResponse do_mail = http://cs01.dbi-ns01.svc.cluster.local:9080/DmMail/servlet/DoMail 2019-10-21 09:51:01 UTC: -------------------------------------------------------------------------------------- 2019-10-21 09:51:01 UTC: Successfully enabled principal_auth_priv for current DFC client in docbase gr_repo 2019-10-21 09:51:01 UTC: Successfully tested principal_auth_priv for current DFC client in docbase gr_repo 2019-10-21 09:51:01 UTC: Successfully migrated content server 3d0f123450000102 to use JMS config object(s) 2019-10-21 09:51:01 UTC: Dump of JMS Config List in content server cache, content server is gr_repo 2019-10-21 09:51:01 UTC: -------------------------------------------------------------------------------------- 2019-10-21 09:51:01 UTC: USER ATTRIBUTES jms_list_last_refreshed : Mon Oct 21 09:51:01 2019 incr_wait_time_on_failure : 30 max_wait_time_on_failure : 3600 current_jms_index : -1 jms_config_id [0]: 080f1234500010a3 [1]: 080f1234500010a4 jms_config_name [0]: JMS cs01.dbi-ns01.svc.cluster.local:9080 for gr_repo.gr_repo [1]: JMS documentum-server-0:9080 for gr_repo.gr_repo server_config_id [0]: 3d0f123450000102 [1]: 3d0f123450000102 server_config_name [0]: gr_repo [1]: gr_repo jms_to_cs_proximity [0]: 2 [1]: 1 is_disabled_in_docbase [0]: F [1]: F is_marked_dead_in_cache [0]: F [1]: F intended_purpose [0]: DM_JMS_PURPOSE_FOR_LOAD_BALANCING [1]: DM_JMS_PURPOSE_DEFAULT_EMBEDDED_JMS last_failure_time [0]: N/A [1]: N/A next_retry_time [0]: N/A [1]: N/A failure_count [0]: 0 [1]: 0 SYSTEM ATTRIBUTES APPLICATION ATTRIBUTES INTERNAL ATTRIBUTES 2019-10-21 09:51:01 UTC: -------------------------------------------------------------------------------------- 2019-10-21 09:51:01 UTC: Total 2 JMS Config objects found in docbase gr_repo 2019-10-21 09:51:01 UTC: -------------------------------------------------------------------------------------- 2019-10-21 09:51:01 UTC: JMS Config Name: JMS cs01.dbi-ns01.svc.cluster.local:9080 for gr_repo.gr_repo JMS Config ID: 080f1234500010a3 JMS Host Name: cs01.dbi-ns01.svc.cluster.local JMS Port Number: 9080 Is Disabled In Docbase: F Repeating attributes: Content_Server_Id[0] = 3d0f123450000102 Content_Server_Host_Name[0] = documentum-server-0 JMS_Proximity_Relative_to_CS[0] = 2 Servlet to URI Mapping: do_method = http://cs01.dbi-ns01.svc.cluster.local:9080/DmMethods/servlet/DoMethod SAMLAuthentication = http://cs01.dbi-ns01.svc.cluster.local:9080/SAMLAuthentication/servlet/ValidateSAMLResponse do_mail = http://cs01.dbi-ns01.svc.cluster.local:9080/DmMail/servlet/DoMail 2019-10-21 09:51:01 UTC: -------------------------------------------------------------------------------------- 2019-10-21 09:51:01 UTC: JMS Config Name: JMS documentum-server-0:9080 for gr_repo.gr_repo JMS Config ID: 080f1234500010a4 JMS Host Name: documentum-server-0 JMS Port Number: 9080 Is Disabled In Docbase: F Repeating attributes: Content_Server_Id[0] = 3d0f123450000102 Content_Server_Host_Name[0] = documentum-server-0 JMS_Proximity_Relative_to_CS[0] = 1 Servlet to URI Mapping: do_method = http://documentum-server-0:9080/DmMethods/servlet/DoMethod do_mail = http://documentum-server-0:9080/DmMail/servlet/DoMail 2019-10-21 09:51:01 UTC: -------------------------------------------------------------------------------------- 2019-10-21 09:51:01 UTC: Done administering JMS config objects in docbase gr_repo.gr_repo: status=SUCCESS ... 2019-10-21 09:51:01 UTC: ====================================================================================== Program exit status = 0 = SUCCESS Connect to docbase gr_repo.gr_repo as user dmadmin. Start running dm_jms_config_setup.ebs script on docbase gr_repo.gr_repo [DM_API_E_NO_MATCH]error: "There was no match in the docbase for the qualification: dm_method where object_name='dm_JMSAdminConsole'" dm_method dm_JMSAdminConsole object does not exist, yet. jarFile = /app/dctm/server/product/16.4/lib/dmjmsadmin.jar wrapper_script = /app/dctm/server/product/16.4/bin/dm_jms_admin.sh Create dm_method dm_JMSAdminConsole object in docbase now new dm_JMSAdminConsole dm_method object created in docbase successfully new object id is: 100f123450001098 Begin updating JMS_LOCATION for Java Methods ... Assign JMS_LOCATION=ANY to a_extended_properties in method object CTSAdminMethod Assign JMS_LOCATION=ANY to a_extended_properties in method object dm_bp_transition_java Assign JMS_LOCATION=ANY to a_extended_properties in method object dm_bp_schedule_java Assign JMS_LOCATION=ANY to a_extended_properties in method object dm_bp_batch_java Assign JMS_LOCATION=ANY to a_extended_properties in method object dm_bp_validate_java Assign JMS_LOCATION=ANY to a_extended_properties in method object dm_event_template_sender Done updating JMS_LOCATION for Java Methods ... Begin create default JMS config object for content server Content Server version: 16.4.0110.0167 Linux64.Oracle Content Server ID: 3d0f123450000102 dm_jms_config type id = 030f12345000017c jms_count = 0 wrapper_script = /app/dctm/server/product/16.4/bin/dm_jms_admin.sh script_params = -docbase gr_repo.gr_repo -username dmadmin -action add,enableDFC,testDFC,migrate,dumpServerCache,listAll -jms_host_name cs01.dbi-ns01.svc.cluster.local -jms_port 9080 -jms_proximity 1 -webapps Server Apps -server_config_id 3d0f123450000102 cmd = /app/dctm/server/product/16.4/bin/dm_jms_admin.sh -docbase gr_repo.gr_repo -username dmadmin -action add,enableDFC,testDFC,migrate,dumpServerCache,listAll -jms_host_name cs01.dbi-ns01.svc.cluster.local -jms_po rt 9080 -jms_proximity 1 -webapps ServerApps -server_config_id 3d0f123450000102 status = 0 Finished creating default JMS config object for content server Finished running dm_jms_config_setup.ebs... Disconnect from the docbase. [dmadmin@documentum-server-0 ~]$
In the log file above, there is no mention of “do_bpm” because it’s the installation of the Repository and therefore, at that time, the BPM/xCP isn’t installed yet. We only install it later, switch the URLs in HTTPS and other things. So looking into the objects in the Repository, this is what we can see at the end of all installations (I purposely only executed the HTTP->HTTPS + BPM/xCP addition but not JMS Projections to keep below the default value added by the installer, which are also wrong):
[dmadmin@documentum-server-0 ~]$ iapi gr_repo Please enter a user (dmadmin): Please enter password for dmadmin: OpenText Documentum iapi - Interactive API interface Copyright (c) 2018. OpenText Corporation All rights reserved. Client Library Release 16.4.0110.0058 Connecting to Server using docbase gr_repo [DM_SESSION_I_SESSION_START]info: "Session 010f12345000117c started for user dmadmin." Connected to OpenText Documentum Server running Release 16.4.0110.0167 Linux64.Oracle Session id is s0 API> ?,c,select count(*) from dm_server_config; count(*) ---------------------- 1 (1 row affected) API> ?,c,select r_object_id, object_name, app_server_name, app_server_uri from dm_server_config order by object_name, app_server_name; r_object_id object_name app_server_name app_server_uri ---------------- ----------- --------------- ----------------------------------------------------------------------- 3d0f123450000102 gr_repo do_bpm https://cs01.dbi-ns01.svc.cluster.local:9082/bpm/servlet/DoMethod do_mail https://cs01.dbi-ns01.svc.cluster.local:9082/DmMail/servlet/DoMail do_method https://cs01.dbi-ns01.svc.cluster.local:9082/DmMethods/servlet/DoMethod (1 row affected) API> ?,c,select count(*) from dm_jms_config; count(*) ---------------------- 2 (1 row affected) API> ?,c,select r_object_id, object_name from dm_jms_config order by object_name; r_object_id object_name ---------------- ------------------------------------------------------------ 080f1234500010a3 JMS cs01.dbi-ns01.svc.cluster.local:9080 for gr_repo.gr_repo 080f1234500010a4 JMS documentum-server-0:9080 for gr_repo.gr_repo (2 rows affected) API> dump,c,080f1234500010a3 ... USER ATTRIBUTES object_name : JMS cs01.dbi-ns01.svc.cluster.local:9080 for gr_repo.gr_repo title : subject : authors []: <none> keywords []: <none> resolution_label : owner_name : dmadmin owner_permit : 7 group_name : docu group_permit : 5 world_permit : 3 log_entry : acl_domain : dmadmin acl_name : dm_450f123450000101 language_code : server_config_id [0]: 3d0f123450000102 config_type : 2 servlet_name [0]: do_method [1]: SAMLAuthentication [2]: do_mail [3]: do_bpm base_uri [0]: https://cs01.dbi-ns01.svc.cluster.local:9082/DmMethods/servlet/DoMethod [1]: https://cs01.dbi-ns01.svc.cluster.local:9082/SAMLAuthentication/servlet/ValidateSAMLResponse [2]: https://cs01.dbi-ns01.svc.cluster.local:9082/DmMail/servlet/DoMail [3]: https://cs01.dbi-ns01.svc.cluster.local:9082/bpm/servlet/DoMethod supported_protocol [0]: https [1]: https [2]: https [3]: https projection_netloc_enable []: <none> projection_netloc_ident []: <none> projection_enable [0]: T projection_proximity_value [0]: 2 projection_targets [0]: documentum-server-0 projection_ports [0]: 0 network_locations []: <none> server_major_version : server_minor_version : is_disabled : F SYSTEM ATTRIBUTES r_object_type : dm_jms_config r_creation_date : 10/21/2019 09:51:00 r_modify_date : 10/21/2019 10:49:08 r_modifier : dmadmin r_access_date : nulldate r_composite_id []: <none> r_composite_label []: <none> r_component_label []: <none> r_order_no []: <none> r_link_cnt : 0 r_link_high_cnt : 0 r_assembled_from_id : 0000000000000000 r_frzn_assembly_cnt : 0 r_has_frzn_assembly : F r_is_virtual_doc : 0 r_page_cnt : 0 r_content_size : 0 r_lock_owner : r_lock_date : nulldate r_lock_machine : r_version_label [0]: 1.0 [1]: CURRENT r_immutable_flag : F r_frozen_flag : F r_has_events : F r_creator_name : dmadmin r_is_public : T r_policy_id : 0000000000000000 r_resume_state : 0 r_current_state : 0 r_alias_set_id : 0000000000000000 r_full_content_size : 0 r_aspect_name []: <none> r_object_id : 080f1234500010a3 APPLICATION ATTRIBUTES a_application_type : a_status : a_is_hidden : F a_retention_date : nulldate a_archive : F a_compound_architecture : a_link_resolved : F a_content_type : a_full_text : T a_storage_type : a_special_app : a_effective_date []: <none> a_expiration_date []: <none> a_publish_formats []: <none> a_effective_label []: <none> a_effective_flag []: <none> a_category : a_is_template : F a_controlling_app : a_extended_properties []: <none> a_is_signed : F a_last_review_date : nulldate INTERNAL ATTRIBUTES i_is_deleted : F i_reference_cnt : 1 i_has_folder : T i_folder_id [0]: 0c0f123450000105 i_contents_id : 0000000000000000 i_cabinet_id : 0c0f123450000105 i_antecedent_id : 0000000000000000 i_chronicle_id : 080f1234500010a3 i_latest_flag : T i_branch_cnt : 0 i_direct_dsc : F i_is_reference : F i_retain_until : nulldate i_retainer_id []: <none> i_partition : 0 i_is_replica : F i_vstamp : 4 API> dump,c,080f1234500010a4 ... USER ATTRIBUTES object_name : JMS documentum-server-0:9080 for gr_repo.gr_repo title : subject : authors []: <none> keywords []: <none> resolution_label : owner_name : dmadmin owner_permit : 7 group_name : docu group_permit : 5 world_permit : 3 log_entry : acl_domain : dmadmin acl_name : dm_450f123450000101 language_code : server_config_id [0]: 3d0f123450000102 config_type : 2 servlet_name [0]: do_method [1]: do_mail [2]: do_bpm base_uri [0]: https://documentum-server-0:9082/DmMethods/servlet/DoMethod [1]: https://documentum-server-0:9082/DmMail/servlet/DoMail [2]: https://cs01.dbi-ns01.svc.cluster.local:9082/bpm/servlet/DoMethod supported_protocol [0]: https [1]: https [2]: https projection_netloc_enable []: <none> projection_netloc_ident []: <none> projection_enable [0]: T projection_proximity_value [0]: 1 projection_targets [0]: documentum-server-0 projection_ports [0]: 0 network_locations []: <none> server_major_version : server_minor_version : is_disabled : F SYSTEM ATTRIBUTES r_object_type : dm_jms_config r_creation_date : 10/21/2019 09:51:01 r_modify_date : 10/21/2019 10:50:20 r_modifier : dmadmin r_access_date : nulldate r_composite_id []: <none> r_composite_label []: <none> r_component_label []: <none> r_order_no []: <none> r_link_cnt : 0 r_link_high_cnt : 0 r_assembled_from_id : 0000000000000000 r_frzn_assembly_cnt : 0 r_has_frzn_assembly : F r_is_virtual_doc : 0 r_page_cnt : 0 r_content_size : 0 r_lock_owner : r_lock_date : nulldate r_lock_machine : r_version_label [0]: 1.0 [1]: CURRENT r_immutable_flag : F r_frozen_flag : F r_has_events : F r_creator_name : dmadmin r_is_public : T r_policy_id : 0000000000000000 r_resume_state : 0 r_current_state : 0 r_alias_set_id : 0000000000000000 r_full_content_size : 0 r_aspect_name []: <none> r_object_id : 080f1234500010a4 APPLICATION ATTRIBUTES a_application_type : a_status : a_is_hidden : F a_retention_date : nulldate a_archive : F a_compound_architecture : a_link_resolved : F a_content_type : a_full_text : T a_storage_type : a_special_app : a_effective_date []: <none> a_expiration_date []: <none> a_publish_formats []: <none> a_effective_label []: <none> a_effective_flag []: <none> a_category : a_is_template : F a_controlling_app : a_extended_properties []: <none> a_is_signed : F a_last_review_date : nulldate INTERNAL ATTRIBUTES i_is_deleted : F i_reference_cnt : 1 i_has_folder : T i_folder_id [0]: 0c0f123450000105 i_contents_id : 0000000000000000 i_cabinet_id : 0c0f123450000105 i_antecedent_id : 0000000000000000 i_chronicle_id : 080f1234500010a4 i_latest_flag : T i_branch_cnt : 0 i_direct_dsc : F i_is_reference : F i_retain_until : nulldate i_retainer_id []: <none> i_partition : 0 i_is_replica : F i_vstamp : 2 API> ?,c,select r_object_id, object_name, servlet_name, supported_protocol, base_uri from dm_jms_config order by object_name, servlet_name; r_object_id object_name servlet_name supported_protocol base_uri ---------------- ------------------------------------------------------------ ------------------ ------------------ -------------------------------------------------------------------------------------------- 080f1234500010a3 JMS cs01.dbi-ns01.svc.cluster.local:9080 for gr_repo.gr_repo SAMLAuthentication https https://cs01.dbi-ns01.svc.cluster.local:9082/SAMLAuthentication/servlet/ValidateSAMLResponse do_bpm https https://cs01.dbi-ns01.svc.cluster.local:9082/bpm/servlet/DoMethod do_mail https https://cs01.dbi-ns01.svc.cluster.local:9082/DmMail/servlet/DoMail do_method https https://cs01.dbi-ns01.svc.cluster.local:9082/DmMethods/servlet/DoMethod 080f1234500010a4 JMS documentum-server-0:9080 for gr_repo.gr_repo do_bpm https https://cs01.dbi-ns01.svc.cluster.local:9082/bpm/servlet/DoMethod do_mail https https://documentum-server-0:9082/DmMail/servlet/DoMail do_method https https://documentum-server-0:9082/DmMethods/servlet/DoMethod (2 rows affected) API> ?,c,select r_object_id, object_name, projection_enable, projection_proximity_value, projection_ports, projection_targets from dm_jms_config order by object_name, projection_targets; r_object_id object_name projection_enable projection_proximity_value projection_ports projection_targets ---------------- ------------------------------------------------------------ ----------------- -------------------------- ---------------- ------------------- 080f1234500010a3 JMS cs01.dbi-ns01.svc.cluster.local:9080 for gr_repo.gr_repo 1 2 0 documentum-server-0 080f1234500010a4 JMS documentum-server-0:9080 for gr_repo.gr_repo 1 1 0 documentum-server-0 (2 rows affected) API> ?,c,select count(*) from dm_acs_config; count(*) ---------------------- 1 (1 row affected) API> ?,c,select r_object_id, object_name, acs_supported_protocol, acs_base_url from dm_acs_config order by object_name, acs_base_url; r_object_id object_name acs_supported_protocol acs_base_url ---------------- -------------------------------------------------------------------- ---------------------- ------------------------------------------------------------ 080f123450000490 documentum-server-0.documentum-server.dbi-ns01.svc.cluster.localACS1 https https://cs01.dbi-ns01.svc.cluster.local:9082/ACS/servlet/ACS (1 row affected) API> exit Bye [dmadmin@documentum-server-0 ~]$
So what to do with that? Well a simple solution is to just remove the wrong JMS config object (the second one) and redo the JMS Projections. You can stay with the wrong name of the ACS config object and other wrong references: even if it’s ugly, it will be working properly, it’s really just the second JMS config object that might cause you some trouble. Either scripting all that so it’s done properly in the end or doing it manually but then obviously when you have a project with a few hundred Content Servers, a simple manual task can become a nightmare ;). Another obvious solution is to not use the K8s Service but stick with the headless/pod name. With this second solution, you might as well try to use the MigrationUtil utility to change all references to the hostname after the installation is done. That would be something interesting to test!