8 Replies Latest reply on Jun 24, 2013 8:38 PM by deesteel

    Upgrade dev environment from Jive 4.5.x to Jive 6.0.1.0

    jrlarson

      What would be the procedure to migrate an older Jive developer instance (4.5.5.2) to Jive 6.0.1.0, given that the older instance does not make use of the activity engine or cloud/on-prem search?

       

      My initial attempts result in Spring Bean definition errors:

       

       

      [INFO] [talledLocalContainer] 2013-03-07 10:58:07,353 [main] [::] ERROR com.jivesoftware.community.aaa.sso.saml.EOSKeyStoreManager - Keystore exists, but keystore password is blank.

      [INFO] [talledLocalContainer] 2013-03-07 10:58:07,931 [main] [::] WARN org.springframework.beans.factory.support.DisposableBeanAdapter - Invocation of destroy method 'destroy' failed on bean with name 'profileSearchIndexManagerImpl': java.lang.NullPointerException

      [INFO] [talledLocalContainer] 2013-03-07 10:58:08,054 [main] [::] WARN org.springframework.beans.factory.support.DisposableBeanAdapter - Invocation of destroy method 'shutdown' failed on bean with name 'cxf': org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'org.apache.cxf.buslifecycle.BusLifeCycleManager': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)

      [INFO] [talledLocalContainer] 2013-03-07 10:58:08,057 [main] [::] ERROR org.springframework.web.context.ContextLoader - Context initialization failed

      [INFO] [talledLocalContainer] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain' defined in class path resource [spring-securityContext.xml]: Cannot resolve reference to bean 'ssoFilterChain' while setting bean property 'filterChainMap' with key [/admin/**] with key [4]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ssoFilterChain' defined in class path resource [com/jivesoftware/community/aaa/sso/spring-ssoContext.xml]: Cannot resolve reference to bean 'samlFilterChain' while setting bean property 'filterChainMap' with key [/**] with key [1]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'samlFilterChain' defined in class path resource [com/jivesoftware/community/aaa/sso/saml/spring-samlContext.xml]: Cannot resolve reference to bean 'metadataFilter' while setting bean property 'filterChainMap' with key [/saml/metadata] with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metadataFilter' defined in class path resource [com/jivesoftware/community/aaa/sso/saml/spring-samlContext.xml]: Cannot resolve reference to bean 'metadataManager' while setting bean property 'manager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metadataManager' defined in class path resource [com/jivesoftware/community/aaa/sso/saml/spring-samlContext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException

        • Re: Upgrade dev environment from Jive 4.5.x to Jive 6.0.1.0

          John,

           

          Did you ever get a resolution here?  I am having a similar issue.

           

          Matt

            • Re: Upgrade dev environment from Jive 4.5.x to Jive 6.0.1.0
              wkoepcke

              Hi John,

               

              I have the same issue as well, while migrating my 4.5 developer instance to 6.0.2.0.

              It can't instantiate the metadataManager bean way down in the ssoFilterChain.

               

              This problem happens when I'm migrating my 4.5 data if I use an empty database then no injection errors.

               

              Thanks

              Wayne

                • Re: Upgrade dev environment from Jive 4.5.x to Jive 6.0.1.0

                  I found the issue was related to keys in /jive/applications/sbs/home/crypto.  I was trying to dump the 4.5 content from one application and import to an existing 6.0 install.  It was necessary to "clean" the 6.0 instance before importing the 4.5 data.

                   

                  as the jive user, on the 6.0 instance, stop all services, then:

                  BACK UP EVERYTHING!!!!!

                   

                  # remove old logs

                  rm -rf /opt/app/jive/var/logs/*

                  touch /opt/app/jive/var/logs/httpd-error.log

                  touch /opt/app/jive/var/logs/httpd-access.log

                  touch /opt/app/jive/var/logs/jive-httpd-access.log

                  touch /opt/app/jive/var/logs/jive-httpd-error.log

                   

                  # clear old file system cache

                  rm -rf /opt/app/jive/applications/sbs/home/cache/jiveSBS/*

                   

                  # remove newly generated crypto keys and replace with existing ones

                  rm -rf /opt/app/jive/applications/sbs/home/crypto/*

                   

                  cp {OLD_4.5}/applications/sbs/home/crypto/* {NEW_6.0}/applications/sbs/home/crypto/

                   

                  # if you are using a file system storage provider, copy that directory to the same place on the 6.0 server

                  cp {OLD_4.5}/data/files  {NEW_6.0}/data/

                   

                  edit {NEW_6.0}/applications/sbs/home/jive_startup.xml

                  [ change "setup" from true to false]

                  [ remove defaultProvider and child nodes]

                   

                  # Clean the 6.0 DB

                  mysql -e ' drop database JIVE;'

                  mysql -e ' create database JIVE;'

                  mysql -e ' drop database JIVE_EAE;'

                  mysql -e ' create database JIVE_EAE;'

                   

                  # Load old 4.5 DB

                  mysql JIVE < jive.4_5.sql

                  mysql JIVE -e 'update jiveProperty set  propValue = "http://????.com" where name = "jiveURL";'

                  mysql JIVE -e 'update  jiveProperty set propValue = "jdbc:postgresql://??????:5432/jive_analytics"  where name = "__jive.analytics.database.serverURL";'

                  mysql JIVE -e 'Replace into jiveProperty set name = "services.skyhook.host", propValue ="localhost"';

                  mysql JIVE -e 'Replace into jiveProperty set name = "services.skyhook.on.prem", propValue ="true"';

                  mysql JIVE -e 'Replace into jiveProperty set name = "services.skyhook.port", propValue ="30000"';

                  mysql JIVE -e 'delete from jivePlugin;'

                   

                   

                  Start the application, and walk through upgrade process.  You should get the nice updating dialog.

                  Good Luck!