[MCOL-3976] Amazon S3 needs to support use of IAM roles Created: 2020-05-01 Updated: 2021-05-03 Resolved: 2020-10-12 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | Storage Manager |
| Affects Version/s: | None |
| Fix Version/s: | 5.4.1 |
| Type: | New Feature | Priority: | Critical |
| Reporter: | David Hill (Inactive) | Assignee: | Patrick LeBlanc (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | CustomerRequest | ||
| Issue Links: |
|
||||||||
| Sprint: | 2020-8 | ||||||||
| Description |
|
Columnstore Amazon for 1.2 releases and early support both Access Keys and IAM roles. Customer used IAM roles in their production and they request that S3 storage support IAm role setup. Currently only support Access keys via the configuration file. From customer It must be adapted to use an IAM instance profile or we can not use S3 storage. |
| Comments |
| Comment by David Hill (Inactive) [ 2020-06-10 ] |
|
Amazon offers 2 ways to configure for So they need the use of Role configuration |
| Comment by David Hill (Inactive) [ 2020-06-10 ] |
|
more info that might help |
| Comment by Daniel Lee (Inactive) [ 2020-10-10 ] |
|
Build tested: Drone builds. ColumnStore: 907, cmapi: 283 Tested local cpimport and S3 source cpimport With STS region and endpoint specified Installation: PASSED AWS S3 storage is used, bucket = dleeqadbroot1, objects = 295, total size = 493284230 (470 MB) 1st 1g lineitem local cpimport test successful [centos8:root~]# /usr/bin/cpimport mytest lineitem /data/qa/source/dbt3/1g/lineitem.tbl [centos8:root~]# /usr/bin/cpimport mytest lineitem /data/qa/source/dbt3/1g/lineitem.tbl [centos8:root~]# cat err.log On PM1, from ‘top’ command 4447 root 20 0 1929636 63044 20600 S 2.0 0.3 2:08.18 python3 There is no much activity going on PM1 and the failed cpimport job returned to the system prompt after 26 minutes with a core dumped error: [centos8:root~]# /usr/bin/cpimport mytest lineitem /data/qa/source/dbt3/1g/lineitem.tbl caught an exception: Table lock save file failure |
| Comment by Daniel Lee (Inactive) [ 2020-10-10 ] |
|
Tried another test run and got a different error on the first cpimport [centos8:root~]# /usr/bin/cpimport mytest lineitem /data/qa/source/dbt3/1g/lineitem.tbl It did not have that IAM error in the err.log file [centos8:root~]# cat err.log |
| Comment by Patrick LeBlanc (Inactive) [ 2020-10-12 ] |
|
To me it looks like SM is down. That's really the only reason SocketPool will return a 'connection refused' error. I tried for 3 hours to reproduce this problem with the specified engine/cmapi builds (engine 907, cmapi 283) using a tarballed playbook from Jose. I'm told this is how to try to reproduce it. Anyway, I couldn't get far enough in the playbook to be able to reproduce this. There were just too many other problems in those two builds. I did successfully run everything using the current builds (engine 922 & cmapi 315) twice. I believe I reproduced the problem by causing ms3_init_assume_role() to fail, and logged it as In general, this feature seems to be working. It's not great that a failure to assume a role (via misconfiguration in my case or because of a DNS failure in Daniel's case) causes an SM crash, but I thought about it, and the user's experience will be the same as if it didn't crash. The user gets a mess of errors both ways. A little investigation (like getting the journal output or running testS3Connection) tells them exactly what the problem was. The main difference is that the assertion failure can cause a core-dump, which may fill up the disk if SM keeps getting restarted. IMO this isn't a show-stopper under the circumstances, confirmed it with Todd. We'll follow up on it via the ticket I logged above. |