本文整理汇总了Golang中github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/errors.Error函数的典型用法代码示例。如果您正苦于以下问题:Golang Error函数的具体用法?Golang Error怎么用?Golang Error使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Error函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: 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:vestel,项目名称:bosh-init,代码行数:29,代码来源:linux_platform.go
示例2: 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:vestel,项目名称:bosh-init,代码行数:35,代码来源:settings_source_factory.go
示例3: 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:vestel,项目名称:bosh-init,代码行数:32,代码来源:default_network_resolver.go
示例4: 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:vestel,项目名称:bosh-init,代码行数:13,代码来源:local_blobstore.go
示例5: Validate
func (b retryableBlobstore) Validate() error {
if b.maxTries < 1 {
return bosherr.Error("Max tries must be > 0")
}
return b.blobstore.Validate()
}
开发者ID:vestel,项目名称:bosh-init,代码行数:7,代码来源:retryable_blobstore.go
示例6: compilePackages
// compilePackages compiles the specified packages, in the order specified, uploads them to the Blobstore, and returns the blob references
func (c *dependencyCompiler) compilePackages(requiredPackages []*birelpkg.Package, stage biui.Stage) ([]CompiledPackageRef, error) {
packageRefs := make([]CompiledPackageRef, 0, len(requiredPackages))
for _, pkg := range requiredPackages {
stepName := fmt.Sprintf("Compiling package '%s/%s'", pkg.Name, pkg.Fingerprint)
err := stage.Perform(stepName, func() error {
compiledPackageRecord, isAlreadyCompiled, err := c.packageCompiler.Compile(pkg)
if err != nil {
return err
}
packageRef := CompiledPackageRef{
Name: pkg.Name,
Version: pkg.Fingerprint,
BlobstoreID: compiledPackageRecord.BlobID,
SHA1: compiledPackageRecord.BlobSHA1,
}
packageRefs = append(packageRefs, packageRef)
if isAlreadyCompiled {
return biui.NewSkipStageError(bosherr.Error(fmt.Sprintf("Package '%s' is already compiled. Skipped compilation", pkg.Name)), "Package already compiled")
}
return nil
})
if err != nil {
return nil, err
}
}
return packageRefs, nil
}
开发者ID:hanzhefeng,项目名称:bosh-init,代码行数:33,代码来源:dependency_compiler.go
示例7: 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:vestel,项目名称:bosh-init,代码行数:8,代码来源:config_drive_metadata_service.go
示例8: 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:vestel,项目名称:bosh-init,代码行数:8,代码来源:config_drive_metadata_service.go
示例9: 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:vestel,项目名称:bosh-init,代码行数:9,代码来源:multi_settings_source.go
示例10: 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:vestel,项目名称:bosh-init,代码行数:9,代码来源:config_drive_metadata_service.go
示例11: 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:vestel,项目名称:bosh-init,代码行数:12,代码来源:concrete_udev_device.go
示例12: Stop
func (s *server) Stop() error {
if s.listener == nil {
return bosherr.Error("Stopping not-started registry server")
}
s.logger.Debug(s.logTag, "Stopping registry server")
err := s.listener.Close()
if err != nil {
return bosherr.WrapError(err, "Stopping registry server")
}
return nil
}
开发者ID:jmaryland,项目名称:bosh-init,代码行数:13,代码来源:server.go
示例13: StopRegistry
func (i *installation) StopRegistry() error {
if !i.manifest.Registry.IsEmpty() {
if i.registryServer == nil {
return bosherr.Error("Registry must be started before it can be stopped")
}
err := i.registryServer.Stop()
if err != nil {
return bosherr.WrapError(err, "Stopping registry")
}
i.registryServer = nil
}
return nil
}
开发者ID:vestel,项目名称:bosh-init,代码行数:13,代码来源:installation.go
示例14: StartRegistry
func (i *installation) StartRegistry() error {
if !i.manifest.Registry.IsEmpty() {
if i.registryServer != nil {
return bosherr.Error("Registry already started")
}
config := i.manifest.Registry
registryServer, err := i.registryServerManager.Start(config.Username, config.Password, config.Host, config.Port)
if err != nil {
return bosherr.WrapError(err, "Starting registry")
}
i.registryServer = registryServer
}
return nil
}
开发者ID:vestel,项目名称:bosh-init,代码行数:14,代码来源:installation.go
示例15: 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:vestel,项目名称:bosh-init,代码行数:14,代码来源:http_metadata_service.go
示例16: Validate
func (v *validator) Validate(manifest Manifest, releaseSetManifest birelsetmanifest.Manifest) error {
errs := []error{}
cpiJobName := manifest.Template.Name
if v.isBlank(cpiJobName) {
errs = append(errs, bosherr.Error("cloud_provider.template.name must be provided"))
}
cpiReleaseName := manifest.Template.Release
if v.isBlank(cpiReleaseName) {
errs = append(errs, bosherr.Error("cloud_provider.template.release must be provided"))
}
_, found := releaseSetManifest.FindByName(cpiReleaseName)
if !found {
errs = append(errs, bosherr.Errorf("cloud_provider.template.release '%s' must refer to a release in releases", cpiReleaseName))
}
if len(errs) > 0 {
return bosherr.NewMultiError(errs...)
}
return nil
}
开发者ID:vestel,项目名称:bosh-init,代码行数:24,代码来源:validator.go
示例17: RenderAndUploadFrom
func (b *jobRenderer) RenderAndUploadFrom(installationManifest biinstallmanifest.Manifest, jobs []bireljob.Job, stage biui.Stage) ([]RenderedJobRef, error) {
// installation jobs do not get rendered with global deployment properties, only the cloud_provider properties
globalProperties := biproperty.Map{}
jobProperties := installationManifest.Properties
renderedJobRefs, err := b.renderJobTemplates(jobs, jobProperties, globalProperties, installationManifest.Name, stage)
if err != nil {
return nil, bosherr.WrapError(err, "Rendering job templates for installation")
}
if len(renderedJobRefs) != 1 {
return nil, bosherr.Error("Too many jobs rendered... oops?")
}
return renderedJobRefs, nil
}
开发者ID:jmaryland,项目名称:bosh-init,代码行数:16,代码来源:job_renderer.go
示例18: updateCurrentDiskRecord
func (d *diskDeployer) updateCurrentDiskRecord(disk bidisk.Disk) error {
savedDiskRecord, found, err := d.diskRepo.Find(disk.CID())
if err != nil {
return bosherr.WrapError(err, "Finding disk record")
}
if !found {
return bosherr.Error("Failed to find disk record for new disk")
}
err = d.diskRepo.UpdateCurrent(savedDiskRecord.ID)
if err != nil {
return bosherr.WrapError(err, "Updating current disk record")
}
return nil
}
开发者ID:vestel,项目名称:bosh-init,代码行数:17,代码来源:disk_deployer.go
示例19: PromoteAsCurrent
func (s *cloudStemcell) PromoteAsCurrent() error {
stemcellRecord, found, err := s.repo.Find(s.name, s.version)
if err != nil {
return bosherr.WrapError(err, "Finding current stemcell")
}
if !found {
return bosherr.Error("Stemcell does not exist in repo")
}
err = s.repo.UpdateCurrent(stemcellRecord.ID)
if err != nil {
return bosherr.WrapError(err, "Updating current stemcell")
}
return nil
}
开发者ID:vestel,项目名称:bosh-init,代码行数:17,代码来源:cloud_stemcell.go
示例20: buildWithRegistry
func (f SettingsSourceFactory) buildWithRegistry() (boshsettings.Source, error) {
var metadataServices []MetadataService
digDNSResolver := NewDigDNSResolver(f.platform.GetRunner(), f.logger)
resolver := NewRegistryEndpointResolver(digDNSResolver)
for _, opts := range f.options.Sources {
var metadataService MetadataService
switch typedOpts := opts.(type) {
case HTTPSourceOptions:
metadataService = NewHTTPMetadataService(typedOpts.URI, resolver, f.platform, f.logger)
case ConfigDriveSourceOptions:
metadataService = NewConfigDriveMetadataService(
resolver,
f.platform,
typedOpts.DiskPaths,
typedOpts.MetaDataPath,
typedOpts.UserDataPath,
f.logger,
)
case FileSourceOptions:
metadataService = NewFileMetadataService(
typedOpts.MetaDataPath,
typedOpts.UserDataPath,
typedOpts.SettingsPath,
f.platform.GetFs(),
f.logger,
)
case CDROMSourceOptions:
return nil, bosherr.Error("CDROM source is not supported when registry is used")
}
metadataServices = append(metadataServices, metadataService)
}
metadataService := NewMultiSourceMetadataService(metadataServices...)
registryProvider := NewRegistryProvider(metadataService, f.platform, f.options.UseServerName, f.platform.GetFs(), f.logger)
settingsSource := NewComplexSettingsSource(metadataService, registryProvider, f.logger)
return settingsSource, nil
}
开发者ID:vestel,项目名称:bosh-init,代码行数:45,代码来源:settings_source_factory.go
注:本文中的github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/errors.Error函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论