Little helper to run CNCF's k3s in Docker
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
k3d/vendor/github.com/Microsoft/hcsshim/internal/wclayer/nametoguid.go

30 lines
901 B

5 years ago
package wclayer
import (
"context"
"github.com/Microsoft/go-winio/pkg/guid"
5 years ago
"github.com/Microsoft/hcsshim/internal/hcserror"
"github.com/Microsoft/hcsshim/internal/oc"
"go.opencensus.io/trace"
5 years ago
)
// 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(ctx context.Context, name string) (_ guid.GUID, err error) {
5 years ago
title := "hcsshim::NameToGuid"
ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck
defer span.End()
defer func() { oc.SetSpanStatus(span, err) }()
3 years ago
span.AddAttributes(trace.StringAttribute("objectName", name))
5 years ago
var id guid.GUID
5 years ago
err = nameToGuid(name, &id)
if err != nil {
3 years ago
return guid.GUID{}, hcserror.New(err, title, "")
5 years ago
}
span.AddAttributes(trace.StringAttribute("guid", id.String()))
return id, nil
5 years ago
}