diff --git a/datasource/configdrive/configdrive.go b/datasource/configdrive/configdrive.go index 3d9b459..bbadf64 100644 --- a/datasource/configdrive/configdrive.go +++ b/datasource/configdrive/configdrive.go @@ -60,7 +60,7 @@ func (cd *configDrive) FetchMetadata() (metadata datasource.Metadata, err error) } `json:"network_config"` } - if data, err = cd.tryReadFile(path.Join(cd.openstackVersionRoot(), "meta_data.json")); err != nil { + if data, err = cd.tryReadFile(path.Join(cd.openstackVersionRoot(), "meta_data.json")); err != nil || len(data) == 0 { return } if err = json.Unmarshal([]byte(data), &m); err != nil { diff --git a/datasource/configdrive/configdrive_test.go b/datasource/configdrive/configdrive_test.go index 0dd49a8..d384890 100644 --- a/datasource/configdrive/configdrive_test.go +++ b/datasource/configdrive/configdrive_test.go @@ -29,6 +29,10 @@ func TestFetchMetadata(t *testing.T) { metadata datasource.Metadata }{ + { + root: "/", + files: test.MockFilesystem{"/openstack/latest/meta_data.json": ""}, + }, { root: "/", files: test.MockFilesystem{"/openstack/latest/meta_data.json": `{"ignore": "me"}`},