Skip to content

Commit 3a18901

Browse files
authored
Merge pull request #11585 from dmpe/mytests
minikube start --image-repository will now accept URLs with port
2 parents d491eb8 + 0c721cb commit 3a18901

File tree

2 files changed

+34
-20
lines changed

2 files changed

+34
-20
lines changed

cmd/minikube/cmd/start.go

+20-10
Original file line numberDiff line numberDiff line change
@@ -1274,26 +1274,36 @@ func validateRegistryMirror() {
12741274

12751275
// This function validates if the --image-repository
12761276
// args match the format of registry.cn-hangzhou.aliyuncs.com/google_containers
1277-
func validateImageRepository(imagRepo string) (vaildImageRepo string) {
1277+
// also "<hostname>[:<port>]"
1278+
func validateImageRepository(imageRepo string) (validImageRepo string) {
12781279

1279-
if strings.ToLower(imagRepo) == "auto" {
1280-
vaildImageRepo = "auto"
1280+
if strings.ToLower(imageRepo) == "auto" {
1281+
validImageRepo = "auto"
12811282
}
1282-
URL, err := url.Parse(imagRepo)
1283+
URL, err := url.Parse(imageRepo)
1284+
12831285
if err != nil {
12841286
klog.Errorln("Error Parsing URL: ", err)
12851287
}
1286-
// tips when imagRepo ended with a trailing /.
1287-
if strings.HasSuffix(imagRepo, "/") {
1288+
1289+
var imageRepoPort string
1290+
1291+
if URL.Port() != "" && strings.Contains(imageRepo, ":"+URL.Port()) {
1292+
imageRepoPort = ":" + URL.Port()
1293+
}
1294+
1295+
// tips when imageRepo ended with a trailing /.
1296+
if strings.HasSuffix(imageRepo, "/") {
12881297
out.Infof("The --image-repository flag your provided ended with a trailing / that could cause conflict in kuberentes, removed automatically")
12891298
}
1290-
// tips when imageRepo started with scheme.
1299+
// tips when imageRepo started with scheme such as http(s).
12911300
if URL.Scheme != "" {
1292-
out.Infof("The --image-repository flag your provided contains Scheme: {{.scheme}}, it will be as a domian, removed automatically", out.V{"scheme": URL.Scheme})
1301+
out.Infof("The --image-repository flag your provided contains Scheme: {{.scheme}}, which will be removed automatically", out.V{"scheme": URL.Scheme})
12931302
}
12941303

1295-
vaildImageRepo = URL.Hostname() + strings.TrimSuffix(URL.Path, "/")
1296-
return
1304+
validImageRepo = URL.Hostname() + imageRepoPort + strings.TrimSuffix(URL.Path, "/")
1305+
1306+
return validImageRepo
12971307
}
12981308

12991309
// This function validates if the --listen-address

cmd/minikube/cmd/start_test.go

+14-10
Original file line numberDiff line numberDiff line change
@@ -320,40 +320,44 @@ func TestBaseImageFlagDriverCombo(t *testing.T) {
320320
func TestValidateImageRepository(t *testing.T) {
321321
var tests = []struct {
322322
imageRepository string
323-
vaildImageRepository string
323+
validImageRepository string
324324
}{
325325
{
326326
imageRepository: "auto",
327-
vaildImageRepository: "auto",
327+
validImageRepository: "auto",
328328
},
329329
{
330330
imageRepository: "http://registry.test.com/google_containers/",
331-
vaildImageRepository: "registry.test.com/google_containers",
331+
validImageRepository: "registry.test.com/google_containers",
332332
},
333333
{
334334
imageRepository: "https://registry.test.com/google_containers/",
335-
vaildImageRepository: "registry.test.com/google_containers",
335+
validImageRepository: "registry.test.com/google_containers",
336336
},
337337
{
338338
imageRepository: "registry.test.com/google_containers/",
339-
vaildImageRepository: "registry.test.com/google_containers",
339+
validImageRepository: "registry.test.com/google_containers",
340340
},
341341
{
342342
imageRepository: "http://registry.test.com/google_containers",
343-
vaildImageRepository: "registry.test.com/google_containers",
343+
validImageRepository: "registry.test.com/google_containers",
344344
},
345345
{
346346
imageRepository: "https://registry.test.com/google_containers",
347-
vaildImageRepository: "registry.test.com/google_containers",
347+
validImageRepository: "registry.test.com/google_containers",
348+
},
349+
{
350+
imageRepository: "https://registry.test.com:6666/google_containers",
351+
validImageRepository: "registry.test.com:6666/google_containers",
348352
},
349353
}
350354

351355
for _, test := range tests {
352356
t.Run(test.imageRepository, func(t *testing.T) {
353-
vaildImageRepository := validateImageRepository(test.imageRepository)
354-
if vaildImageRepository != test.vaildImageRepository {
357+
validImageRepository := validateImageRepository(test.imageRepository)
358+
if validImageRepository != test.validImageRepository {
355359
t.Errorf("validateImageRepository(imageRepo=%v): got %v, expected %v",
356-
test.imageRepository, vaildImageRepository, test.vaildImageRepository)
360+
test.imageRepository, validImageRepository, test.validImageRepository)
357361
}
358362
})
359363
}

0 commit comments

Comments
 (0)