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

ansible: node_exporter download behavior #389

Open
travisdowns opened this issue Jun 26, 2024 · 2 comments · May be fixed by #499
Open

ansible: node_exporter download behavior #389

travisdowns opened this issue Jun 26, 2024 · 2 comments · May be fixed by #499

Comments

@travisdowns
Copy link
Contributor

travisdowns commented Jun 26, 2024

The node exporter install ansible role downloads binaries locally and then uploads to all hosts. Imagine you are deploying something from your laptop over a dinky home connection to 100 hosts in the cloud. This is going to take a long time.

Can we add a mode where it downloads the binaries onto the hosts themselves? This could be as simple as using omit for the delegate_to: values in the tasks that deal with with the download and then skipping the upload ("propagate") step.

@nevart
Copy link

nevart commented Aug 9, 2024

The same applies to prometheus, and probably other components, as well.

@zhan9san
Copy link
Contributor

I'll handle it later.

@travisdowns travisdowns changed the title ansible: node-exported download behavior ansible: node_exporter download behavior Dec 21, 2024
travisdowns added a commit to travisdowns/prometheus-ansible that referenced this issue Dec 21, 2024
Currently node_exporter install always downloads the package on the
localhost and unpacks it there then uploads it to the remote host.

In the case the ansible controller is at the other end of a thin
network pipe, or if it may not even have access to the package URL,
it may be desirable to download and unpack it on the remote host
instead.

This change adds that ability as an optional behavior to _common/install
and wires it up for use by node_exporter, using the
node_exporter_localhost_download variable. The default for node exporter
and any other binaries remains the same as before: delegate to
localhost.

Fixes prometheus-community#389.
travisdowns added a commit to travisdowns/prometheus-ansible that referenced this issue Dec 21, 2024
Currently node_exporter install always downloads the package on the
localhost and unpacks it there then uploads it to the remote host.

In the case the ansible controller is at the other end of a thin
network pipe, or if it may not even have access to the package URL,
it may be desirable to download and unpack it on the remote host
instead.

This change adds that ability as an optional behavior to _common/install
and wires it up for use by node_exporter, using the
node_exporter_localhost_download variable. The default for node exporter
and any other binaries remains the same as before: delegate to
localhost.

Fixes prometheus-community#389.
travisdowns added a commit to travisdowns/prometheus-ansible that referenced this issue Dec 21, 2024
Currently node_exporter install always downloads the package on the
localhost and unpacks it there then uploads it to the remote host.

In the case the ansible controller is at the other end of a thin
network pipe, or if it may not even have access to the package URL,
it may be desirable to download and unpack it on the remote host
instead.

This change adds that ability as an optional behavior to _common/install
and wires it up for use by node_exporter, using the
node_exporter_localhost_download variable. The default for node exporter
and any other binaries remains the same as before: delegate to
localhost.

Fixes prometheus-community#389.

Signed-off-by: Travis Downs <[email protected]>
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.

3 participants