Skip to main content

The most recent patch for this version is 7.4.1.  Learn more  

Version: 7.4

Docker environment

The upgrade procedure of Axiomatics Services Manager (ASM) depends on the version from which the upgrade is being performed and is only possible between two consecutive versions. As a result, you should be running version 7.3 in order to upgrade to 7.4. If you are using an older version of ASM, consult the relevant documentation bundle to upgrade your system.

It is highly recommended to backup and restore your system before proceeding with an upgrade.

Important

Upgrading ASM will cause downtime for the application and consequently a temporary loss of service. As a result, the upgrade should be planned accordingly.

Backup and restore

It is recommended to backup your databases before upgrading. In case that you encounter any issue during the procedure you will be able to restore your previous version.

Backup

  1. Stop all services except for the databases.

    docker stop docker-adm-1 docker-service-aggregator-1 docker-asm-1 docker-gateway-1 docker-keycloak-1 docker-pd-api-1 docker-pd-ui-1
  2. Enter the container.

    docker exec -it -u postgres docker-db-1 bash
  3. Dump the databases inside the container.

    cd /tmp
    pg_dump asm > asm.sql
    pg_dump keycloak > keycloak.sql
    pg_dump domain_manager > domain_manager.sql
    pg_dump pd > pd.sql
  4. Exit the container.

    exit
  5. Copy the SQL files to the host.

    docker cp docker-db-1:/tmp/asm.sql .
    docker cp docker-db-1:/tmp/keycloak.sql .
    docker cp docker-db-1:/tmp/domain_manager.sql .
    docker cp docker-db-1:/tmp/pd.sql .
  6. Optionally, if you are using custom Attribute Connectors, back up the contents of the docker/asm.core/attribute.connectors/custom-attribute-connectors folder.

    note

    The older http-pip and parser-pip are also included in this directory. To keep using them, you should back them up along with the rest of the folder contents. However, you should consider switching to the new refactored HTTP Attribute Connector 5.0.0Opens in a new tab and Parser Attribute Connectors 1.0.0Opens in a new tab that are bundled with ASM 7.4.

Restore

  1. Stop all services except for the databases.

    docker stop docker-adm-1 docker-service-aggregator-1 docker-asm-1 docker-gateway-1 docker-keycloak-1 docker-pd-api-1 docker-pd-ui-1
  2. Copy the SQL files to the new database container.

    docker cp <path_to_file>/asm.sql docker-db-1:/
    docker cp <path_to_file>/keycloak.sql docker-db-1:/
    docker cp <path_to_file>/domain_manager.sql docker-db-1:/
    docker cp <path_to_file>/pd.sql docker-db-1:/
  3. Enter the container.

    docker exec -it -u postgres docker-db-1 bash
  4. Drop the databases, create them again and run the SQL files.

    psql template1 -c 'drop database asm'
    psql template1 -c 'drop database keycloak'
    psql template1 -c 'drop database domain_manager'
    psql template1 -c 'drop database pd'
    psql template1 -c 'create database asm'
    psql template1 -c 'create database keycloak'
    psql template1 -c 'create database domain_manager'
    psql template1 -c 'create database pd'
    psql asm < asm.sql
    psql keycloak < keycloak.sql
    psql domain_manager < domain_manager.sql
    psql pd < pd.sql
  5. Exit the container.

    exit
  6. Start all the service's containers again.

    docker start docker-adm-1 docker-service-aggregator-1 docker-asm-1 docker-gateway-1 docker-keycloak-1 docker-pd-api-1 docker-pd-ui-1

Upgrade procedure

note

The logs will not be migrated. The old logs will remain in the old 7.3.0 logs directory.

  1. Navigate to the ASM 7.3.0 folder, stop ASM and remove all the containers.

    docker-compose down
  2. Navigate to the ASM 7.4.1 folder and extract the ASM distribution ZIP file to the folder where you want to run ASM on.

  3. Navigate to the docker/ folder of the extracted distribution.

  4. Open the file credentials.txt in a text editor.

  5. Update the placeholder values for Access key ID and Secret access key with the values provided by Axiomatics. (These are the same values that were used in setting up AWS CLI.)

  6. Save and close credentials.txt.

  7. Copy a valid ASM license file to the docker/ folder. (This file is provided separately by Axiomatics.)

  8. Optionally, if you are using custom Attribute Connectors, restore the docker/asm.core/attribute.connectors/custom-attribute-connectors folder that you backed up previously.

  9. In the docker/ folder, start only the service's container for the database container.

    • Dashboard functionality:

      docker-compose -f docker-compose.yml -f docker-compose.dashboard.yml up --detach --build db
    • No Dashboard functionality:

      docker-compose up --detach --build db
  10. Start all the service's containers again.

  • Dashboard functionality:

    docker-compose -f docker-compose.yml -f docker-compose.dashboard.yml up --build
  • No Dashboard functionality:

    docker-compose up --build