Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Upgrade minio image to more recent version #3539

Closed
lukas-vlcek opened this issue Jun 8, 2022 · 1 comment · Fixed by #3541
Closed

[BUG] Upgrade minio image to more recent version #3539

lukas-vlcek opened this issue Jun 8, 2022 · 1 comment · Fixed by #3541
Assignees
Labels
bug Something isn't working dependencies Pull requests that update a dependency file

Comments

@lukas-vlcek
Copy link
Contributor

lukas-vlcek commented Jun 8, 2022

Describe the bug

tl;dr:

Shall we upgrade minio image version?

More details:

The minio image version used in fixtures is quite dated:

FROM minio/minio:RELEASE.2019-01-23T23-18-58Z

As of writing when docker compose of the minio fixture is run we can see three containers being started like this:

$ docker ps
CONTAINER ID   IMAGE                                                                             COMMAND                  CREATED          STATUS                    PORTS                                         NAMES
2f93fffa0525   ce7e3d3926c4d42adcf9bcc2bca0892b_minio-fixture__minio-fixture-for-snapshot-tool   "/usr/bin/docker-ent…"   37 seconds ago   Up 35 seconds (healthy)   0.0.0.0:49197->9000/tcp, :::49197->9000/tcp   ce7e3d3926c4d42adcf9bcc2bca0892b_minio-fixture__minio-fixture-for-snapshot-tool_1
8f2fe3f725b3   ce7e3d3926c4d42adcf9bcc2bca0892b_minio-fixture__minio-fixture-other               "/usr/bin/docker-ent…"   37 seconds ago   Up 35 seconds (healthy)   0.0.0.0:49196->9000/tcp, :::49196->9000/tcp   ce7e3d3926c4d42adcf9bcc2bca0892b_minio-fixture__minio-fixture-other_1
aaed8693e232   ce7e3d3926c4d42adcf9bcc2bca0892b_minio-fixture__minio-fixture                     "/usr/bin/docker-ent…"   37 seconds ago   Up 35 seconds (healthy)   0.0.0.0:49195->9000/tcp, :::49195->9000/tcp   ce7e3d3926c4d42adcf9bcc2bca0892b_minio-fixture__minio-fixture_1

If you check logs of any of these containers you can see this:

$ docker logs 2f93fffa0525
 You are running an older version of Minio released 3 years ago 
 Update: docker pull minio/minio:RELEASE.2022-06-07T00-33-41Z 
Endpoint:  http://172.18.0.4:9000  http://127.0.0.1:9000
Browser Access:
   http://172.18.0.4:9000  http://127.0.0.1:9000
Object API (Amazon S3 compatible):
   Go:         https://docs.minio.io/docs/golang-client-quickstart-guide
   Java:       https://docs.minio.io/docs/java-client-quickstart-guide
   Python:     https://docs.minio.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
   .NET:       https://docs.minio.io/docs/dotnet-client-quickstart-guide

As you can see the container itself logs the recommendation to update the image to new version:

 You are running an older version of Minio released 3 years ago 
 Update: docker pull minio/minio:RELEASE.2022-06-07T00-33-41Z

To Reproduce

Run any task that includes :test:fixtures:minio-fixture:composeUp

> Task :test:fixtures:minio-fixture:composeUp
Recreating ce7e3d3926c4d42adcf9bcc2bca0892b_minio-fixture__minio-fixture_1                   ... done
Recreating ce7e3d3926c4d42adcf9bcc2bca0892b_minio-fixture__minio-fixture-other_1             ... done
Recreating ce7e3d3926c4d42adcf9bcc2bca0892b_minio-fixture__minio-fixture-for-snapshot-tool_1 ... done

and check container logs.

Expected behavior

  • Minio container should not tell us we are running an old
  • No tests are broken due to this upgrade

Host/Environment (please complete the following information):

