Upgrade from 3.8-12 to 3.9.2-24 fail

I purchased the Stable updates and upgraded my system from 3.8-12 to 3.9.2-23 or 24, can’t remember specifically. it went through the upgrade process and directed me to reboot which I did. after the reboot the GUI seemed to be coming up and then crashed. I have rebooted a couple of times since to no avail. Per one article I have tried running the initrock and get this error:

[root@ bin]# ./initrock
2018-05-29 15:22:31,202: Supported kernel(/boot/vmlinuz-4.12.4-1.el7.elrepo.x86_64) is already the default
2018-05-29 15:22:31,343: /etc/rc.d/rc.local looks correct. Not updating.
2018-05-29 15:22:31,344: Checking for flash and Running flash optimizations if appropriate.
2018-05-29 15:22:32,139: Updating the timezone from the system
2018-05-29 15:22:32,140: system timezone = America/New_York
2018-05-29 15:22:32,141: Updating sshd_config
2018-05-29 15:22:32,142: sshd_config already has the updates. Leaving it unchanged.
2018-05-29 15:22:32,142: Running app database migrations…
Traceback (most recent call last):
File “./initrock”, line 44, in
File “/opt/rockstor/src/rockstor/scripts/initrock.py”, line 423, in main
run_command(migration_cmd + [‘storageadmin’])
File “/opt/rockstor/src/rockstor/system/osi.py”, line 121, in run_command
raise CommandException(cmd, out, err, rc)
system.exceptions.CommandException: Error running a command. cmd = /opt/rockstor/bin/django migrate --noinput storageadmin. rc = 1. stdout = [‘Operations to perform:’, ’ Apply all migrations: storageadmin’, ‘Running migrations:’, ’ No migrations to apply.’, ‘’]. stderr = [‘Traceback (most recent call last):’, ’ File “/opt/rockstor/bin/django”, line 44, in ‘, " sys.exit(djangorecipe.manage.main(‘rockstor.settings’))", ’ File “/opt/rockstor/eggs/djangorecipe-1.9-py2.7.egg/djangorecipe/manage.py”, line 9, in main’, ’ management.execute_from_command_line(sys.argv)’, ’ File “/opt/rockstor/eggs/Django-1.8.16-py2.7.egg/django/core/management/init.py”, line 354, in execute_from_command_line’, ’ utility.execute()’, ’ File “/opt/rockstor/eggs/Django-1.8.16-py2.7.egg/django/core/management/init.py”, line 346, in execute’, ’ self.fetch_command(subcommand).run_from_argv(self.argv)’, ’ File “/opt/rockstor/eggs/Django-1.8.16-py2.7.egg/django/core/management/base.py”, line 394, in run_from_argv’, ’ self.execute(*args, **cmd_options)’, ’ File “/opt/rockstor/eggs/Django-1.8.16-py2.7.egg/django/core/management/base.py”, line 445, in execute’, ’ output = self.handle(*args, **options)’, ’ File “/opt/rockstor/eggs/Django-1.8.16-py2.7.egg/django/core/management/commands/migrate.py”, line 226, in handle’, ’ emit_post_migrate_signal(created_models, self.verbosity, self.interactive, connection.alias)’, ’ File “/opt/rockstor/eggs/Django-1.8.16-py2.7.egg/django/core/management/sql.py”, line 280, in emit_post_migrate_signal’, ’ using=db)’, ’ File “/opt/rockstor/eggs/Django-1.8.16-py2.7.egg/django/dispatch/dispatcher.py”, line 189, in send’, ’ response = receiver(signal=self, sender=sender, **named)’, ’ File “/opt/rockstor/eggs/Django-1.8.16-py2.7.egg/django/contrib/auth/management/init.py”, line 82, in create_permissions’, ’ ctype = ContentType.objects.db_manager(using).get_for_model(klass)’, ’ File “/opt/rockstor/eggs/Django-1.8.16-py2.7.egg/django/contrib/contenttypes/models.py”, line 80, in get_for_model’, ’ "Error creating new content types. Please make sure contenttypes "’, ‘RuntimeError: Error creating new content types. Please make sure contenttypes is migrated before trying to migrate apps individually.’, ‘’]

Looks like some issue with the django migration? Any help is greatly appreciated.


@nitefly Welcome to the Rockstor community and thanks for helping to support Rockstor development.

Wow that’s quite some jump. Anyway you are right re:

Yes, we change the django migration system mid point and so there is a requirement to ‘stop off’ at an interim release version. That is a direct upgrade, such as you have done (bypassing ver 3.8.15), is broken. Please see the following, now pretty old, forum thread which will hopefully assist:

So if you follow the directions in that post you will hopefully be able to salvage you existing install.

Either that or re-install using the latest iso and then subscribe to stable and then run ‘yum update rockstor’, however I think the generation of the product id has changed since 3.8-12 so you most likely will end up with a new product id and hence will require an activation code transfer to this new product id - plans in the works to do this via self service web page but not there yet. Modern code, such as the most recent iso onwards, generates a persistent product id based on /sys/class/dmi/id/product_uuid to avoid this inconvenience; where a unique motherboard product_uuid is available.

Hope that helps and let us know how you get on. Much has changed since your prior version.

@phillxnet Thanks for your reply. Unfortunately, I could not downgrade from 3.9.1 to 3.8-14 due to docker-engine being obsolete for that version so I decided to go with the re-install. This will require me to set a lot of things back up and get a new activation code. It does not seem too daunting for me specifically due to the simple configuration I have but it would have been nice to have had some alert or something before upgrading through the GUI about this scenario. Not sure if you can step upgrade from one of those older versions but it may be a good idea to have some type of notification or guide for that due to the significant change. just a thought. Thanks again for your help.