jfrog / jfrog-cli

JFrog CLI is a client that provides a simple interface that automates access to the JFrog products.
https://www.jfrog.com/confluence/display/CLI/JFrog+CLI
Apache License 2.0
531 stars 230 forks source link

[fedora 34] jf rt commands failing #1682

Open jwinarske opened 2 years ago

jwinarske commented 2 years ago

Describe the bug

On Fedora 34 jf rt p fails with:

17:25:41 [Debug] Usage Report: Sending info...
17:25:41 [Debug] Sending HTTP GET request to: https://eflutter.jfrog.io/artifactory/api/system/ping
17:25:41 [Debug] Sending HTTP GET request to: https://eflutter.jfrog.io/artifactory/api/system/version
17:25:41 [🟠Warn] (Attempt 1) - Failure occurred while sending GET request to https://eflutter.jfrog.io/artifactory/api/system/version: Get "https://eflutter.jfrog.io/artifactory/api/system/version": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:36991->[::1]:53: read: connection refused
17:25:41 [Debug] Sending HTTP GET request to: https://eflutter.jfrog.io/artifactory/api/system/version
17:25:41 [🟠Warn] (Attempt 1) - Failure occurred while sending GET request to https://eflutter.jfrog.io/artifactory/api/system/ping: Get "https://eflutter.jfrog.io/artifactory/api/system/ping": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:36991->[::1]:53: read: connection refused
17:25:41 [Debug] Sending HTTP GET request to: https://eflutter.jfrog.io/artifactory/api/system/ping
17:25:41 [🟠Warn] (Attempt 2) - Failure occurred while sending GET request to https://eflutter.jfrog.io/artifactory/api/system/version: Get "https://eflutter.jfrog.io/artifactory/api/system/version": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:53988->[::1]:53: read: connection refused
17:25:41 [🟠Warn] (Attempt 2) - Failure occurred while sending GET request to https://eflutter.jfrog.io/artifactory/api/system/ping: Get "https://eflutter.jfrog.io/artifactory/api/system/ping": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:53988->[::1]:53: read: connection refused
17:25:41 [Debug] Sending HTTP GET request to: https://eflutter.jfrog.io/artifactory/api/system/version
17:25:41 [Debug] Sending HTTP GET request to: https://eflutter.jfrog.io/artifactory/api/system/ping
17:25:41 [🟠Warn] (Attempt 3) - Failure occurred while sending GET request to https://eflutter.jfrog.io/artifactory/api/system/ping: Get "https://eflutter.jfrog.io/artifactory/api/system/ping": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:43932->[::1]:53: read: connection refused
17:25:41 [Debug] Sending HTTP GET request to: https://eflutter.jfrog.io/artifactory/api/system/ping
17:25:41 [🟠Warn] (Attempt 3) - Failure occurred while sending GET request to https://eflutter.jfrog.io/artifactory/api/system/version: Get "https://eflutter.jfrog.io/artifactory/api/system/version": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:43932->[::1]:53: read: connection refused
17:25:41 [Debug] Sending HTTP GET request to: https://eflutter.jfrog.io/artifactory/api/system/version
17:25:41 [🟠Warn] (Attempt 4) - Failure occurred while sending GET request to https://eflutter.jfrog.io/artifactory/api/system/version: Get "https://eflutter.jfrog.io/artifactory/api/system/version": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:45839->[::1]:53: read: connection refused
17:25:41 [🔵Info]  executor timeout after 3 attempts with 0 milliseconds wait intervals
17:25:41 [Debug] Usage Report: Get "https://eflutter.jfrog.io/artifactory/api/system/version": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:45839->[::1]:53: read: connection refused
17:25:41 [🟠Warn] (Attempt 4) - Failure occurred while sending GET request to https://eflutter.jfrog.io/artifactory/api/system/ping: Get "https://eflutter.jfrog.io/artifactory/api/system/ping": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:45839->[::1]:53: read: connection refused
17:25:41 [🔵Info]  executor timeout after 3 attempts with 0 milliseconds wait intervals
17:25:41 [🚨Error] Get "https://eflutter.jfrog.io/artifactory/api/system/ping": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:45839->[::1]:53: read: connection refused

To Reproduce Fedora 34 machine install either package or curl method

