make generate about to break when kustomize new release is published. (#419)

* Kustomize 3.2.0 API Changes: Add go.mod

* Kustomize 3.2.0 API Changes: Implement code review

* Kustomize 3.2.0 API Changes: Rerun generate

During test of generation outside GOPATH, discovered that some
tests had not be regenerated.
This commit is contained in:
Jerome Brette 2019-10-06 00:35:10 -05:00 committed by Kubernetes Prow Robot
parent b0ae7b3d72
commit ea58d15690
16 changed files with 166 additions and 1445 deletions

2
.gitignore vendored
View File

@ -1,5 +1,3 @@
*.idea
go.mod
go.sum
.vscode
.DS_Store

5
go.mod Normal file
View File

@ -0,0 +1,5 @@
module github.com/kubeflow/manifests
go 1.12
require sigs.k8s.io/kustomize/v3 v3.2.0

143
go.sum Normal file
View File

@ -0,0 +1,143 @@
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/emicklei/go-restful v2.9.6+incompatible h1:tfrHha8zJ01ywiOEC1miGY8st1/igzWB8OmvPgoYX7w=
github.com/emicklei/go-restful v2.9.6+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M=
github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0=
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w=
github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
github.com/go-openapi/spec v0.19.2 h1:SStNd1jRcYtfKCN7R0laGNs80WYYvn5CbBjM2sOmCrE=
github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
github.com/go-openapi/swag v0.19.2 h1:jvO6bCMBEilGwMfHhrd61zIID4oIFdwb76V17SM88dE=
github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/googleapis/gnostic v0.0.0-20170426233943-68f4ded48ba9/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
github.com/googleapis/gnostic v0.3.0 h1:CcQijm0XKekKjP/YCz28LXVSpgguuB+nCxaSjCe09y0=
github.com/googleapis/gnostic v0.3.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190620125010-da37f6c1e481 h1:IaSjLMT6WvkoZZjspGxy3rdaTEmWLoRm49WbtVUi9sA=
github.com/mailru/easyjson v0.0.0-20190620125010-da37f6c1e481/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w=
github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo=
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/spf13/cobra v0.0.2/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190621203818-d432491b9138 h1:t8BZD9RDjkm9/h7yYN6kE8oaeov5r9aztkB7zKA5Tkg=
golang.org/x/sys v0.0.0-20190621203818-d432491b9138/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
k8s.io/api v0.0.0-20190313235455-40a48860b5ab h1:DG9A67baNpoeweOy2spF1OWHhnVY5KR7/Ek/+U1lVZc=
k8s.io/api v0.0.0-20190313235455-40a48860b5ab/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA=
k8s.io/apimachinery v0.0.0-20190313205120-d7deff9243b1 h1:IS7K02iBkQXpCeieSiyJjGoLSdVOv2DbPaWHJ+ZtgKg=
k8s.io/apimachinery v0.0.0-20190313205120-d7deff9243b1/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0=
k8s.io/client-go v11.0.0+incompatible h1:LBbX2+lOwY9flffWlJM7f1Ct8V2SRNiMRDFeiwnJo9o=
k8s.io/client-go v11.0.0+incompatible/go.mod h1:7vJpHMYJwNQCWgzmNV+VYUl1zCObLyodBc8nIyt8L5s=
k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v0.3.3 h1:niceAagH1tzskmaie/icWd7ci1wbG7Bf2c6YGcQv+3c=
k8s.io/klog v0.3.3/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/kube-openapi v0.0.0-20190603182131-db7b694dc208 h1:5sW+fEHvlJI3Ngolx30CmubFulwH28DhKjGf70Xmtco=
k8s.io/kube-openapi v0.0.0-20190603182131-db7b694dc208/go.mod h1:nfDlWeOsu3pUf4yWGL+ERqohP4YsZcBJXWMK+gkzOA4=
sigs.k8s.io/kustomize/v3 v3.2.0 h1:EKcEubO29vCbigcMoNynfyZH+ANWkML2UHWibt1Do7o=
sigs.k8s.io/kustomize/v3 v3.2.0/go.mod h1:ztX4zYc/QIww3gSripwF7TBOarBTm5BvyAMem0kCzOE=
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=

View File

@ -27,7 +27,10 @@ generate: clean
@cd .. && hack/gen-test-targets.sh && [ -n "$(EXCLUDE)" ] && rm -f tests/$(EXCLUDE) || echo done
$(GO) fmt ./...
test:
modules:
@GO111MODULE=on $(GO) mod download
test: modules
@GO111MODULE=on $(GO) test -v .
clean:

View File

@ -184,12 +184,10 @@ varReference:
- path: spec/mode
kind: ClusterRbacConfig
- path: spec/selector
kind: Gateway
`)
kind: Gateway`)
th.writeF("/manifests/istio/istio/base/params.env", `
clusterRbacConfig=ON
gatewaySelector=ingressgateway
`)
gatewaySelector=ingressgateway`)
th.writeK("/manifests/istio/istio/base", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

View File

@ -13,7 +13,7 @@ import (
"testing"
)
func writeKatibV3ControllerIstio(th *KustTestHarness) {
func writeKatibControllerOverlaysIstio(th *KustTestHarness) {
th.writeF("/manifests/katib/katib-controller/overlays/istio/katib-ui-virtual-service.yaml", `
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
@ -639,9 +639,9 @@ configurations:
`)
}
func TestKatibV3ControllerIstio(t *testing.T) {
func TestKatibControllerOverlaysIstio(t *testing.T) {
th := NewKustTestHarness(t, "/manifests/katib/katib-controller/overlays/istio")
writeKatibV3ControllerIstio(th)
writeKatibControllerOverlaysIstio(th)
m, err := th.makeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)

View File

@ -13,7 +13,7 @@ import (
"testing"
)
func writeKatibV3CrdsBase(th *KustTestHarness) {
func writeKatibCrdsBase(th *KustTestHarness) {
th.writeF("/manifests/katib/katib-crds/base/experiment-crd.yaml", `
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
@ -115,9 +115,9 @@ generatorOptions:
`)
}
func TestKatibV3CrdsBase(t *testing.T) {
func TestKatibCrdsBase(t *testing.T) {
th := NewKustTestHarness(t, "/manifests/katib/katib-crds/base")
writeKatibV3CrdsBase(th)
writeKatibCrdsBase(th)
m, err := th.makeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)

View File

@ -1,634 +0,0 @@
package tests_test
import (
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
"sigs.k8s.io/kustomize/v3/k8sdeps/transformer"
"sigs.k8s.io/kustomize/v3/pkg/fs"
"sigs.k8s.io/kustomize/v3/pkg/loader"
"sigs.k8s.io/kustomize/v3/pkg/plugins"
"sigs.k8s.io/kustomize/v3/pkg/resmap"
"sigs.k8s.io/kustomize/v3/pkg/resource"
"sigs.k8s.io/kustomize/v3/pkg/target"
"sigs.k8s.io/kustomize/v3/pkg/validators"
"testing"
)
func writeKatibV3ControllerBase(th *KustTestHarness) {
th.writeF("/manifests/katib/katib-controller/base/katib-configmap.yaml", `
apiVersion: v1
kind: ConfigMap
metadata:
name: katib-config
data:
metrics-collector-sidecar: |-
{
"StdOut": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector"
},
"File": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector"
},
"TensorFlowEvent": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector"
}
}
suggestion: |-
{
"random": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt"
},
"grid": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate"
},
"hyperband": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband"
},
"bayesianoptimization": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt"
},
"tpe": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt"
},
"nasrl": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-nasrl"
}
}
`)
th.writeF("/manifests/katib/katib-controller/base/katib-controller-deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
metadata:
name: katib-controller
labels:
app: katib-controller
spec:
replicas: 1
selector:
matchLabels:
app: katib-controller
template:
metadata:
labels:
app: katib-controller
spec:
serviceAccountName: katib-controller
containers:
- name: katib-controller
image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller
imagePullPolicy: IfNotPresent
command: ["./katib-controller"]
ports:
- containerPort: 443
name: webhook
protocol: TCP
env:
- name: KATIB_CORE_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
volumeMounts:
- mountPath: /tmp/cert
name: cert
readOnly: true
volumes:
- name: cert
secret:
defaultMode: 420
secretName: katib-controller
`)
th.writeF("/manifests/katib/katib-controller/base/katib-controller-rbac.yaml", `
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: katib-controller
rules:
- apiGroups:
- ""
resources:
- configmaps
- serviceaccounts
- services
- secrets
- events
- namespaces
verbs:
- "*"
- apiGroups:
- ""
resources:
- pods
- pods/log
- pods/status
verbs:
- "*"
- apiGroups:
- apps
resources:
- deployments
verbs:
- "*"
- apiGroups:
- batch
resources:
- jobs
- cronjobs
verbs:
- "*"
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- create
- get
- apiGroups:
- admissionregistration.k8s.io
resources:
- validatingwebhookconfigurations
- mutatingwebhookconfigurations
verbs:
- '*'
- apiGroups:
- kubeflow.org
resources:
- experiments
- experiments/status
- trials
- trials/status
- suggestions
- suggestions/status
verbs:
- "*"
- apiGroups:
- kubeflow.org
resources:
- tfjobs
- pytorchjobs
verbs:
- "*"
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: katib-controller
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: katib-controller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: katib-controller
subjects:
- kind: ServiceAccount
name: katib-controller
`)
th.writeF("/manifests/katib/katib-controller/base/katib-controller-secret.yaml", `
apiVersion: v1
kind: Secret
metadata:
name: katib-controller
`)
th.writeF("/manifests/katib/katib-controller/base/katib-controller-service.yaml", `
apiVersion: v1
kind: Service
metadata:
name: katib-controller
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
app: katib-controller
`)
th.writeF("/manifests/katib/katib-controller/base/katib-db-deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
metadata:
name: katib-db
labels:
app: katib
component: db
spec:
replicas: 1
selector:
matchLabels:
app: katib
component: db
template:
metadata:
name: katib-db
labels:
app: katib
component: db
spec:
containers:
- name: katib-db
image: mysql:8.0.3
args:
- --datadir
- /var/lib/mysql/datadir
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: katib-db-secrets
key: MYSQL_ROOT_PASSWORD
- name: MYSQL_ALLOW_EMPTY_PASSWORD
value: "true"
- name: MYSQL_DATABASE
value: "katib"
ports:
- name: dbapi
containerPort: 3306
readinessProbe:
exec:
command:
- "/bin/bash"
- "-c"
- "mysql -D $$MYSQL_DATABASE -p$$MYSQL_ROOT_PASSWORD -e 'SELECT 1'"
initialDelaySeconds: 5
periodSeconds: 2
timeoutSeconds: 1
volumeMounts:
- name: katib-mysql
mountPath: /var/lib/mysql
volumes:
- name: katib-mysql
persistentVolumeClaim:
claimName: katib-mysql
`)
th.writeF("/manifests/katib/katib-controller/base/katib-db-pvc.yaml", `
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: katib-mysql
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
`)
th.writeF("/manifests/katib/katib-controller/base/katib-db-secret.yaml", `
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: katib-db-secrets
data:
MYSQL_ROOT_PASSWORD: dGVzdA== # "test"
`)
th.writeF("/manifests/katib/katib-controller/base/katib-db-service.yaml", `
apiVersion: v1
kind: Service
metadata:
name: katib-db
labels:
app: katib
component: db
spec:
type: ClusterIP
ports:
- port: 3306
protocol: TCP
name: dbapi
selector:
app: katib
component: db
`)
th.writeF("/manifests/katib/katib-controller/base/katib-manager-deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
metadata:
name: katib-manager
labels:
app: katib
component: manager
spec:
replicas: 1
selector:
matchLabels:
app: katib
component: manager
template:
metadata:
name: katib-manager
labels:
app: katib
component: manager
spec:
containers:
- name: katib-manager
image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-manager
imagePullPolicy: IfNotPresent
env:
- name : DB_NAME
value: "mysql"
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: katib-db-secrets
key: MYSQL_ROOT_PASSWORD
command:
- './katib-manager'
ports:
- name: api
containerPort: 6789
readinessProbe:
exec:
command: ["/bin/grpc_health_probe", "-addr=:6789"]
initialDelaySeconds: 5
livenessProbe:
exec:
command: ["/bin/grpc_health_probe", "-addr=:6789"]
initialDelaySeconds: 10
`)
th.writeF("/manifests/katib/katib-controller/base/katib-manager-rest-deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
metadata:
name: katib-manager-rest
labels:
app: katib
component: manager-rest
spec:
replicas: 1
selector:
matchLabels:
app: katib
component: manager-rest
template:
metadata:
name: katib-manager-rest
labels:
app: katib
component: manager-rest
spec:
containers:
- name: katib-manager-rest
image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-manager-rest
imagePullPolicy: IfNotPresent
command:
- './katib-manager-rest'
ports:
- name: api
containerPort: 80
`)
th.writeF("/manifests/katib/katib-controller/base/katib-manager-rest-service.yaml", `
apiVersion: v1
kind: Service
metadata:
name: katib-manager-rest
labels:
app: katib
component: manager-rest
spec:
type: ClusterIP
ports:
- port: 80
protocol: TCP
name: api
selector:
app: katib
component: manager-rest
`)
th.writeF("/manifests/katib/katib-controller/base/katib-manager-service.yaml", `
apiVersion: v1
kind: Service
metadata:
name: katib-manager
labels:
app: katib
component: manager
spec:
type: ClusterIP
ports:
- port: 6789
protocol: TCP
name: api
selector:
app: katib
component: manager
`)
th.writeF("/manifests/katib/katib-controller/base/katib-ui-deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
metadata:
name: katib-ui
labels:
app: katib
component: ui
spec:
replicas: 1
selector:
matchLabels:
app: katib
component: ui
template:
metadata:
name: katib-ui
labels:
app: katib
component: ui
spec:
containers:
- name: katib-ui
image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui
imagePullPolicy: IfNotPresent
command:
- './katib-ui'
env:
- name: KATIB_CORE_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
ports:
- name: ui
containerPort: 80
serviceAccountName: katib-ui
`)
th.writeF("/manifests/katib/katib-controller/base/katib-ui-rbac.yaml", `
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: katib-ui
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- "*"
- apiGroups:
- kubeflow.org
resources:
- experiments
- trials
verbs:
- "*"
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: katib-ui
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: katib-ui
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: katib-ui
subjects:
- kind: ServiceAccount
name: katib-ui
`)
th.writeF("/manifests/katib/katib-controller/base/katib-ui-service.yaml", `
apiVersion: v1
kind: Service
metadata:
name: katib-ui
labels:
app: katib
component: ui
spec:
type: ClusterIP
ports:
- port: 80
protocol: TCP
name: ui
selector:
app: katib
component: ui
`)
th.writeF("/manifests/katib/katib-controller/base/trial-template-configmap.yaml", `
apiVersion: v1
kind: ConfigMap
metadata:
name: trial-template
data:
defaultTrialTemplate.yaml : |-
apiVersion: batch/v1
kind: Job
metadata:
name: {{.Trial}}
namespace: {{.NameSpace}}
spec:
template:
spec:
containers:
- name: {{.Trial}}
image: docker.io/katib/mxnet-mnist-example
command:
- "python"
- "/mxnet/example/image-classification/train_mnist.py"
- "--batch-size=64"
{{- with .HyperParameters}}
{{- range .}}
- "{{.Name}}={{.Value}}"
{{- end}}
{{- end}}
restartPolicy: Never
`)
th.writeF("/manifests/katib/katib-controller/base/params.yaml", `
varReference:
- path: data/config
kind: ConfigMap
- path: data/config
kind: Deployment
- path: metadata/annotations/getambassador.io\/config
kind: Service
`)
th.writeF("/manifests/katib/katib-controller/base/params.env", `
clusterDomain=cluster.local
`)
th.writeK("/manifests/katib/katib-controller/base", `
namespace: kubeflow
resources:
- katib-configmap.yaml
- katib-controller-deployment.yaml
- katib-controller-rbac.yaml
- katib-controller-secret.yaml
- katib-controller-service.yaml
- katib-db-deployment.yaml
- katib-db-pvc.yaml
- katib-db-secret.yaml
- katib-db-service.yaml
- katib-manager-deployment.yaml
- katib-manager-rest-deployment.yaml
- katib-manager-rest-service.yaml
- katib-manager-service.yaml
- katib-ui-deployment.yaml
- katib-ui-rbac.yaml
- katib-ui-service.yaml
- trial-template-configmap.yaml
configMapGenerator:
- name: katib-parameters
env: params.env
generatorOptions:
disableNameSuffixHash: true
images:
- name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller
newTag: 7ade03b
- name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-manager
newTag: 7ade03b
- name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-manager-rest
newTag: 7ade03b
- name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui
newTag: 7ade03b
- name: mysql
newTag: 8.0.3
vars:
- name: clusterDomain
objref:
kind: ConfigMap
name: katib-parameters
apiVersion: v1
fieldref:
fieldpath: data.clusterDomain
- name: namespace
objref:
kind: Service
name: katib-ui
apiVersion: v1
fieldref:
fieldpath: metadata.namespace
configurations:
- params.yaml
`)
}
func TestKatibV3ControllerBase(t *testing.T) {
th := NewKustTestHarness(t, "/manifests/katib/katib-controller/base")
writeKatibV3ControllerBase(th)
m, err := th.makeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
expected, err := m.AsYaml()
if err != nil {
t.Fatalf("Err: %v", err)
}
targetPath := "../katib/katib-controller/base"
fsys := fs.MakeRealFS()
lrc := loader.RestrictionRootOnly
_loader, loaderErr := loader.NewLoader(lrc, validators.MakeFakeValidator(), targetPath, fsys)
if loaderErr != nil {
t.Fatalf("could not load kustomize loader: %v", loaderErr)
}
rf := resmap.NewFactory(resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl()), transformer.NewFactoryImpl())
pc := plugins.DefaultPluginConfig()
kt, err := target.NewKustTarget(_loader, rf, transformer.NewFactoryImpl(), plugins.NewLoader(pc, rf))
if err != nil {
th.t.Fatalf("Unexpected construction error %v", err)
}
actual, err := kt.MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
th.assertActualEqualsExpected(actual, string(expected))
}

View File

@ -1,713 +0,0 @@
package tests_test
import (
"sigs.k8s.io/kustomize/v3/k8sdeps/kunstruct"
"sigs.k8s.io/kustomize/v3/k8sdeps/transformer"
"sigs.k8s.io/kustomize/v3/pkg/fs"
"sigs.k8s.io/kustomize/v3/pkg/loader"
"sigs.k8s.io/kustomize/v3/pkg/plugins"
"sigs.k8s.io/kustomize/v3/pkg/resmap"
"sigs.k8s.io/kustomize/v3/pkg/resource"
"sigs.k8s.io/kustomize/v3/pkg/target"
"sigs.k8s.io/kustomize/v3/pkg/validators"
"testing"
)
func writeKatibV3ControllerApplication(th *KustTestHarness) {
th.writeF("/manifests/katib/katib-controller/overlays/application/application.yaml", `
apiVersion: app.k8s.io/v1beta1
kind: Application
metadata:
name: katib
spec:
selector:
matchLabels:
app.kubernetes.io/name: katib
app.kubernetes.io/instance: katib
app.kubernetes.io/managed-by: kfctl
app.kubernetes.io/component: katib
app.kubernetes.io/part-of: kubeflow
app.kubernetes.io/version: v0.7
componentKinds:
- group: core
kind: Service
- group: apps
kind: Deployment
- group: core
kind: Secret
- group: core
kind: ServiceAccount
- group: kubeflow.org
kind: Experiment
- group: kubeflow.org
kind: Suggestion
- group: kubeflow.org
kind: Trial
descriptor:
type: "katib"
version: "v1alpha3"
description: "Katib is a service for hyperparameter tuning and neural architecture search."
maintainers:
- name: Ce Gao
email: gaoce@caicloud.io
- name: Johnu George
email: johnugeo@cisco.com
- name: Hougang Liu
email: liuhougang6@126.com
- name: Richard Liu
email: ricliu@google.com
- name: YujiOshima
email: yuji.oshima0x3fd@gmail.com
owners:
- name: Ce Gao
email: gaoce@caicloud.io
- name: Johnu George
email: johnugeo@cisco.com
- name: Hougang Liu
email: liuhougang6@126.com
- name: Richard Liu
email: ricliu@google.com
- name: YujiOshima
email: yuji.oshima0x3fd@gmail.com
keywords:
- katib
- katib-controller
- hyperparameter tuning
links:
- description: About
url: "https://github.com/kubeflow/katib"
addOwnerRef: true
`)
th.writeK("/manifests/katib/katib-controller/overlays/application", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
bases:
- ../../base
resources:
- application.yaml
commonLabels:
app.kubernetes.io/name: katib
app.kubernetes.io/instance: katib
app.kubernetes.io/managed-by: kfctl
app.kubernetes.io/component: katib
app.kubernetes.io/part-of: kubeflow
app.kubernetes.io/version: v0.7
`)
th.writeF("/manifests/katib/katib-controller/base/katib-configmap.yaml", `
apiVersion: v1
kind: ConfigMap
metadata:
name: katib-config
data:
metrics-collector-sidecar: |-
{
"StdOut": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector"
},
"File": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector"
},
"TensorFlowEvent": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/tfevent-metrics-collector"
}
}
suggestion: |-
{
"random": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt"
},
"grid": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-chocolate"
},
"hyperband": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperband"
},
"bayesianoptimization": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-skopt"
},
"tpe": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt"
},
"nasrl": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-nasrl"
}
}
`)
th.writeF("/manifests/katib/katib-controller/base/katib-controller-deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
metadata:
name: katib-controller
labels:
app: katib-controller
spec:
replicas: 1
selector:
matchLabels:
app: katib-controller
template:
metadata:
labels:
app: katib-controller
spec:
serviceAccountName: katib-controller
containers:
- name: katib-controller
image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller
imagePullPolicy: IfNotPresent
command: ["./katib-controller"]
ports:
- containerPort: 443
name: webhook
protocol: TCP
env:
- name: KATIB_CORE_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
volumeMounts:
- mountPath: /tmp/cert
name: cert
readOnly: true
volumes:
- name: cert
secret:
defaultMode: 420
secretName: katib-controller
`)
th.writeF("/manifests/katib/katib-controller/base/katib-controller-rbac.yaml", `
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: katib-controller
rules:
- apiGroups:
- ""
resources:
- configmaps
- serviceaccounts
- services
- secrets
- events
- namespaces
verbs:
- "*"
- apiGroups:
- ""
resources:
- pods
- pods/log
- pods/status
verbs:
- "*"
- apiGroups:
- apps
resources:
- deployments
verbs:
- "*"
- apiGroups:
- batch
resources:
- jobs
- cronjobs
verbs:
- "*"
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- create
- get
- apiGroups:
- admissionregistration.k8s.io
resources:
- validatingwebhookconfigurations
- mutatingwebhookconfigurations
verbs:
- '*'
- apiGroups:
- kubeflow.org
resources:
- experiments
- experiments/status
- trials
- trials/status
- suggestions
- suggestions/status
verbs:
- "*"
- apiGroups:
- kubeflow.org
resources:
- tfjobs
- pytorchjobs
verbs:
- "*"
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: katib-controller
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: katib-controller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: katib-controller
subjects:
- kind: ServiceAccount
name: katib-controller
`)
th.writeF("/manifests/katib/katib-controller/base/katib-controller-secret.yaml", `
apiVersion: v1
kind: Secret
metadata:
name: katib-controller
`)
th.writeF("/manifests/katib/katib-controller/base/katib-controller-service.yaml", `
apiVersion: v1
kind: Service
metadata:
name: katib-controller
spec:
ports:
- port: 443
protocol: TCP
targetPort: 443
selector:
app: katib-controller
`)
th.writeF("/manifests/katib/katib-controller/base/katib-db-deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
metadata:
name: katib-db
labels:
app: katib
component: db
spec:
replicas: 1
selector:
matchLabels:
app: katib
component: db
template:
metadata:
name: katib-db
labels:
app: katib
component: db
spec:
containers:
- name: katib-db
image: mysql:8.0.3
args:
- --datadir
- /var/lib/mysql/datadir
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: katib-db-secrets
key: MYSQL_ROOT_PASSWORD
- name: MYSQL_ALLOW_EMPTY_PASSWORD
value: "true"
- name: MYSQL_DATABASE
value: "katib"
ports:
- name: dbapi
containerPort: 3306
readinessProbe:
exec:
command:
- "/bin/bash"
- "-c"
- "mysql -D $$MYSQL_DATABASE -p$$MYSQL_ROOT_PASSWORD -e 'SELECT 1'"
initialDelaySeconds: 5
periodSeconds: 2
timeoutSeconds: 1
volumeMounts:
- name: katib-mysql
mountPath: /var/lib/mysql
volumes:
- name: katib-mysql
persistentVolumeClaim:
claimName: katib-mysql
`)
th.writeF("/manifests/katib/katib-controller/base/katib-db-pvc.yaml", `
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: katib-mysql
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
`)
th.writeF("/manifests/katib/katib-controller/base/katib-db-secret.yaml", `
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: katib-db-secrets
data:
MYSQL_ROOT_PASSWORD: dGVzdA== # "test"
`)
th.writeF("/manifests/katib/katib-controller/base/katib-db-service.yaml", `
apiVersion: v1
kind: Service
metadata:
name: katib-db
labels:
app: katib
component: db
spec:
type: ClusterIP
ports:
- port: 3306
protocol: TCP
name: dbapi
selector:
app: katib
component: db
`)
th.writeF("/manifests/katib/katib-controller/base/katib-manager-deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
metadata:
name: katib-manager
labels:
app: katib
component: manager
spec:
replicas: 1
selector:
matchLabels:
app: katib
component: manager
template:
metadata:
name: katib-manager
labels:
app: katib
component: manager
spec:
containers:
- name: katib-manager
image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-manager
imagePullPolicy: IfNotPresent
env:
- name : DB_NAME
value: "mysql"
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: katib-db-secrets
key: MYSQL_ROOT_PASSWORD
command:
- './katib-manager'
ports:
- name: api
containerPort: 6789
readinessProbe:
exec:
command: ["/bin/grpc_health_probe", "-addr=:6789"]
initialDelaySeconds: 5
livenessProbe:
exec:
command: ["/bin/grpc_health_probe", "-addr=:6789"]
initialDelaySeconds: 10
`)
th.writeF("/manifests/katib/katib-controller/base/katib-manager-rest-deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
metadata:
name: katib-manager-rest
labels:
app: katib
component: manager-rest
spec:
replicas: 1
selector:
matchLabels:
app: katib
component: manager-rest
template:
metadata:
name: katib-manager-rest
labels:
app: katib
component: manager-rest
spec:
containers:
- name: katib-manager-rest
image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-manager-rest
imagePullPolicy: IfNotPresent
command:
- './katib-manager-rest'
ports:
- name: api
containerPort: 80
`)
th.writeF("/manifests/katib/katib-controller/base/katib-manager-rest-service.yaml", `
apiVersion: v1
kind: Service
metadata:
name: katib-manager-rest
labels:
app: katib
component: manager-rest
spec:
type: ClusterIP
ports:
- port: 80
protocol: TCP
name: api
selector:
app: katib
component: manager-rest
`)
th.writeF("/manifests/katib/katib-controller/base/katib-manager-service.yaml", `
apiVersion: v1
kind: Service
metadata:
name: katib-manager
labels:
app: katib
component: manager
spec:
type: ClusterIP
ports:
- port: 6789
protocol: TCP
name: api
selector:
app: katib
component: manager
`)
th.writeF("/manifests/katib/katib-controller/base/katib-ui-deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
metadata:
name: katib-ui
labels:
app: katib
component: ui
spec:
replicas: 1
selector:
matchLabels:
app: katib
component: ui
template:
metadata:
name: katib-ui
labels:
app: katib
component: ui
spec:
containers:
- name: katib-ui
image: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui
imagePullPolicy: IfNotPresent
command:
- './katib-ui'
env:
- name: KATIB_CORE_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
ports:
- name: ui
containerPort: 80
serviceAccountName: katib-ui
`)
th.writeF("/manifests/katib/katib-controller/base/katib-ui-rbac.yaml", `
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: katib-ui
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- "*"
- apiGroups:
- kubeflow.org
resources:
- experiments
- trials
verbs:
- "*"
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: katib-ui
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: katib-ui
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: katib-ui
subjects:
- kind: ServiceAccount
name: katib-ui
`)
th.writeF("/manifests/katib/katib-controller/base/katib-ui-service.yaml", `
apiVersion: v1
kind: Service
metadata:
name: katib-ui
labels:
app: katib
component: ui
spec:
type: ClusterIP
ports:
- port: 80
protocol: TCP
name: ui
selector:
app: katib
component: ui
`)
th.writeF("/manifests/katib/katib-controller/base/trial-template-configmap.yaml", `
apiVersion: v1
kind: ConfigMap
metadata:
name: trial-template
data:
defaultTrialTemplate.yaml : |-
apiVersion: batch/v1
kind: Job
metadata:
name: {{.Trial}}
namespace: {{.NameSpace}}
spec:
template:
spec:
containers:
- name: {{.Trial}}
image: docker.io/katib/mxnet-mnist-example
command:
- "python"
- "/mxnet/example/image-classification/train_mnist.py"
- "--batch-size=64"
{{- with .HyperParameters}}
{{- range .}}
- "{{.Name}}={{.Value}}"
{{- end}}
{{- end}}
restartPolicy: Never
`)
th.writeF("/manifests/katib/katib-controller/base/params.yaml", `
varReference:
- path: data/config
kind: ConfigMap
- path: data/config
kind: Deployment
- path: metadata/annotations/getambassador.io\/config
kind: Service
`)
th.writeF("/manifests/katib/katib-controller/base/params.env", `
clusterDomain=cluster.local
`)
th.writeK("/manifests/katib/katib-controller/base", `
namespace: kubeflow
resources:
- katib-configmap.yaml
- katib-controller-deployment.yaml
- katib-controller-rbac.yaml
- katib-controller-secret.yaml
- katib-controller-service.yaml
- katib-db-deployment.yaml
- katib-db-pvc.yaml
- katib-db-secret.yaml
- katib-db-service.yaml
- katib-manager-deployment.yaml
- katib-manager-rest-deployment.yaml
- katib-manager-rest-service.yaml
- katib-manager-service.yaml
- katib-ui-deployment.yaml
- katib-ui-rbac.yaml
- katib-ui-service.yaml
- trial-template-configmap.yaml
configMapGenerator:
- name: katib-parameters
env: params.env
generatorOptions:
disableNameSuffixHash: true
images:
- name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller
newTag: 7ade03b
- name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-manager
newTag: 7ade03b
- name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-manager-rest
newTag: 7ade03b
- name: gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui
newTag: 7ade03b
- name: mysql
newTag: 8.0.3
vars:
- name: clusterDomain
objref:
kind: ConfigMap
name: katib-parameters
apiVersion: v1
fieldref:
fieldpath: data.clusterDomain
- name: namespace
objref:
kind: Service
name: katib-ui
apiVersion: v1
fieldref:
fieldpath: metadata.namespace
configurations:
- params.yaml
`)
}
func TestKatibV3ControllerApplication(t *testing.T) {
th := NewKustTestHarness(t, "/manifests/katib/katib-controller/overlays/application")
writeKatibV3ControllerApplication(th)
m, err := th.makeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
expected, err := m.AsYaml()
if err != nil {
t.Fatalf("Err: %v", err)
}
targetPath := "../katib/katib-controller/overlays/application"
fsys := fs.MakeRealFS()
lrc := loader.RestrictionRootOnly
_loader, loaderErr := loader.NewLoader(lrc, validators.MakeFakeValidator(), targetPath, fsys)
if loaderErr != nil {
t.Fatalf("could not load kustomize loader: %v", loaderErr)
}
rf := resmap.NewFactory(resource.NewFactory(kunstruct.NewKunstructuredFactoryImpl()), transformer.NewFactoryImpl())
pc := plugins.DefaultPluginConfig()
kt, err := target.NewKustTarget(_loader, rf, transformer.NewFactoryImpl(), plugins.NewLoader(pc, rf))
if err != nil {
th.t.Fatalf("Unexpected construction error %v", err)
}
actual, err := kt.MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
th.assertActualEqualsExpected(actual, string(expected))
}

