Pere Miquel Brull 3afb5212ec
[Docs] - Use a.b.x as version pattern (#13161)
* [Docs] - Use a.b.x as version pattern

* Fix image path
2023-09-12 19:41:21 +02:00

4.6 KiB

title slug
Upgrade on Docker /deployment/upgrade/docker

Upgrade on Docker

To run OpenMetadata with Docker, you can simply download the docker-compose.yml file. Optionally, we added some Named Volumes to handle data persistence.

{% note %}

You can find more details about Docker deployment here

{% /note %}

Below we have highlighted the steps needed to upgrade to the latest version with Docker. Make sure to also look here for the specific details related to upgrading to 1.0.0

{% partial file="/v1.1/deployment/upgrade/upgrade-prerequisites.md" /%}

Upgrade Process

Step 1: Replace the docker compose file

  • Stop the running compose deployment with below command
docker compose down
  • Download the Docker Compose Service File from OpenMetadata GitHub Release page here
  • Replace the existing Docker Compose Service File with the one downloaded from the above step

{% note %}

Please make sure to go through breaking changes and release highlights.

{% /note %}

  • Start the Docker Compose Service with the below command
docker compose -f docker-compose.yml up -d

Step 2: Re-index all your metadata

Go to Settings -> OpenMetadata -> Search

{% image src="/images/v1.1/deployment/upgrade/elasticsearch-re-index.png" alt="create-project" caption="Reindex" /%}

Click on Reindex-all. In the dialog box choose Entities to All.

{% image src="/images/v1.1/deployment/upgrade/reindex-ES.png" alt="create-project" caption="Reindex" /%}


Guide for Upgrading ingestion patch versions

During the release lifespan we may publish new patch versions of openmetadata-ingestion. If you deployed the ingestion container and require one of the fixes or improvements from a new patch release, there's usually no need to re-deploy the full ingestion container.

{% note %}

Note that this process will only work if we are moving from PATCH versions. For example: 0.13.1.1 -> 0.13.1.2.

This method won't work when upgrading from 0.13.1.X -> 0.13.2.X, as that will also require to upgrade the server version.

{% /note %}

The steps to follow are:

  • Connect to the ingestion container. If using our docker compose files or metadata docker CLI, this translates to
      docker exec -it openmetadata_ingestion bash
    
  • Validate your metadata version via metadata --version. You will get back something like:
    metadata 0.13.1.5 from /home/airflow/.local/lib/python3.9 (python 3.9)
    
  • Upgrade the openmetadata-ingestion package via pip install "openmetadata-ingestion==0.13.1.X",for example,
    pip install "openmetadata-ingestion==0.13.1.7" 
    
    You can find the list of all released versions of the openmetadata-ingestion package here.
  • Exit the container by typing exit.
  • Restart the ingestion container with docker restart openmetadata_ingestion. This will need a few minutes to stop the container and start it again. Now, Airflow will start with the upgraded metadata version.
  • Connect to the ingestion container and validate the metadata version:
    docker exec -it openmetadata_ingestion bash
    
    • metadata version: where we expect to get the same version that was previously installed.

Troubleshooting

Permission Denied when running metadata openmetadata-imports-migration

If you have a Permission Denied error thrown when running metadata openmetadata-imports-migration --change-config-file-path you might need to change the permission on the /opt/airflow/dags folder. SSH into the ingestion container and check the permission on the folder running the below commands

ls -l /opt/airflow
ls -l /opt/airflow/dags

both the dags folder and the files inside dags/ should have airflow root permission. if this is not the case simply run the below command

chown -R airflow:root /opt/airflow/dags

Broken DAGs can't load config file: Permission Denied

You might need to change the permission on the /opt/airflow/dag_generated_config folder. SSH into the ingestion container and check the permission on the folder running the below commands

ls -l /opt/airflow
ls -l /opt/airflow/dag_generated_config

both the dags folder and the files inside dags/ should have airflow root permission. if this is not the case simply run the below command

chown -R airflow:root /opt/airflow/dag_generated_config