Merge pull request #335 from JulienBalestra/json_ext

libcni conf: support .json file extension
This commit is contained in:
Dan Williams 2016-12-02 13:33:36 -06:00 committed by GitHub
commit b0808a006a
2 changed files with 18 additions and 1 deletions

View File

@ -55,7 +55,8 @@ func ConfFiles(dir string) ([]string, error) {
if f.IsDir() { if f.IsDir() {
continue continue
} }
if filepath.Ext(f.Name()) == ".conf" { fileExt := filepath.Ext(f.Name())
if fileExt == ".conf" || fileExt == ".json" {
confFiles = append(confFiles, filepath.Join(dir, f.Name())) confFiles = append(confFiles, filepath.Join(dir, f.Name()))
} }
} }

View File

@ -69,6 +69,22 @@ var _ = Describe("Loading configuration from disk", func() {
}) })
}) })
Context("when the config file is .json extension instead of .conf", func() {
BeforeEach(func() {
Expect(os.Remove(configDir + "/50-whatever.conf")).To(Succeed())
pluginConfig = []byte(`{ "name": "some-plugin", "some-key": "some-value" }`)
Expect(ioutil.WriteFile(filepath.Join(configDir, "50-whatever.json"), pluginConfig, 0600)).To(Succeed())
})
It("finds the network config file for the plugin of the given type", func() {
netConfig, err := libcni.LoadConf(configDir, "some-plugin")
Expect(err).NotTo(HaveOccurred())
Expect(netConfig).To(Equal(&libcni.NetworkConfig{
Network: &types.NetConf{Name: "some-plugin"},
Bytes: pluginConfig,
}))
})
})
Context("when there is no config for the desired plugin", func() { Context("when there is no config for the desired plugin", func() {
It("returns a useful error", func() { It("returns a useful error", func() {
_, err := libcni.LoadConf(configDir, "some-other-plugin") _, err := libcni.LoadConf(configDir, "some-other-plugin")