Update

Warning

Make a backup beforehand.

See also: compatibility policy of the versions.

BGP announcements

If MITIGATOR is configured to announce protected prefixes over BGP, then before updating the instance, disable the BGP connection for the instance being updated in the «Local BGP Settings» on the «BGP» page.

After completing the update of the instance, you should restore the BGP connection.

Isolated instance update

Info

After the update, it may take some time to enable protection and visualize graphs. Do not enable protection manually, it will turn on after spilling all the settings.

  1. Make sure you have backup taken earlier.

  2. Write a line with the version to the .env file:

    VERSION=vXX.XX

    Where vXX.XX is a target version (for example: v20.08 or v20.12.1).

  3. Download the latest Compose file:

    wget https://docs.mitigator.ru/vXX.XX/dist/docker-compose.yml -O docker-compose.yml

    Where vXX.XX is a target major version (for example: v20.08 or v20.12).

    If edits for Mellanox adapters, were made in it, reproduce them in the new version of the file.

  4. Log in to the image repository with your credentials:

    docker login docker.mitigator.ru
  5. Download images:

    docker-compose pull
  6. Reboot all of the MITIGATOR components:

    docker-compose down && docker-compose up -d
Info

After launching, refresh the MITIGATOR Web interface browser tab with clearing the cache.

Cluster update with shared non-redundant storage

Info

After the update, it may take some time to enable protection and visualize graphs. Do not enable protection manually, it will turn on after spilling all the settings.

  1. Make sure you have backups taken earlier.

  2. Stop all instances of MITIGATOR:

    docker-compose down
  3. On all instances, write a line with the version to the .env file:

    VERSION=vXX.XX

    Where vXX.XX is a target version (for example: v20.08 or v20.12.1).

  4. Download the latest docker-compose.yml on all instances:

    wget https://docs.mitigator.ru/vXX.XX/dist/docker-compose.yml

    Where vXX.XX is a target major version (for example: v20.08 or v20.12).

    If edits for Mellanox adapters, were made in it, reproduce them in the new version of the file.

  5. On all instances except the base one, download the latest file docker-compose.worker.yml:

    wget https://docs.mitigator.ru/vXX.XX/dist/multi/docker-compose.worker.yml \
       -O docker-compose.worker.yml
  6. Enable Postgres on the base instance:

    docker-compose up -d postgres
  7. Starting with the leader, run on all instances sequentially:

    docker-compose up -d
Info

After launching, refresh the MITIGATOR Web interface browser tab with clearing the cache.

Updating a cluster with internal failover storage

Info

After the update, it may take some time to enable protection and visualize graphs. Do not enable protection manually, it will turn on after spilling all the settings.

  1. Make sure you have backups taken earlier.

  2. Stop all MITIGATOR instances running Postgres in standby mode, then stop the instance with Postgres in active mode:

    docker-compose down
  3. On all instances, write a line with the version to the .env file:

    VERSION=vXX.XX

    Where vXX.XX is a target version (for example: v20.08 or v20.12.1).

  4. Download the latest docker-compose.yml on all instances:

    wget https://docs.mitigator.ru/vXX.XX/dist/docker-compose.yml

    Where vXX.XX is a target major version (for example: v20.08 or v20.12).

    If edits for Mellanox adapters, were made in it, reproduce them in the new version of the file.

  5. Activate an instance with Postgres in active mode, then activate all MITIGATOR instances with Postgres in standby mode:

    docker-compose up -d
Info

After launching, refresh the MITIGATOR Web interface browser tab with clearing the cache.

Updating a Cluster with External Failover Storage

Info

After the update, it may take some time to enable protection and visualize graphs. Do not enable protection manually, it will turn on after spilling all the settings.

Steps 2, 7 and 14 depend on the actual organization of the DBMS on the external server.

  1. Make sure you have backups taken earlier.

  2. Disable database access for all instances.

  3. On all instances, write a line with the version to the .env file:

    VERSION=vXX.XX

    Where vXX.XX is a target version (for example: v20.08 or v20.12.1).

  4. Download the latest docker-compose.yml on all instances:

    wget https://docs.mitigator.ru/vXX.XX/dist/docker-compose.yml

    Where vXX.XX is a target major version (for example: v20.08 or v20.12).

    If edits for Mellanox adapters, were made in it, reproduce them in the new version of the file.

  5. Log in to the image store with your credentials:

    docker login docker.mitigator.ru
  6. Download images:

    docker-compose pull
  7. Make sure that database access is disabled on all instances:

  8. Reboot all of the MITIGATORcomponents:

    docker-compose down && docker-compose up -d
  9. Perform the necessary database migrations (the actions are similar to those performed during the initial postgres setup postgres), , for which:

  10. Run command:

    docker-compose create postgres
  11. Copy migration scripts:

    docker cp mitigator_postgres_1:/schema schema
  12. Execute scripts using the utility SHMIG.

  13. Run command:

    docker-compose rm -sf postgres
  14. Enable DB access for all instances.

Info

After launching, refresh the MITIGATOR Web interface browser tab with clearing the cache.