View File

@ -236,6 +236,7 @@ rules:
- update
- patch
- delete
---
apiVersion: rbac.authorization.k8s.io/v1

View File

@ -35,7 +35,7 @@ spec:
kind: Deployment
- group: core
kind: ServiceAccount
descriptor:
descriptor:
type: notebook-controller
version: v1beta1
description: Notebooks controller allows users to create a custom resource \"Notebook\" (jupyter notebook).
@ -49,7 +49,7 @@ spec:
- jupyter
- notebook
- notebook-controller
- jupyterhub
- jupyterhub
links:
- description: About
url: "https://github.com/kubeflow/kubeflow/tree/master/components/notebook-controller"

View File

@ -109,63 +109,6 @@ spec:
image: gcr.io/ml-pipeline/scheduledworkflow:0.1.23
imagePullPolicy: IfNotPresent
serviceAccountName: ml-pipeline-scheduledworkflow
`)
th.writeF("/manifests/pipeline/scheduledworkflow/base/cluster-role.yaml", `
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kubeflow-scheduledworkflows-admin
labels:
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-admin: "true"
aggregationRule:
clusterRoleSelectors:
- matchLabels:
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-scheduledworkflows-admin: "true"
rules: null
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kubeflow-scheduledworkflows-edit
labels:
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-edit: "true"
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-scheduledworkflows-admin: "true"
rules:
- apiGroups:
- kubeflow.org
resources:
- scheduledworkflows
verbs:
- get
- list
- watch
- create
- delete
- deletecollection
- patch
- update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kubeflow-scheduledworkflows-view
labels:
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-view: "true"
rules:
- apiGroups:
- kubeflow.org
resources:
- scheduledworkflows
verbs:
- get
- list
- watch
`)
th.writeF("/manifests/pipeline/scheduledworkflow/base/role-binding.yaml", `
apiVersion: rbac.authorization.k8s.io/v1beta1