$ git log -n 1 --oneline
81a77aaae66 (HEAD -> main, origin/main, origin/HEAD) Added bwc version 2.0.1 (#3452)

Additional context

I tried to update the Dockerfile to use more recent version of the minio image (as suggested by minio itself) like this:

FROM minio/minio:RELEASE.2022-06-07T00-33-41Z
...

After this change the docker logs <containerID> changes to:

$ docker logs 30a3074938db
WARNING: MINIO_ACCESS_KEY and MINIO_SECRET_KEY are deprecated.
         Please use MINIO_ROOT_USER and MINIO_ROOT_PASSWORD
WARNING: maximum file descriptor limit 1024 is too low for production servers. At least 4096 is recommended. Fix with "ulimit -n 4096"
Formatting 1st pool, 1 set(s), 1 drives per set.
Automatically configured API requests per node based on available memory on the system: 254
Finished loading IAM sub-system (took 0.0s of 0.1s to load data).
Status:         1 Online, 0 Offline. 
API: http://172.18.0.4:9000  http://127.0.0.1:9000 
Console: http://172.18.0.4:45891 http://127.0.0.1:45891 
Documentation: https://docs.min.io
WARNING: Console endpoint is listening on a dynamic port (45891), please use --console-address ":PORT" to choose a static port.

We are getting three WARNINGs:

  1. Deprecation of KEYs
  2. Low ulimits
  3. Dynamic port

I was able to get rid of one of the WARNINGs right away by specifying ulimits for each service in the docker-compose.yml like this:

# Add ulimits config at the same level as ports
    ulimits:
      nofile:
        hard: 4096
        soft: 4096
    ports:
      - "9000"

I believe the remaining two WARNINGs are solvable too.
Feedback welcome.

@lukas-vlcek lukas-vlcek added bug Something isn't working untriaged labels Jun 8, 2022
@lukas-vlcek lukas-vlcek changed the title [BUG] Update minio image to more recent version [BUG] Upgrade minio image to more recent version Jun 8, 2022
@saratvemulapalli
Copy link
Member

@lukas-vlcek assigned this to you as you've already picked it up.

@saratvemulapalli saratvemulapalli added dependencies Pull requests that update a dependency file and removed untriaged labels Jun 8, 2022
lukas-vlcek added a commit to lukas-vlcek/OpenSearch that referenced this issue Jun 27, 2022
On top of that addressing MinIO warning:
- setup ulimits
- use of static console port
- do not use deprecated argument names

With regard to static ports this is related to a change MinIO introduced in RELEASE.2021-07-08T01-15-01Z where the console was embedded into the server itself. For more details visit: https://docs.min.io/minio/baremetal/console/minio-console.html

We could let the port be assigned dynamically, however, when we set it statically it can give user an option to make use of the console web UI for MinIO troubleshooting (though I think the ports still need to be exported in this case).

Closes opensearch-project#3539

Signed-off-by: Lukáš Vlček <lukas.vlcek@aiven.io>
saratvemulapalli pushed a commit that referenced this issue Jul 12, 2022
On top of that addressing MinIO warning:
- setup ulimits
- use of static console port
- do not use deprecated argument names

With regard to static ports this is related to a change MinIO introduced in RELEASE.2021-07-08T01-15-01Z where the console was embedded into the server itself. For more details visit: https://docs.min.io/minio/baremetal/console/minio-console.html

We could let the port be assigned dynamically, however, when we set it statically it can give user an option to make use of the console web UI for MinIO troubleshooting (though I think the ports still need to be exported in this case).

Closes #3539

Signed-off-by: Lukáš Vlček <lukas.vlcek@aiven.io>
opensearch-trigger-bot bot pushed a commit that referenced this issue Jul 12, 2022
On top of that addressing MinIO warning:
- setup ulimits
- use of static console port
- do not use deprecated argument names

With regard to static ports this is related to a change MinIO introduced in RELEASE.2021-07-08T01-15-01Z where the console was embedded into the server itself. For more details visit: https://docs.min.io/minio/baremetal/console/minio-console.html

We could let the port be assigned dynamically, however, when we set it statically it can give user an option to make use of the console web UI for MinIO troubleshooting (though I think the ports still need to be exported in this case).

Closes #3539

Signed-off-by: Lukáš Vlček <lukas.vlcek@aiven.io>
(cherry picked from commit 9af3407)
reta pushed a commit that referenced this issue Jul 13, 2022
On top of that addressing MinIO warning:
- setup ulimits
- use of static console port
- do not use deprecated argument names

With regard to static ports this is related to a change MinIO introduced in RELEASE.2021-07-08T01-15-01Z where the console was embedded into the server itself. For more details visit: https://docs.min.io/minio/baremetal/console/minio-console.html

We could let the port be assigned dynamically, however, when we set it statically it can give user an option to make use of the console web UI for MinIO troubleshooting (though I think the ports still need to be exported in this case).

Closes #3539

Signed-off-by: Lukáš Vlček <lukas.vlcek@aiven.io>
(cherry picked from commit 9af3407)

Co-authored-by: Lukáš Vlček <lukas.vlcek@aiven.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants