Skip to content

Commit

Permalink
Merge pull request #9153 from bfournie/agent-rendezvous-noproxy
Browse files Browse the repository at this point in the history
OCPBUGS-30292: If agent proxy defined, add MachineNetwork to noProxy
  • Loading branch information
openshift-merge-bot[bot] authored Nov 9, 2024
2 parents 22e4625 + 52277e5 commit c3e9b51
Show file tree
Hide file tree
Showing 13 changed files with 112 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,4 @@ rendezvousIP: 192.168.111.20
[Manager]
DefaultEnvironment=HTTP_PROXY="http://192.168.111.1:8215"
DefaultEnvironment=HTTPS_PROXY="http://192.168.111.1:8215"
DefaultEnvironment=NO_PROXY="172.22.0.0/24,virthost.ostest.test.metalkube.org,192.168.111.20"
DefaultEnvironment=NO_PROXY="172.22.0.0/24,virthost.ostest.test.metalkube.org,192.168.111.0/24"
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ rendezvousIP: 192.168.111.20
[Manager]
DefaultEnvironment=HTTP_PROXY="http://192.168.111.1:8215"
DefaultEnvironment=HTTPS_PROXY="http://192.168.111.1:8215"
DefaultEnvironment=NO_PROXY="172.22.0.0/24,virthost.ostest.test.metalkube.org,192.168.111.20"
DefaultEnvironment=NO_PROXY="172.22.0.0/24,virthost.ostest.test.metalkube.org,192.168.111.0/24"
-- expected/agent-cluster-install.yaml --
apiVersion: extensions.hive.openshift.io/v1beta1
kind: AgentClusterInstall
Expand Down Expand Up @@ -90,7 +90,7 @@ spec:
proxy:
httpProxy: http://192.168.111.1:8215
httpsProxy: http://192.168.111.1:8215
noProxy: 172.22.0.0/24,virthost.ostest.test.metalkube.org
noProxy: 172.22.0.0/24,virthost.ostest.test.metalkube.org,192.168.111.0/24
sshPublicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDK6UTEydcEKzuNdPaofn8Z2DwgHqdcionLZBiPf/zIRNco++etLsat7Avv7yt04DINQd5zjxIFgG8jblaUB5E5C9ClUcMwb52GO0ay2Y9v1uBv1a4WhI3peKktAzYNk0EBMQlJtXPjRMrC9ylBPh+DsBHMu+KmDnfk7PIwyN4efC8k5kSRuPWoNdme1rz2+umU8FSmaWTHIajrbspf4GQbsntA5kuKEtDbfoNCU97o2KrRnUbeg3a8hwSjfh3u6MhlnGcg5K2Ij+zivEsWGCLKYUtE1ErqwfIzwWmJ6jnV66XCQGHf4Q1iIxqF7s2a1q24cgG2Z/iDXfqXrCIfy4P7b/Ztak3bdT9jfAdVZtdO5/r7I+O5hYhF86ayFlDWzZWP/ByiSb+q4CQbfVgK3BMmiAv2MqLHdhesmD/SmIcoOWUF6rFmRKZVFFpKpt5ATNTgUJ3JRowoXrrDruVXClUGRiCS6Zabd1rZ3VmTchaPJwtzQMdfIWISXj+Ig+C4UK0=
status:
debugInfo:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ rendezvousIP: 192.168.111.20
[Manager]
DefaultEnvironment=HTTP_PROXY="http://192.168.111.1:8215"
DefaultEnvironment=HTTPS_PROXY="http://192.168.111.1:8215"
DefaultEnvironment=NO_PROXY="172.22.0.0/24,virthost.ostest.test.metalkube.org,192.168.111.20"
DefaultEnvironment=NO_PROXY="172.22.0.0/24,virthost.ostest.test.metalkube.org,192.168.111.0/24"
-- expected/agent-cluster-install.yaml --
apiVersion: extensions.hive.openshift.io/v1beta1
kind: AgentClusterInstall
Expand Down Expand Up @@ -90,7 +90,7 @@ spec:
proxy:
httpProxy: http://192.168.111.1:8215
httpsProxy: http://192.168.111.1:8215
noProxy: 172.22.0.0/24,virthost.ostest.test.metalkube.org
noProxy: 172.22.0.0/24,virthost.ostest.test.metalkube.org,192.168.111.0/24
sshPublicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDK6UTEydcEKzuNdPaofn8Z2DwgHqdcionLZBiPf/zIRNco++etLsat7Avv7yt04DINQd5zjxIFgG8jblaUB5E5C9ClUcMwb52GO0ay2Y9v1uBv1a4WhI3peKktAzYNk0EBMQlJtXPjRMrC9ylBPh+DsBHMu+KmDnfk7PIwyN4efC8k5kSRuPWoNdme1rz2+umU8FSmaWTHIajrbspf4GQbsntA5kuKEtDbfoNCU97o2KrRnUbeg3a8hwSjfh3u6MhlnGcg5K2Ij+zivEsWGCLKYUtE1ErqwfIzwWmJ6jnV66XCQGHf4Q1iIxqF7s2a1q24cgG2Z/iDXfqXrCIfy4P7b/Ztak3bdT9jfAdVZtdO5/r7I+O5hYhF86ayFlDWzZWP/ByiSb+q4CQbfVgK3BMmiAv2MqLHdhesmD/SmIcoOWUF6rFmRKZVFFpKpt5ATNTgUJ3JRowoXrrDruVXClUGRiCS6Zabd1rZ3VmTchaPJwtzQMdfIWISXj+Ig+C4UK0=
status:
debugInfo:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ isoIgnitionContains agent.x86_64.iso /etc/assisted/manifests/pull-secret.yaml
-- install-config.yaml --
apiVersion: v1
baseDomain: test.metalkube.org
proxy:
httpProxy: http://192.168.111.1:8215
httpsProxy: http://192.168.111.1:8215
noProxy: 172.22.0.0/24,virthost.ostest.test.metalkube.org
controlPlane:
name: master
replicas: 1
Expand Down Expand Up @@ -69,6 +73,10 @@ spec:
platformType: None
provisionRequirements:
controlPlaneAgents: 1
proxy:
httpProxy: http://192.168.111.1:8215
httpsProxy: http://192.168.111.1:8215
noProxy: 172.22.0.0/24,virthost.ostest.test.metalkube.org,192.168.111.0/24
sshPublicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDK6UTEydcEKzuNdPaofn8Z2DwgHqdcionLZBiPf/zIRNco++etLsat7Avv7yt04DINQd5zjxIFgG8jblaUB5E5C9ClUcMwb52GO0ay2Y9v1uBv1a4WhI3peKktAzYNk0EBMQlJtXPjRMrC9ylBPh+DsBHMu+KmDnfk7PIwyN4efC8k5kSRuPWoNdme1rz2+umU8FSmaWTHIajrbspf4GQbsntA5kuKEtDbfoNCU97o2KrRnUbeg3a8hwSjfh3u6MhlnGcg5K2Ij+zivEsWGCLKYUtE1ErqwfIzwWmJ6jnV66XCQGHf4Q1iIxqF7s2a1q24cgG2Z/iDXfqXrCIfy4P7b/Ztak3bdT9jfAdVZtdO5/r7I+O5hYhF86ayFlDWzZWP/ByiSb+q4CQbfVgK3BMmiAv2MqLHdhesmD/SmIcoOWUF6rFmRKZVFFpKpt5ATNTgUJ3JRowoXrrDruVXClUGRiCS6Zabd1rZ3VmTchaPJwtzQMdfIWISXj+Ig+C4UK0=
status:
debugInfo:
Expand Down Expand Up @@ -124,6 +132,10 @@ spec:
nmStateConfigLabelSelector:
matchLabels:
infraenvs.agent-install.openshift.io: ostest
proxy:
httpProxy: http://192.168.111.1:8215
httpsProxy: http://192.168.111.1:8215
noProxy: 172.22.0.0/24,virthost.ostest.test.metalkube.org,192.168.111.0/24
pullSecretRef:
name: ostest-pull-secret
sshAuthorizedKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDK6UTEydcEKzuNdPaofn8Z2DwgHqdcionLZBiPf/zIRNco++etLsat7Avv7yt04DINQd5zjxIFgG8jblaUB5E5C9ClUcMwb52GO0ay2Y9v1uBv1a4WhI3peKktAzYNk0EBMQlJtXPjRMrC9ylBPh+DsBHMu+KmDnfk7PIwyN4efC8k5kSRuPWoNdme1rz2+umU8FSmaWTHIajrbspf4GQbsntA5kuKEtDbfoNCU97o2KrRnUbeg3a8hwSjfh3u6MhlnGcg5K2Ij+zivEsWGCLKYUtE1ErqwfIzwWmJ6jnV66XCQGHf4Q1iIxqF7s2a1q24cgG2Z/iDXfqXrCIfy4P7b/Ztak3bdT9jfAdVZtdO5/r7I+O5hYhF86ayFlDWzZWP/ByiSb+q4CQbfVgK3BMmiAv2MqLHdhesmD/SmIcoOWUF6rFmRKZVFFpKpt5ATNTgUJ3JRowoXrrDruVXClUGRiCS6Zabd1rZ3VmTchaPJwtzQMdfIWISXj+Ig+C4UK0=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ DefaultEnvironment=HTTP_PROXY="{{replace .Proxy.HTTPProxy "%" "%%"}}"
DefaultEnvironment=HTTPS_PROXY="{{replace .Proxy.HTTPSProxy "%" "%%"}}"
{{end -}}
{{if .Proxy.NoProxy -}}
DefaultEnvironment=NO_PROXY="{{.Proxy.NoProxy}},{{.RendezvousIP}}"
{{else -}}
DefaultEnvironment=NO_PROXY="{{.RendezvousIP}}"
DefaultEnvironment=NO_PROXY="{{.Proxy.NoProxy}}"
{{end -}}
{{end -}}
5 changes: 1 addition & 4 deletions pkg/asset/agent/image/ignition.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ type agentTemplateData struct {
TokenExpiry string
AuthType string
CaBundleMount string
RendezvousIP string
}

// Name returns the human-friendly name of the asset.
Expand Down Expand Up @@ -290,7 +289,6 @@ func (a *Ignition) Generate(ctx context.Context, dependencies asset.Parents) err
numMasters, numWorkers,
osImage,
infraEnv.Spec.Proxy,
a.RendezvousIP,
)

err = bootstrap.AddStorageFiles(&config, "/", "agent/files", agentTemplateData)
Expand Down Expand Up @@ -410,7 +408,7 @@ func getTemplateData(name, pullSecret, releaseImageList, releaseImage, releaseIm
haveMirrorConfig bool,
numMasters, numWorkers int,
osImage *models.OsImage,
proxy *v1beta1.Proxy, rendezvousIP string) *agentTemplateData {
proxy *v1beta1.Proxy) *agentTemplateData {
return &agentTemplateData{
ServiceProtocol: "http",
PullSecret: pullSecret,
Expand All @@ -431,7 +429,6 @@ func getTemplateData(name, pullSecret, releaseImageList, releaseImage, releaseIm
Token: token,
TokenExpiry: tokenExpiry,
CaBundleMount: caBundleMount,
RendezvousIP: rendezvousIP,
}
}

Expand Down
4 changes: 1 addition & 3 deletions pkg/asset/agent/image/ignition_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,7 @@ func TestIgnition_getTemplateData(t *testing.T) {

publicKey := "-----BEGIN EC PUBLIC KEY-----\nMHcCAQEEIOSCfDNmx0qe6dncV4tg==\n-----END EC PUBLIC KEY-----\n"
token := "someToken"
rendezvousIP := "192.168.111.80"
templateData := getTemplateData(clusterName, pullSecret, releaseImageList, releaseImage, releaseImageMirror, publicContainerRegistries, "minimal-iso", infraEnvID, publicKey, gencrypto.AuthType, token, "", "", haveMirrorConfig, agentClusterInstall.Spec.ProvisionRequirements.ControlPlaneAgents, agentClusterInstall.Spec.ProvisionRequirements.WorkerAgents, osImage, proxy, rendezvousIP)
templateData := getTemplateData(clusterName, pullSecret, releaseImageList, releaseImage, releaseImageMirror, publicContainerRegistries, "minimal-iso", infraEnvID, publicKey, gencrypto.AuthType, token, "", "", haveMirrorConfig, agentClusterInstall.Spec.ProvisionRequirements.ControlPlaneAgents, agentClusterInstall.Spec.ProvisionRequirements.WorkerAgents, osImage, proxy)
assert.Equal(t, clusterName, templateData.ClusterName)
assert.Equal(t, "http", templateData.ServiceProtocol)
assert.Equal(t, pullSecret, templateData.PullSecret)
Expand All @@ -112,7 +111,6 @@ func TestIgnition_getTemplateData(t *testing.T) {
assert.Equal(t, publicKey, templateData.PublicKeyPEM)
assert.Equal(t, gencrypto.AuthType, templateData.AuthType)
assert.Equal(t, token, templateData.Token)
assert.Equal(t, rendezvousIP, templateData.RendezvousIP)

}

Expand Down
11 changes: 9 additions & 2 deletions pkg/asset/agent/manifests/agentclusterinstall.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ func (*AgentClusterInstall) Dependencies() []asset.Asset {
&workflow.AgentWorkflow{},
&agent.OptionalInstallConfig{},
&agentconfig.AgentHosts{},
&agentconfig.AgentConfig{},
}
}

Expand All @@ -141,7 +142,8 @@ func (a *AgentClusterInstall) Generate(_ context.Context, dependencies asset.Par
agentWorkflow := &workflow.AgentWorkflow{}
installConfig := &agent.OptionalInstallConfig{}
agentHosts := &agentconfig.AgentHosts{}
dependencies.Get(agentWorkflow, agentHosts, installConfig)
agentConfig := &agentconfig.AgentConfig{}
dependencies.Get(agentWorkflow, agentHosts, installConfig, agentConfig)

// This manifest is not required for AddNodes workflow
if agentWorkflow.Workflow == workflow.AgentWorkflowTypeAddNodes {
Expand Down Expand Up @@ -229,7 +231,12 @@ func (a *AgentClusterInstall) Generate(_ context.Context, dependencies asset.Par
}

if installConfig.Config.Proxy != nil {
agentClusterInstall.Spec.Proxy = (*hiveext.Proxy)(getProxy(installConfig.Config.Proxy))
rendezvousIP := ""
if agentConfig.Config != nil {
rendezvousIP = agentConfig.Config.RendezvousIP
}

agentClusterInstall.Spec.Proxy = (*hiveext.Proxy)(getProxy(installConfig.Config.Proxy, &installConfig.Config.Networking.MachineNetwork, rendezvousIP))
}

if installConfig.Config.Platform.BareMetal != nil {
Expand Down
27 changes: 25 additions & 2 deletions pkg/asset/agent/manifests/agentclusterinstall_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package manifests

import (
"context"
"net"
"os"
"testing"

Expand All @@ -21,6 +22,7 @@ import (
"github.com/openshift/installer/pkg/asset/agent/agentconfig"
"github.com/openshift/installer/pkg/asset/agent/workflow"
"github.com/openshift/installer/pkg/asset/mock"
"github.com/openshift/installer/pkg/ipnet"
"github.com/openshift/installer/pkg/types"
externaltype "github.com/openshift/installer/pkg/types/external"
)
Expand All @@ -39,11 +41,18 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
installConfigOverrides: `{"fips":true}`,
})

_, machineNetCidr, _ := net.ParseCIDR("192.168.122.0/16") //nolint:errcheck
machineNetwork := []types.MachineNetworkEntry{
{
CIDR: ipnet.IPNet{IPNet: *machineNetCidr},
},
}

installConfigWithProxy := getValidOptionalInstallConfig()
installConfigWithProxy.Config.Proxy = (*types.Proxy)(getProxy(getProxyValidOptionalInstallConfig().Config.Proxy))
installConfigWithProxy.Config.Proxy = (*types.Proxy)(getProxy(getProxyValidOptionalInstallConfig().Config.Proxy, &machineNetwork, "192.168.122.2"))

goodProxyACI := getGoodACI()
goodProxyACI.Spec.Proxy = (*hiveext.Proxy)(getProxy(getProxyValidOptionalInstallConfig().Config.Proxy))
goodProxyACI.Spec.Proxy = (*hiveext.Proxy)(getProxy(getProxyValidOptionalInstallConfig().Config.Proxy, &machineNetwork, "192.168.122.2"))

goodACIDualStackVIPs := getGoodACIDualStack()
goodACIDualStackVIPs.Spec.APIVIPs = []string{"192.168.122.10", "2001:db8:1111:2222:ffff:ffff:ffff:cafe"}
Expand Down Expand Up @@ -150,6 +159,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
&agent.OptionalInstallConfig{},
&agentconfig.AgentHosts{},
&agentconfig.AgentConfig{},
},
expectedError: "missing configuration or manifest file",
},
Expand All @@ -159,6 +169,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
getValidOptionalInstallConfig(),
&agentconfig.AgentHosts{},
&agentconfig.AgentConfig{},
},
expectedConfig: goodACI,
},
Expand All @@ -168,6 +179,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
installConfigWithoutNetworkType,
&agentconfig.AgentHosts{},
&agentconfig.AgentConfig{},
},
expectedConfig: goodACI,
},
Expand All @@ -177,6 +189,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
installConfigWithFIPS,
&agentconfig.AgentHosts{},
&agentconfig.AgentConfig{},
},
expectedConfig: goodFIPSACI,
},
Expand All @@ -186,6 +199,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
installConfigWithProxy,
&agentconfig.AgentHosts{},
getValidAgentConfig(),
},
expectedConfig: goodProxyACI,
},
Expand All @@ -195,6 +209,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
getValidOptionalInstallConfigDualStack(),
&agentconfig.AgentHosts{},
&agentconfig.AgentConfig{},
},
expectedConfig: getGoodACIDualStack(),
},
Expand All @@ -204,6 +219,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
getValidOptionalInstallConfigDualStackDualVIPs(),
&agentconfig.AgentHosts{},
&agentconfig.AgentConfig{},
},
expectedConfig: goodACIDualStackVIPs,
},
Expand All @@ -213,6 +229,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
installConfigWithCapabilities,
&agentconfig.AgentHosts{},
&agentconfig.AgentConfig{},
},
expectedConfig: goodCapabilitiesACI,
},
Expand All @@ -222,6 +239,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
installConfigWithNetworkOverride,
&agentconfig.AgentHosts{},
&agentconfig.AgentConfig{},
},
expectedConfig: goodNetworkOverrideACI,
},
Expand All @@ -231,6 +249,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
installConfigWithCPUPartitioning,
&agentconfig.AgentHosts{},
&agentconfig.AgentConfig{},
},
expectedConfig: goodCPUPartitioningACI,
},
Expand All @@ -240,6 +259,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
installConfigWExternalPlatform,
&agentconfig.AgentHosts{},
&agentconfig.AgentConfig{},
},
expectedConfig: goodExternalPlatformACI,
},
Expand All @@ -249,6 +269,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
installConfigWExternalOCIPlatform,
&agentconfig.AgentHosts{},
&agentconfig.AgentConfig{},
},
expectedConfig: goodExternalOCIPlatformACI,
},
Expand All @@ -258,6 +279,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
getValidOptionalInstallConfigWithProvisioning(),
getAgentHostsWithBMCConfig(),
&agentconfig.AgentConfig{},
},
expectedConfig: goodBaremetalPlatformBMCACI,
},
Expand All @@ -267,6 +289,7 @@ func TestAgentClusterInstall_Generate(t *testing.T) {
&workflow.AgentWorkflow{Workflow: workflow.AgentWorkflowTypeInstall},
installConfigWithTrustBundlePolicy,
&agentconfig.AgentHosts{},
&agentconfig.AgentConfig{},
},
expectedConfig: goodTrustBundlePolicyACI,
},
Expand Down
34 changes: 32 additions & 2 deletions pkg/asset/agent/manifests/common.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package manifests

import (
"fmt"
"net"

aiv1beta1 "github.com/openshift/assisted-service/api/v1beta1"
"github.com/openshift/installer/pkg/asset/agent"
"github.com/openshift/installer/pkg/ipnet"
"github.com/openshift/installer/pkg/types"
"github.com/openshift/installer/pkg/version"
)
Expand All @@ -19,11 +23,37 @@ func getPullSecretName(clusterName string) string {
return clusterName + "-pull-secret"
}

func getProxy(proxy *types.Proxy) *aiv1beta1.Proxy {
func getProxy(proxy *types.Proxy, machineNetwork *[]types.MachineNetworkEntry, rendezvousIP string) *aiv1beta1.Proxy {
noProxy := proxy.NoProxy
if (proxy.HTTPProxy != "" || proxy.HTTPSProxy != "") && rendezvousIP != "" {
// if proxy set, add the machineNetwork corresponding to rendezvousIP to noproxy
cidr := ""
if machineNetwork != nil {
for _, mn := range *machineNetwork {
ipNet, err := ipnet.ParseCIDR(mn.CIDR.String())
if err != nil {
continue
}
ip := net.ParseIP(rendezvousIP)
if ipNet.Contains(ip) {
cidr = mn.CIDR.String()
break
}
}
}

if cidr != "" {
if noProxy == "" {
noProxy = cidr
} else {
noProxy = fmt.Sprintf("%s,%s", noProxy, cidr)
}
}
}
return &aiv1beta1.Proxy{
HTTPProxy: proxy.HTTPProxy,
HTTPSProxy: proxy.HTTPSProxy,
NoProxy: proxy.NoProxy,
NoProxy: noProxy,
}
}

Expand Down
Loading

0 comments on commit c3e9b51

Please sign in to comment.