| package wclayer |
| |
| import ( |
| "github.com/Microsoft/go-winio/pkg/guid" |
| "github.com/Microsoft/hcsshim/internal/hcserror" |
| "github.com/sirupsen/logrus" |
| ) |
| |
| // NameToGuid converts the given string into a GUID using the algorithm in the |
| // Host Compute Service, ensuring GUIDs generated with the same string are common |
| // across all clients. |
| func NameToGuid(name string) (id guid.GUID, err error) { |
| title := "hcsshim::NameToGuid" |
| fields := logrus.Fields{ |
| "name": name, |
| } |
| logrus.WithFields(fields).Debug(title) |
| defer func() { |
| if err != nil { |
| fields[logrus.ErrorKey] = err |
| logrus.WithFields(fields).Error(err) |
| } else { |
| logrus.WithFields(fields).Debug(title + " - succeeded") |
| } |
| }() |
| |
| err = nameToGuid(name, &id) |
| if err != nil { |
| err = hcserror.New(err, title+" - failed", "") |
| return |
| } |
| fields["guid"] = id.String() |
| return |
| } |