Expected behavior Same config works correctly on Ubuntu 20 jf c export -> Fedora

Versions

eyalbe4 commented 2 years ago

@jwinarske, The errors shown in the above log indicate a network connection issue. Do you really think this has to do with the operating system used?

jwinarske commented 2 years ago

@eyalbe4 I'm offering it solely as a data point, as it works fine on Ubuntu 20. It looks like it's trying to talk ipv6, and not getting through. I've been running this server for a year plus 12 hrs a day, and haven't seen this before. Perhaps you have a quick test I can run to help isolate the problem?

jwinarske commented 2 years ago

@eyalbe4 I enabled ipv6 on the network and machines in question. No change in behavior between the Fedora 34 and Ubuntu 20 machines. Ubuntu works, Fedora does not; same jf version. So I could use some further input.

eyalbe4 commented 2 years ago

Nothing comes to mind @jwinarske... You can try the following command, which uses curl for troubleshooting. Maybe this can hint towards the cause:

jf rt curl api/system/version 
jwinarske commented 2 years ago
[runner@fedora jfrog-cli]$ which jf
/usr/local/bin/jf
[runner@fedora jfrog-cli]$ jf rt curl api/system/version
11:44:27 [🟠Warn] (Attempt 1) - Failure occurred while sending GET request to https://eflutter.jfrog.io/artifactory/api/system/version: Get "https://eflutter.jfrog.io/artifactory/api/system/version": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:55122->[::1]:53: read: connection refused
11:44:27 [🟠Warn] (Attempt 2) - Failure occurred while sending GET request to https://eflutter.jfrog.io/artifactory/api/system/version: Get "https://eflutter.jfrog.io/artifactory/api/system/version": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:53257->[::1]:53: read: connection refused
11:44:27 [🟠Warn] (Attempt 3) - Failure occurred while sending GET request to https://eflutter.jfrog.io/artifactory/api/system/version: Get "https://eflutter.jfrog.io/artifactory/api/system/version": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:45759->[::1]:53: read: connection refused
11:44:27 [🟠Warn] (Attempt 4) - Failure occurred while sending GET request to https://eflutter.jfrog.io/artifactory/api/system/version: Get "https://eflutter.jfrog.io/artifactory/api/system/version": dial tcp: lookup eflutter.jfrog.io on [::1]:53: read udp [::1]:32858->[::1]:53: read: connection refused
11:44:27 [🔵Info]  executor timeout after 3 attempts with 0 milliseconds wait intervals
{
  "version" : "7.42.4",
  "revision" : "74204900",
  "addons" : [ "aol", "ha", "build", "docker", "vagrant", "replication", "filestore", "plugins", "gems", "composer", "npm", "bower", "git-lfs", "nuget", "debian", "opkg", "rpm", "cocoapods", "conan", "vcs", "pypi", "release-bundle", "jf-connect", "jf-event", "replicator", "keys", "alpine", "cargo", "chef", "federated", "git", "observability", "pub", "rest", "swift", "conda", "terraform", "tracker", "license", "puppet", "ldap", "sso", "layouts", "properties", "search", "securityresourceaddon", "filtered-resources", "p2", "watch", "webstart", "support", "xray", "retention" ],
  "license" : "8dd4186aa4c43a21b2434ab9bcc0d5f1d488685d3",
  "entitlements" : {
    "EVENT_BASED_PULL_REPLICATION" : true,
    "SMART_REMOTE_TARGET_FOR_EDGE" : false,
    "REPO_REPLICATION" : true,
    "MULTIPUSH_REPLICATION" : true
  }
}[runner@fedora jfrog-cli]$ 
jwinarske commented 2 years ago

It's telling me that "exponential back off and retry" is not implemented. https://pkg.go.dev/github.com/cenkalti/backoff/v4

eyalbe4 commented 2 years ago

Where does it tell you that exponential back off and retry" is not implemented @jwinarske?

jwinarske commented 2 years ago

The timeout between sends. If four timeouts happen within the same second, then exponential back off is not happening. In that model each retry would happen at a greater delay time than prior. If you use the average ping time of a high latency Internet connection, one would expect to see the retry delays to easily exceed 1 second.

Although I'm using a ~1GBPS up/down internet pipe.

What is being used for a retry delay value?

The response eventually comes in. Most likely in response to the first request.