View File

@ -25,5 +25,4 @@ cd tests
# the tests depend on kustomize
export PATH=${GOPATH}/bin:/usr/local/go/bin:${PATH}
export GO111MODULE=on
go get sigs.k8s.io/kustomize/v3
make test

View File

@ -129,17 +129,6 @@ rules:
- get
- list
- watch
`)
th.writeF("/manifests/tf-training/tf-job-operator/base/config-map.yaml", `
apiVersion: v1
data:
controller_config_file.yaml: |-
{
"grpcServerFilePath": "/opt/mlkube/grpc_tensorflow_server/grpc_tensorflow_server.py"
}
kind: ConfigMap
metadata:
name: tf-job-operator-config
`)
th.writeF("/manifests/tf-training/tf-job-operator/base/deployment.yaml", `
---

View File

@ -27,7 +27,7 @@ spec:
app.kubernetes.io/managed-by: kfctl
app.kubernetes.io/component: tfjob
app.kubernetes.io/part-of: kubeflow
app.kubernetes.io/version: v0.6
app.kubernetes.io/version: v0.6
componentKinds:
- group: core
kind: Service
@ -66,7 +66,7 @@ bases:
resources:
- application.yaml
commonLabels:
app.kubernetes.io/name: tf-job-operator
app.kubernetes.io/name: tf-job-operator
app.kubernetes.io/instance: tf-job-operator
app.kubernetes.io/managed-by: kfctl
app.kubernetes.io/component: tfjob
@ -188,17 +188,6 @@ rules:
- get
- list
- watch
`)
th.writeF("/manifests/tf-training/tf-job-operator/base/config-map.yaml", `
apiVersion: v1
data:
controller_config_file.yaml: |-
{
"grpcServerFilePath": "/opt/mlkube/grpc_tensorflow_server/grpc_tensorflow_server.py"
}
kind: ConfigMap
metadata:
name: tf-job-operator-config
`)
th.writeF("/manifests/tf-training/tf-job-operator/base/deployment.yaml", `
---

View File

@ -113,7 +113,7 @@ spec:
- name: webhook-cert
secret:
secretName: webhook-certs
serviceAccountName: service-account
serviceAccountName: service-account
`)
th.writeF("/manifests/admission-webhook/webhook/base/mutating-webhook-configuration.yaml", `
apiVersion: admissionregistration.k8s.io/v1beta1