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

perftune.py should switch to AWS IMDSv2 calls #1051

Open
fee-mendes opened this issue May 4, 2022 · 5 comments · May be fixed by #2560
Open

perftune.py should switch to AWS IMDSv2 calls #1051

fee-mendes opened this issue May 4, 2022 · 5 comments · May be fixed by #2560
Assignees

Comments

@fee-mendes
Copy link
Member

fee-mendes commented May 4, 2022

perftune's __check_host_type method uses IMDSv1 for retrieving instance metadata. It turns out that - as described in scylladb/scylladb#10490 - Ec2 instances may have only IMDSv2 HTTP calls allowed.

When requests to IMDSv1 fail, calling is_aws_i3_non_metal_instance() will evaluate to False, which means that i3.nonmetal instance types will get tuned as if they weren't i3 instances.

@tomer-sandler
Copy link

scylladb/scylladb#10490 is fixed (closed) and is part of OSS 5.2 release notes.
What's the ETA to get this fixed as well?

@mykaul
Copy link

mykaul commented Apr 17, 2023

Doesn't seem to have been prioritized so far. There's code we can use @ https://github.com/scylladb/scylla-machine-image/blob/next/lib/scylla_cloud.py#L640

@mykaul
Copy link

mykaul commented Dec 21, 2023

BTW, this will also break on IPv6 only environments. There you need to use fd00:ec2::254

@mykaul
Copy link

mykaul commented Nov 26, 2024

@yaronkaikov , can your team (@syuu1228 ) handle it?

@yaronkaikov
Copy link

@mykaul yes

syuu1228 added a commit to syuu1228/seastar-1 that referenced this issue Nov 27, 2024
perftune's __check_host_type method uses IMDSv1 for retrieving instance
metadata.
It turns out that - as described in scylladb/scylladb#10490 - Ec2 instances may
have only IMDSv2 HTTP calls allowed.

When requests to IMDSv1 fail, calling is_aws_i3_non_metal_instance() will
evaluate to False, which means that i3.nonmetal instance types will get tuned
as if they weren't i3 instances.

To fix the problem, import IMDSv2 implementation from
scylla-machine-image.

Fixes scylladb#1051
related scylladb/scylla-machine-image#498
related scylladb/scylladb#10490
@syuu1228 syuu1228 linked a pull request Nov 27, 2024 that will close this issue
syuu1228 added a commit to syuu1228/seastar-1 that referenced this issue Nov 30, 2024
perftune's __check_host_type method uses IMDSv1 for retrieving instance
metadata.
It turns out that - as described in scylladb/scylladb#10490 - Ec2 instances may
have only IMDSv2 HTTP calls allowed.

When requests to IMDSv1 fail, calling is_aws_i3_non_metal_instance() will
evaluate to False, which means that i3.nonmetal instance types will get tuned
as if they weren't i3 instances.

To fix the problem, import IMDSv2 implementation from
scylla-machine-image.

Fixes scylladb#1051
related scylladb/scylla-machine-image#498
related scylladb/scylladb#10490
syuu1228 added a commit to syuu1228/seastar-1 that referenced this issue Nov 30, 2024
perftune's __check_host_type method uses IMDSv1 for retrieving instance
metadata.
It turns out that - as described in scylladb/scylladb#10490 - Ec2 instances may
have only IMDSv2 HTTP calls allowed.

When requests to IMDSv1 fail, calling is_aws_i3_non_metal_instance() will
evaluate to False, which means that i3.nonmetal instance types will get tuned
as if they weren't i3 instances.

To fix the problem, import IMDSv2 implementation from
scylla-machine-image.

Fixes scylladb#1051
related scylladb/scylla-machine-image#498
related scylladb/scylladb#10490
syuu1228 added a commit to syuu1228/seastar-1 that referenced this issue Nov 30, 2024
perftune's __check_host_type method uses IMDSv1 for retrieving instance
metadata.
It turns out that - as described in scylladb/scylladb#10490 - Ec2 instances may
have only IMDSv2 HTTP calls allowed.

When requests to IMDSv1 fail, calling is_aws_i3_non_metal_instance() will
evaluate to False, which means that i3.nonmetal instance types will get tuned
as if they weren't i3 instances.

To fix the problem, import IMDSv2 implementation from
scylla-machine-image.

Fixes scylladb#1051
related scylladb/scylla-machine-image#498
related scylladb/scylladb#10490
syuu1228 added a commit to syuu1228/seastar-1 that referenced this issue Nov 30, 2024
perftune's __check_host_type method uses IMDSv1 for retrieving instance
metadata.
It turns out that - as described in scylladb/scylladb#10490 - Ec2 instances may
have only IMDSv2 HTTP calls allowed.

When requests to IMDSv1 fail, calling is_aws_i3_non_metal_instance() will
evaluate to False, which means that i3.nonmetal instance types will get tuned
as if they weren't i3 instances.

To fix the problem, import IMDSv2 implementation from
scylla-machine-image.

Fixes scylladb#1051
related scylladb/scylla-machine-image#498
related scylladb/scylladb#10490
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants