Workaround

ARTIFACTORY: How to force artifactory to run with ipv4 only on an dual stack kubernete cluster

AuthorFullName__c
Paul Pan
articleNumber
000005305
ft:sourceType
Salesforce
FirstPublishedDate
2022-06-12T09:39:31Z
lastModifiedDate
2022-06-12
VersionNumber
2
The work around to this issue is to force tomcat to use ipv4 over ipv6 with javaoption
-Djava.net.preferIPv4Stack=true

We can pass this to artifactory system.yaml under

shared:
extraJavaOpts: "-Djava.net.preferIPv4Stack=true"


You can change system.yaml setting directly in the secret as a temporary workaround:

1. Get systemYaml secret:
kubectl get secret d-artifactory-systemyaml -o jsonpath="{.data}"
 
2. Base64 decode the value to get the systemYaml content. Edit the extraJavaOpts key to add the following value ( If extraJavaOpts does not exist, you can add one):

shared:
  extraJavaOpts: "-Djava.net.preferIPv4Stack=true"
 
3. Base64 encode the modified systemYaml content again and run   

 kubectl edit secret d-artifactory-systemyaml

Replace the encoded value under system.yaml


If this helps address the issue, you might want to update “javaOpts” inside your value.yaml and update your release.

Run netstat to confirm if the above settings are working. You should see:

tcp        0      0 127.0.0.1:8091          0.0.0.0:*               LISTEN      5082/java
tcp        0      0 127.0.0.1:8061          0.0.0.0:*               LISTEN      4225/jf-event
tcp        0      0 127.0.0.1:8030          0.0.0.0:*               LISTEN      4886/jf-connect
tcp        0      0 127.0.0.1:8062          0.0.0.0:*               LISTEN      4225/jf-event
tcp        0      0 127.0.0.1:8035          0.0.0.0:*               LISTEN      4886/jf-connect
tcp        0      0 127.0.0.1:8036          0.0.0.0:*               LISTEN      4547/jf-observabili
tcp        0      0 127.0.0.1:8070          0.0.0.0:*               LISTEN      4381/node
tcp        0      0 127.0.0.1:8071          0.0.0.0:*               LISTEN      4711/jf-integration
tcp        0      0 127.0.0.1:8072          0.0.0.0:*               LISTEN      4711/jf-integration
tcp        0      0 127.0.0.1:8040          0.0.0.0:*               LISTEN      5082/java
tcp        0      0 0.0.0.0:8045            0.0.0.0:*               LISTEN      5082/java
tcp        0      0 127.0.0.1:8046          0.0.0.0:*               LISTEN      3864/jf-router
tcp        0      0 127.0.0.1:8047          0.0.0.0:*               LISTEN      3864/jf-router
tcp        0      0 127.0.0.1:8015          0.0.0.0:*               LISTEN      5082/java
tcp        0      0 127.0.0.1:8049          0.0.0.0:*               LISTEN      3864/jf-router
tcp        0      0 0.0.0.0:8081            0.0.0.0:*               LISTEN      5082/java
tcp        0      0 127.0.0.1:8086          0.0.0.0:*               LISTEN      4069/jf-metadata
tcp6       0      0 :::8082                 :::*                    LISTEN      3864/jf-router