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:
parent
b0ae7b3d72
commit
ea58d15690
|
|
@ -1,5 +1,3 @@
|
|||
*.idea
|
||||
go.mod
|
||||
go.sum
|
||||
.vscode
|
||||
.DS_Store
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
module github.com/kubeflow/manifests
|
||||
|
||||
go 1.12
|
||||
|
||||
require sigs.k8s.io/kustomize/v3 v3.2.0
|
||||
|
|
@ -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=
|
||||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
@ -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)
|
||||
|
|
@ -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))
|
||||
}
|
||||
|
|
@ -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))
|
||||
}
|
||||
|
|
@ -236,6 +236,7 @@ rules:
|
|||
- update
|
||||
- patch
|
||||
- delete
|
||||
|
||||
---
|
||||
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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", `
|
||||
---
|
||||
|
|
|
|||
|
|
@ -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", `
|
||||
---
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue