hello, I have a crowd instance running on prod, version 2.12 running on mySQL 5.6.36
We have nightly backups of crowd home dir and MySQL db dump
I am writing an ansible playbook to restore the data to DR instance, and the DR instance uses the latest crowd 3.0.1 version, same MySQL version 5.6.36
I installed Crowd on DR, rsynced my home dir + db sql
- name: reinstall packages
block:
- shell: yum-config-manager --enable stable-rpms
- yum: name="mysql-community-server" state=latest
- yum: name="crowd" state=latest
- name: Rsync backup files to local (/var/atlassian/application-data/crowd)
shell: "su crowd -c \"rsync -a {{ netbackup_home }}/{{ app_home }}/ {{ app_home }}/\""
- name: restore Crowd
block:
- service: name=mysqld state=started
- shell: mysql < "{{ app_home }}"/db_dump/crowd_db.sql
At this point Crowd should start normally and use the backedup data in mysql, but I cant get it to start correctly, getting tons of java errors,
Not sure where its failing,
2017-10-27 16:31:09,042 http-bio-127.0.0.1-8095-exec-44 ERROR [[Catalina].[localhost].[/crowd].[jsp]] Servlet.service() for servlet [jsp] in context with path [/crowd] threw exception
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationService' defined in class path resource [applicationContext-CrowdManagers.xml]: Cannot create inner bean 'com.atlassian.crowd.manager.application.TranslatingApplicationService#6ab02d21' of type [com.atlassian.crowd.manager.application.TranslatingApplicationService] while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.atlassian.crowd.manager.application.TranslatingApplicationService#6ab02d21' defined in class path resource [applicationContext-CrowdManagers.xml]: Cannot resolve reference to bean 'applicationServiceCaching' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationServiceCaching' defined in class path resource [applicationContext-CrowdManagers.xml]: Cannot create inner bean 'com.atlassian.crowd.manager.application.CachingApplicationService#5f8544d2' of type [com.atlassian.crowd.manager.application.CachingApplicationService] while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.atlassian.crowd.manager.application.CachingApplicationService#5f8544d2' defined in class path resource [applicationContext-CrowdManagers.xml]: Cannot resolve reference to bean 'applicationServiceInternal' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationServiceInternal' defined in class path resource [applicationContext-CrowdManagers.xml]: Cannot create inner bean 'com.atlassian.crowd.manager.recovery.RecoveryModeAwareApplicationServi
I understand you have a copy of your Production Crowd 2.12 database and you would like to start your disaster recovery Crowd 3.0.1 instance using the database restored from the 2.12 instance.
There have been significant schema changes between Crowd 2.12 and 3.0.1 so we cannot start Crowd 3.0.1 against a database from Crowd 2.12.
If you restore an XML backup from Production, it will restore, but trigger an upgrade. I do not recommend including an upgrade as part of the DR strategy as your focus during DR will be to get the applications back up, and extra factors will be undesirable.
I recommend using the same version of Crowd for Production and DR, so that a method like yours will work. Please review Backing Up and Restoring Data and Upgrading Crowd for details on options to proceed.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.