Upgrade guide from 1.1 to 1.2

Hello there,

Is there any guide to teach how to upgrade genieacs from 1.1 to 1.2?
We are using the 1.2 version under our staging server and we love it, now we want to upgrade our production instance to use 1.2.
Any help on this?

Upgrade should be straight forward, at least far as GenieACS core is concerned. Migrating from genieacs-gui to the v1.2 UI is a different story. If you’re not using a patched version of geniacs-gui with your customizations, then configuring v1.2 UI like your genieacs-gui is relatively straight forward.

Here are the main changes that you need to be aware of:

  • Preconditions now use the new expression format. The old will still work but once update and save a preset it’ll automatically convert the precondition for you. It’s possible that the converter has a bug or two so I’d suggest going through every preset and saving it to double check that the precondition has converted properly.

  • Presets now only take a single provision. The ‘configuration’ part is deprecated. Your old presets will stll work but you won’t be able to edit them in the UI until you remove all configuration and keep a single ‘provision’ configuration only. So essentially you’ll have to use provision scripts for everything. No more basic configuration options.

  • The file config.json is deprecated but will still work. If you don’t want to bother using environment variables, then simply copy your old config directory to th new setup.

I believe that’s all. Beware of bugs and make sure to test everything before going live.

You did not answer the question. Can you do a guide for upgrading and also a guide for installing from source

You are aware this is free software right? You could certainly write a guide and give back to the community.

The only way this workd for me was to install the new version in another server and them import the mongodb database.
auto-update/upgrade would be a great feature for future.

Att

I usually do this on the same server. Backup the DB, stop the Genie-services and move the folder to a new name(i.e. genieacs-backup). Install the new version and point it towards your mongoDB (It might have the same default db-setup, actually) and it should work. There’s a short wizard in the new version that will convert the database.
I think you can run the old Genieacs-ui alongside the new version, just don’t fire up the old genie-cwmp/nbi/fs services.

When upgrading the setup asked me to update my nodejs version, and that was not possible.
So the best way was to install in the new server.
Also, I’m trying to convert my old graphs but I have some 500 errors.

I don’t need a guide, but my question is related to this.

We are at the latest 1.1 and want to move to 1.2.4. I would actually rather recreate all presets, provisions, and virtual parameters manually, and only move the Devices tree with the data and tags from the old GenieACS to the new one. The old server is running CentOS 7 which is now discontinued and I would rather replace that with something else than try to upgrade, since we need to move off it anyway.

I am wondering if it is possible to set up a brand new GenieACS server from scratch, run the setup wizard to create the recommended default presets, provisions etc as a starting point, and then take just the devices heirarchy from MongoDB on the old server and import it? I’m just wondering if this will cause problems - not sure if the old device heirarchy has the same format as the new one, especially since if GenieACS is already up and running it may not properly convert the old device data. Mostly I just want the Device info and Tags imported from the old system - the rest I will recreate myself manually.

@zaidka Your feedback here would be most appreciated.

That shouldn’t be a problem at all. Start from a fresh installation and import these collections: devices, faults, tasks.

1 Like

Thanks! Why faults and tasks? Why not just devices?

Faults are important in situations like triggering provisioning on bootstrap event. The fault object maintains the state of the provisions at the time the fault took place so as to retry them again even after the original precondition/event/schedule no longer apply. As for tasks, it’s a judgement call whether you need to import them or not.

1 Like

Thanks for the details - I think I have a good handle on everything for the upgrade. I assume if there are no faults and no tasks there is no need to import those?