Octopus.Migrator no longer supports ExtensionConfigurations

I’m spinning up Octopus 2018.8.6 and trying to import an old export using Octopus.Migrator.

The ExtensionConfigurations are basically being totally ignored. The Json property for these has the entire configuration, and nothing in it is being processed. Not only does the IsEnabled have no effect anymore, but even (for instance), the ClientId and Issuer from AzureAD are not set…

Furthermore, while investigating this I did an export from Octopus 2018.8.6 after manually configuring the extensions – the exported property is simply "Json": null … so none of the configuration for the extensions is being exported.

I haven’t had time yet to test any older versions (we’ve been using 3.12 releases), so based on a quick search, I’m worried that this has been broken since 3.16 shipped with the “Octopus Migration Error since 3.16.2” fix back in 2017

Hi Joel,
Thanks for getting in touch! I’m sorry for the long delay in getting back to you on this one! I’m also sorry to hear you are experiencing issues with Octopus.Migrator ignoring your ExtensionConfigs. The behaviour that you’re seeing in this case may actually be expected behaviour if the source and destination Octopus Servers aren’t matching. The problem you’re seeing typically arise when there is a mis-match in versions a lot of the time so we always recommend to export/import between Octopus servers of the same version.

Your second scenario where you have exported out of Octopus 2018.8.6 and then back into Octopus 2018.8.6 may actually be a bug. So that I can confirm, could I please know the exact set of steps you performed to arrive at this scenario. I would be interested in seeing if I can reproduce this problem you’re having on our end.

I look forward to hearing from you.

Kind regards,
Lawrence.

OK, so … noted: install old version, import backup, upgrade, then export backup…

As far as I can tell, when I configure the extension and then export, I’m just getting “null” for the Json in them. I will re-test that this afternoon.

Hi Joel,
I’m sorry for the delay in getting back to you on this one. You are correct in your process on using the migrator. Currently the migrator doesn’t seem to support using server extension export/import.

I believe the only work-around we have currently would be to Install a custom server extension on your destination server manually.

I’m interested to hear if you have been successful with the Octopus.Migrator.

Kind regards,
Lawrence.

Hi Joel,
I just wanted to get in touch with you to let you know that I have spoken to the developers who are working on the Octopus.Migrator and it turns out I was wrong in my previous message and what you are seeing is in fact a bug.

I will touch base with you shortly with a github issue on this one.

Kind regards,
Lawrence.

Good to hear … finally.

We put off dealing with the migration for a few weeks due to this, so maybe you’ll save me the trouble of manually having this in our backup/restore script :slight_smile:

Hi Joel,
Thanks for keeping in touch, I have added the github issue for it here. While I currently don’t have an estimate on when this issue will be resolved, please feel free to reference it for any updates on our progress.

Kind regards,
Lawrence.

Do I have to write my own tool here?