本文整理汇总了Golang中github.com/cloudfoundry/bosh-agent/internal/github.com/cloudfoundry/bosh-utils/errors.Error函数的典型用法代码示例。如果您正苦于以下问题:Golang Error函数的具体用法?Golang Error怎么用?Golang Error使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Error函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: GetDefaultNetwork
func (r defaultNetworkResolver) GetDefaultNetwork() (boshsettings.Network, error) {
network := boshsettings.Network{}
routes, err := r.routesSearcher.SearchRoutes()
if err != nil {
return network, bosherr.WrapError(err, "Searching routes")
}
if len(routes) == 0 {
return network, bosherr.Error("No routes found")
}
for _, route := range routes {
if !route.IsDefault() {
continue
}
ip, err := r.ipResolver.GetPrimaryIPv4(route.InterfaceName)
if err != nil {
return network, bosherr.WrapErrorf(err, "Getting primary IPv4 for interface '%s'", route.InterfaceName)
}
return boshsettings.Network{
IP: ip.IP.String(),
Netmask: gonet.IP(ip.Mask).String(),
Gateway: route.Gateway,
}, nil
}
return network, bosherr.Error("Failed to find default route")
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:32,代码来源:default_network_resolver.go
示例2: Run
func (r concreteRunner) Run(action Action, payloadBytes []byte) (value interface{}, err error) {
payloadArgs, err := r.extractJSONArguments(payloadBytes)
if err != nil {
err = bosherr.WrapError(err, "Extracting json arguments")
return
}
actionValue := reflect.ValueOf(action)
runMethodValue := actionValue.MethodByName("Run")
if runMethodValue.Kind() != reflect.Func {
err = bosherr.Error("Run method not found")
return
}
runMethodType := runMethodValue.Type()
if r.invalidReturnTypes(runMethodType) {
err = bosherr.Error("Run method should return a value and an error")
return
}
methodArgs, err := r.extractMethodArgs(runMethodType, payloadArgs)
if err != nil {
err = bosherr.WrapError(err, "Extracting method arguments from payload")
return
}
values := runMethodValue.Call(methodArgs)
return r.extractReturns(values)
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:29,代码来源:runner.go
示例3: buildWithoutRegistry
func (f SettingsSourceFactory) buildWithoutRegistry() (boshsettings.Source, error) {
var settingsSources []boshsettings.Source
for _, opts := range f.options.Sources {
var settingsSource boshsettings.Source
switch typedOpts := opts.(type) {
case HTTPSourceOptions:
return nil, bosherr.Error("HTTP source is not supported without registry")
case ConfigDriveSourceOptions:
settingsSource = NewConfigDriveSettingsSource(
typedOpts.DiskPaths,
typedOpts.MetaDataPath,
typedOpts.SettingsPath,
f.platform,
f.logger,
)
case FileSourceOptions:
return nil, bosherr.Error("File source is not supported without registry")
case CDROMSourceOptions:
settingsSource = NewCDROMSettingsSource(
typedOpts.FileName,
f.platform,
f.logger,
)
}
settingsSources = append(settingsSources, settingsSource)
}
return NewMultiSettingsSource(settingsSources...)
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:35,代码来源:settings_source_factory.go
示例4: determineParams
func (a DrainAction) determineParams(drainType DrainType, currentSpec boshas.V1ApplySpec, newSpecs []boshas.V1ApplySpec) (boshdrain.ScriptParams, error) {
var newSpec *boshas.V1ApplySpec
var params boshdrain.ScriptParams
if len(newSpecs) > 0 {
newSpec = &newSpecs[0]
}
switch drainType {
case DrainTypeStatus:
// Status was used in the past when dynamic drain was implemented in the Director.
// Now that we implement it in the agent, we should never get a call for this type.
return params, bosherr.Error("Unexpected call with drain type 'status'")
case DrainTypeUpdate:
if newSpec == nil {
return params, bosherr.Error("Drain update requires new spec")
}
params = boshdrain.NewUpdateParams(currentSpec, *newSpec)
case DrainTypeShutdown:
err := a.notifier.NotifyShutdown()
if err != nil {
return params, bosherr.WrapError(err, "Notifying shutdown")
}
params = boshdrain.NewShutdownParams(currentSpec, newSpec)
}
return params, nil
}
开发者ID:pivotal-nader-ziada,项目名称:bosh-agent,代码行数:32,代码来源:drain.go
示例5: findRootDevicePath
func (p linux) findRootDevicePath() (string, error) {
mounts, err := p.diskManager.GetMountsSearcher().SearchMounts()
if err != nil {
return "", bosherr.WrapError(err, "Searching mounts")
}
for _, mount := range mounts {
if mount.MountPoint == "/" && strings.HasPrefix(mount.PartitionPath, "/dev/") {
p.logger.Debug(logTag, "Found root partition: `%s'", mount.PartitionPath)
stdout, _, _, err := p.cmdRunner.RunCommand("readlink", "-f", mount.PartitionPath)
if err != nil {
return "", bosherr.WrapError(err, "Shelling out to readlink")
}
rootPartition := strings.Trim(stdout, "\n")
p.logger.Debug(logTag, "Symlink is: `%s'", rootPartition)
validRootPartition := regexp.MustCompile(`^/dev/[a-z]+1$`)
if !validRootPartition.MatchString(rootPartition) {
return "", bosherr.Error("Root partition is not the first partition")
}
return strings.Trim(rootPartition, "1"), nil
}
}
return "", bosherr.Error("Getting root partition device")
}
开发者ID:tacgomes,项目名称:bosh-agent,代码行数:29,代码来源:linux_platform.go
示例6: Get
func (bc FileBundleCollection) Get(definition BundleDefinition) (Bundle, error) {
if len(definition.BundleName()) == 0 {
return nil, bosherr.Error("Missing bundle name")
}
if len(definition.BundleVersion()) == 0 {
return nil, bosherr.Error("Missing bundle version")
}
installPath := filepath.Join(bc.installPath, bc.name, definition.BundleName(), definition.BundleVersion())
enablePath := filepath.Join(bc.enablePath, bc.name, definition.BundleName())
return NewFileBundle(installPath, enablePath, bc.fs, bc.logger), nil
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:13,代码来源:file_bundle_collection.go
示例7: Validate
func (b localBlobstore) Validate() error {
path, found := b.options["blobstore_path"]
if !found {
return bosherr.Error("missing blobstore_path")
}
_, ok := path.(string)
if !ok {
return bosherr.Error("blobstore_path must be a string")
}
return nil
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:13,代码来源:local_blobstore.go
示例8: Validate
func (b retryableBlobstore) Validate() error {
if b.maxTries < 1 {
return bosherr.Error("Max tries must be > 0")
}
return b.blobstore.Validate()
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:7,代码来源:retryable_blobstore.go
示例9: readByte
func (udev ConcreteUdevDevice) readByte(filePath string) error {
udev.logger.Debug(udev.logtag, "readBytes from file: %s", filePath)
device, err := os.Open(filePath)
if err != nil {
return err
}
defer func() {
if err = device.Close(); err != nil {
udev.logger.Warn(udev.logtag, "Failed to close device: %s", err.Error())
}
}()
udev.logger.Debug(udev.logtag, "Successfully open file: %s", filePath)
bytes := make([]byte, 1, 1)
read, err := device.Read(bytes)
if err != nil {
return err
}
udev.logger.Debug(udev.logtag, "Successfully read %d bytes from file: %s", read, filePath)
if read != 1 {
return bosherr.Error("Device readable but zero length")
}
return nil
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:26,代码来源:concrete_udev_device.go
示例10: GetInstallPath
func (b FileBundle) GetInstallPath() (boshsys.FileSystem, string, error) {
path := b.installPath
if !b.fs.FileExists(path) {
return nil, "", bosherr.Error("install dir does not exist")
}
return b.fs, path, nil
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:8,代码来源:file_bundle.go
示例11: GetInstanceID
func (ms *configDriveMetadataService) GetInstanceID() (string, error) {
if ms.metaDataContents.InstanceID == "" {
return "", bosherr.Error("Failed to load instance-id from config drive metadata service")
}
ms.logger.Debug(ms.logTag, "Getting instance id: %s", ms.metaDataContents.InstanceID)
return ms.metaDataContents.InstanceID, nil
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:8,代码来源:config_drive_metadata_service.go
示例12: GetServerName
func (ms *configDriveMetadataService) GetServerName() (string, error) {
if ms.userDataContents.Server.Name == "" {
return "", bosherr.Error("Failed to load server name from config drive metadata service")
}
ms.logger.Debug(ms.logTag, "Getting server name: %s", ms.userDataContents.Server.Name)
return ms.userDataContents.Server.Name, nil
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:8,代码来源:config_drive_metadata_service.go
示例13: GetPublicKey
func (ms *configDriveMetadataService) GetPublicKey() (string, error) {
if firstPublicKey, ok := ms.metaDataContents.PublicKeys["0"]; ok {
if openSSHKey, ok := firstPublicKey["openssh-key"]; ok {
return openSSHKey, nil
}
}
return "", bosherr.Error("Failed to load openssh-key from config drive metadata service")
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:9,代码来源:config_drive_metadata_service.go
示例14: NewMultiSettingsSource
func NewMultiSettingsSource(sources ...boshsettings.Source) (boshsettings.Source, error) {
var err error
if len(sources) == 0 {
err = bosherr.Error("MultiSettingsSource requires to have at least one source")
}
return &MultiSettingsSource{sources: sources}, err
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:9,代码来源:multi_settings_source.go
示例15: Start
func (d *dummyNatsJobSupervisor) Start() error {
if d.status == "fail_task" {
return bosherror.Error("fake-task-fail-error")
}
if d.status != "failing" {
d.status = "running"
}
return nil
}
开发者ID:pivotal-nader-ziada,项目名称:bosh-agent,代码行数:9,代码来源:dummy_nats_job_supervisor.go
示例16: extractReturns
func (r concreteRunner) extractReturns(values []reflect.Value) (value interface{}, err error) {
errValue := values[1]
if !errValue.IsNil() {
errorValues := errValue.MethodByName("Error").Call([]reflect.Value{})
err = bosherr.Error(errorValues[0].String())
}
value = values[0].Interface()
return
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:10,代码来源:runner.go
示例17: BuildErrorWithJSON
func BuildErrorWithJSON(msg string, logger boshlog.Logger) ([]byte, error) {
response := NewExceptionResponse(bosherr.Error(msg))
respJSON, err := json.Marshal(response)
if err != nil {
return respJSON, bosherr.WrapError(err, "Marshalling JSON")
}
logger.Info(mbusHandlerLogTag, "Building error", msg)
return respJSON, nil
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:12,代码来源:perform_handler_with_json.go
示例18: Trigger
func (udev ConcreteUdevDevice) Trigger() (err error) {
udev.logger.Debug(udev.logtag, "Triggering UdevDevice")
switch {
case udev.runner.CommandExists("udevadm"):
_, _, _, err = udev.runner.RunCommand("udevadm", "trigger")
case udev.runner.CommandExists("udevtrigger"):
_, _, _, err = udev.runner.RunCommand("udevtrigger")
default:
err = bosherr.Error("can not find udevadm or udevtrigger commands")
}
return
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:12,代码来源:concrete_udev_device.go
示例19: GetServerName
func (ms httpMetadataService) GetServerName() (string, error) {
userData, err := ms.getUserData()
if err != nil {
return "", bosherr.WrapError(err, "Getting user data")
}
serverName := userData.Server.Name
if len(serverName) == 0 {
return "", bosherr.Error("Empty server name")
}
return serverName, nil
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:14,代码来源:http_metadata_service.go
示例20: httpClient
func (d *Downloader) httpClient() (*http.Client, error) {
certPool := x509.NewCertPool()
if !certPool.AppendCertsFromPEM(([]byte)(d.config.CACertPem)) {
return nil, errors.Error("Failed to load CA cert")
}
tr := &http.Transport{
TLSClientConfig: &tls.Config{
RootCAs: certPool,
ClientAuth: tls.RequireAndVerifyClientCert,
},
}
return &http.Client{Transport: tr}, nil
}
开发者ID:viovanov,项目名称:bosh-agent,代码行数:15,代码来源:downloader.go
注:本文中的github.com/cloudfoundry/bosh-agent/internal/github.com/cloudfoundry/bosh-utils/errors.Error函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论