本文整理汇总了Golang中github.com/zenoss/glog.Error函数的典型用法代码示例。如果您正苦于以下问题:Golang Error函数的具体用法?Golang Error怎么用?Golang Error使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Error函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: restDeployAppTemplate
func restDeployAppTemplate(w *rest.ResponseWriter, r *rest.Request, client *node.ControlClient) {
var payload dao.ServiceTemplateDeploymentRequest
err := r.DecodeJsonPayload(&payload)
if err != nil {
glog.V(1).Info("Could not decode deployment payload: ", err)
restBadRequest(w, err)
return
}
var tenantID string
err = client.DeployTemplate(payload, &tenantID)
if err != nil {
glog.Error("Could not deploy template: ", err)
restServerError(w, err)
return
}
glog.V(0).Info("Deployed template ", payload)
assignmentRequest := dao.AssignmentRequest{tenantID, "", true}
if err := client.AssignIPs(assignmentRequest, nil); err != nil {
glog.Error("Could not automatically assign IPs: %v", err)
return
}
glog.Infof("Automatically assigned IP addresses to service: %v", tenantID)
// end of automatic IP assignment
w.WriteJson(&simpleResponse{tenantID, servicesLinks()})
}
示例2: GetRunningServices
func (this *ControlPlaneDao) GetRunningServices(request dao.EntityRequest, allRunningServices *[]dao.RunningService) error {
// we initialize the data container to something here in case it has not been initialized yet
*allRunningServices = make([]dao.RunningService, 0)
allPools, err := this.facade.GetResourcePools(datastore.Get())
if err != nil {
glog.Error("runningservice.go failed to get resource pool")
return err
} else if allPools == nil || len(allPools) == 0 {
return fmt.Errorf("no resource pools found")
}
for _, aPool := range allPools {
poolBasedConn, err := zzk.GetLocalConnection(zzk.GeneratePoolPath(aPool.ID))
if err != nil {
glog.Error("runningservice.go Failed to get connection based on pool: %v", aPool.ID)
return err
}
singlePoolRunningServices := []dao.RunningService{}
singlePoolRunningServices, err = zkservice.LoadRunningServices(poolBasedConn)
if err != nil {
glog.Errorf("Failed GetAllRunningServices: %v", err)
return err
}
for _, rs := range singlePoolRunningServices {
*allRunningServices = append(*allRunningServices, rs)
}
}
return nil
}
示例3: ListenAndMux
// listenAndMux listens for incoming connections and attempts to multiplex them
// to the local service that they request via a Zen-Service header in their
// initial message.
func (mux *TCPMux) ListenAndMux() {
var l net.Listener
var err error
if mux.UseTLS == false {
l, err = net.Listen("tcp4", fmt.Sprintf(":%d", mux.Port))
} else {
cert, cerr := tls.X509KeyPair([]byte(proxyCertPEM), []byte(proxyKeyPEM))
if cerr != nil {
glog.Error("ListenAndMux Error (tls.X509KeyPair): ", cerr)
return
}
tlsConfig := tls.Config{Certificates: []tls.Certificate{cert}}
l, err = tls.Listen("tcp4", fmt.Sprintf(":%d", mux.Port), &tlsConfig)
}
if err != nil {
glog.Error("ListenAndMux Error (net.Listen): ", err)
return
}
defer l.Close()
for {
conn, err := l.Accept()
if err != nil {
glog.Error("ListenAndMux Error (net.Accept): ", err)
return
}
go mux.MuxConnection(conn)
}
}
示例4: GetTaggedServices
func (f *Facade) GetTaggedServices(ctx datastore.Context, request dao.EntityRequest) ([]service.Service, error) {
glog.V(3).Infof("Facade.GetTaggedServices")
store := f.serviceStore
switch v := request.(type) {
case []string:
results, err := store.GetTaggedServices(ctx, v...)
if err != nil {
glog.Error("Facade.GetTaggedServices: err=", err)
return nil, err
}
if err = f.fillOutServices(ctx, results); err != nil {
return nil, err
}
glog.V(2).Infof("Facade.GetTaggedServices: services=%v", results)
return results, nil
case dao.ServiceRequest:
glog.V(3).Infof("request: %+v", request)
// Get the tagged services
services, err := store.GetTaggedServices(ctx, request.(dao.ServiceRequest).Tags...)
if err != nil {
glog.Error("Facade.GetTaggedServices: err=", err)
return nil, err
}
if err = f.fillOutServices(ctx, services); err != nil {
return nil, err
}
// filter by the name provided
if request.(dao.ServiceRequest).NameRegex != "" {
services, err = filterByNameRegex(request.(dao.ServiceRequest).NameRegex, services)
if err != nil {
glog.Error("Facade.GetTaggedServices: err=", err)
return nil, err
}
}
// filter by the tenantID provided
if request.(dao.ServiceRequest).TenantID != "" {
services, err = f.filterByTenantID(ctx, request.(dao.ServiceRequest).TenantID, services)
if err != nil {
glog.Error("Facade.GetTaggedServices: err=", err)
return nil, err
}
}
return services, nil
default:
err := fmt.Errorf("Bad request type: %v", v)
glog.V(2).Info("Facade.GetTaggedServices: err=", err)
return nil, err
}
}
示例5: GetServices
func (f *Facade) GetServices(ctx datastore.Context, request dao.EntityRequest) ([]service.Service, error) {
glog.V(3).Infof("Facade.GetServices")
store := f.serviceStore
var services []service.Service
var err error
if request.(dao.ServiceRequest).UpdatedSince != 0 {
services, err = store.GetUpdatedServices(ctx, request.(dao.ServiceRequest).UpdatedSince)
if err != nil {
glog.Error("Facade.GetServices: err=", err)
return nil, err
}
} else {
services, err = store.GetServices(ctx)
if err != nil {
glog.Error("Facade.GetServices: err=", err)
return nil, err
}
}
if err = f.fillOutServices(ctx, services); err != nil {
return nil, err
}
switch v := request.(type) {
case dao.ServiceRequest:
glog.V(3).Infof("request: %+v", request)
// filter by the name provided
if request.(dao.ServiceRequest).NameRegex != "" {
services, err = filterByNameRegex(request.(dao.ServiceRequest).NameRegex, services)
if err != nil {
glog.Error("Facade.GetTaggedServices: err=", err)
return nil, err
}
}
// filter by the tenantID provided
if request.(dao.ServiceRequest).TenantID != "" {
services, err = f.filterByTenantID(ctx, request.(dao.ServiceRequest).TenantID, services)
if err != nil {
glog.Error("Facade.GetTaggedServices: err=", err)
return nil, err
}
}
return services, nil
default:
err := fmt.Errorf("Bad request type %v: %+v", v, request)
glog.V(2).Info("Facade.GetTaggedServices: err=", err)
return nil, err
}
return services, nil
}
示例6: restGetPool
//restGetPool retrieves a Resource Pools. Response is ResourcePool
func restGetPool(w *rest.ResponseWriter, r *rest.Request, ctx *requestContext) {
poolID, err := url.QueryUnescape(r.PathParam("poolId"))
if err != nil {
restBadRequest(w, err)
return
}
client, err := ctx.getMasterClient()
if err != nil {
restServerError(w, err)
return
}
pool, err := client.GetResourcePool(poolID)
if err != nil {
glog.Error("Could not get resource pool: ", err)
restServerError(w, err)
return
}
hostIDs, err := getPoolHostIds(pool.ID, client)
if err != nil {
restServerError(w, err)
return
}
if err := buildPoolMonitoringProfile(pool, hostIDs, client); err != nil {
restServerError(w, err)
return
}
glog.V(4).Infof("restGetPool: id %s, pool %#v", poolID, pool)
w.WriteJson(&pool)
}
示例7: registerIPs
/*
registerIPs does the actual work of determining the IPs on the host. Parameters are the hostId for this host
and the function used to send the found IPs
*/
func registerIPs(hostId string, sendFn SendHostIPs) error {
interfaces, err := net.Interfaces()
if err != nil {
glog.Error("Problem reading interfaces: ", err)
return err
}
hostIPResources := make([]dao.HostIPResource, 0, len(interfaces))
for _, iface := range interfaces {
addrs, err := iface.Addrs()
if err != nil {
glog.Errorf("Problem reading address for interface %s: %s", iface.Name, err)
return err
}
for _, addr := range addrs {
//send address to Master
hostIp := dao.HostIPResource{}
hostIp.IPAddress = addr.String()
hostIp.InterfaceName = iface.Name
hostIPResources = append(hostIPResources, hostIp)
}
}
var unused int
glog.V(4).Infof("Agent registering IPs %v", hostIPResources)
hostIps := dao.HostIPs{}
hostIps.HostId = hostId
hostIps.IPs = hostIPResources
if err := sendFn(hostIps, &unused); err != nil {
glog.Errorf("Error registering IPs %v", err)
}
return nil
}
示例8: buildPoolMonitoringProfile
func buildPoolMonitoringProfile(pool *pool.ResourcePool, hostIDs []string, client *master.Client) error {
var totalMemory uint64 = 0
var totalCores int = 0
//calculate total memory and total cores
for i := range hostIDs {
host, err := client.GetHost(hostIDs[i])
if err != nil {
glog.Errorf("Failed to get host for id=%s -> %s", hostIDs[i], err)
return err
}
totalCores += host.Cores
totalMemory += host.Memory
}
tags := map[string][]string{"controlplane_host_id": hostIDs}
profile, err := hostPoolProfile.ReBuild("1h-ago", tags)
if err != nil {
glog.Error("Failed to create pool profile: %s", err)
return err
}
//add graphs to profile
profile.GraphConfigs = make([]domain.GraphConfig, 3)
profile.GraphConfigs[0] = newCpuConfigGraph(tags, totalCores)
profile.GraphConfigs[1] = newRSSConfigGraph(tags, totalMemory)
profile.GraphConfigs[2] = newMajorPageFaultGraph(tags)
pool.MonitoringProfile = *profile
return nil
}
示例9: restGetPools
//restGetPools retrieves all Resource Pools. Response is map[pool-id]ResourcePool
func restGetPools(w *rest.ResponseWriter, r *rest.Request, ctx *requestContext) {
client, err := ctx.getMasterClient()
if err != nil {
restServerError(w, err)
return
}
pools, err := client.GetResourcePools()
if err != nil {
glog.Error("Could not get resource pools: ", err)
restServerError(w, err)
return
}
poolsMap := make(map[string]*pool.ResourcePool)
for i, pool := range pools {
hostIDs, err := getPoolHostIds(pool.ID, client)
if err != nil {
restServerError(w, err)
return
}
if err := buildPoolMonitoringProfile(&pools[i], hostIDs, client); err != nil {
restServerError(w, err)
return
}
poolsMap[pool.ID] = &pools[i]
}
glog.V(4).Infof("restGetPools: pools %#v", poolsMap)
w.WriteJson(&poolsMap)
}
示例10: restUpdatePool
//restUpdatePool updates a resource pool. Request input is pool.ResourcePool
func restUpdatePool(w *rest.ResponseWriter, r *rest.Request, ctx *requestContext) {
poolID, err := url.QueryUnescape(r.PathParam("poolId"))
if err != nil {
restBadRequest(w, err)
return
}
var payload pool.ResourcePool
err = r.DecodeJsonPayload(&payload)
if err != nil {
glog.V(1).Info("Could not decode pool payload: ", err)
restBadRequest(w, err)
return
}
client, err := ctx.getMasterClient()
if err != nil {
restServerError(w, err)
return
}
err = client.UpdateResourcePool(payload)
if err != nil {
glog.Error("Unable to update pool: ", err)
restServerError(w, err)
return
}
glog.V(1).Info("Updated pool ", poolID)
w.WriteJson(&simpleResponse{"Updated resource pool", poolLinks(poolID)})
}
示例11: restGetHost
//restGetHost retrieves a host. Response is Host
func restGetHost(w *rest.ResponseWriter, r *rest.Request, ctx *requestContext) {
hostID, err := url.QueryUnescape(r.PathParam("hostId"))
if err != nil {
restBadRequest(w, err)
return
}
client, err := ctx.getMasterClient()
if err != nil {
restServerError(w, err)
return
}
host, err := client.GetHost(hostID)
if err != nil {
glog.Error("Could not get host: ", err)
restServerError(w, err)
return
}
if err := buildHostMonitoringProfile(host); err != nil {
restServerError(w, err)
return
}
glog.V(4).Infof("restGetHost: id %s, host %#v", hostID, host)
w.WriteJson(&host)
}
示例12: DeleteNodebyData
func DeleteNodebyData(path string, conn *zk.Conn, data []byte) error {
children, _, err := conn.Children(path)
if err != nil {
glog.Warning("Could not list children")
return err
}
for _, child := range children {
child_path := path + "/" + child
child_data, _, err := conn.Get(child_path)
if err != nil {
glog.Warning("Could not get data for %s", child_path)
continue
}
if bytes.Compare(data, child_data) == 0 {
for i := 0; i < 5; i++ {
_, stats, _ := conn.Get(child_path)
err = conn.Delete(child_path, stats.Version)
if err == nil || err == zk.ErrNoNode {
return nil
}
}
glog.Error("Could not delete matched node %s", child_path)
}
}
return nil
}
示例13: reportStats
// Do the actual gathering and reporting of container statistics
func (sr StatsReporter) reportStats(t time.Time) {
glog.V(3).Infoln("Reporting container stats at: ", t)
memfiles := []string{"memory.stat"}
if err := filepath.Walk(MEMDIR, sr.mkReporter("memory", memfiles, t.Unix())); err != nil {
glog.Error("Problem reporting container memory statistics: ", err)
}
cpufiles := []string{"cpuacct.stat"}
if err := filepath.Walk(CPUDIR, sr.mkReporter("cpuacct", cpufiles, t.Unix())); err != nil {
glog.Error("Problem reporting container cpu statistics: ", err)
}
blkiofiles := []string{"blkio.sectors", "blkio.io_service_bytes", "blkio.io_serviced", "blkio.io_queued"}
if err := filepath.Walk(BLKIODIR, sr.mkReporter("blkio", blkiofiles, t.Unix())); err != nil {
glog.Error("Problem reporting container blkio statistics: ", err)
}
}
示例14: watchService
func watchService(cpDao dao.ControlPlane, conn *zk.Conn, shutdown <-chan int, done chan<- string, serviceId string) {
defer func() {
glog.V(3).Info("Exiting function watchService ", serviceId)
done <- serviceId
}()
for {
var service dao.Service
_, zkEvent, err := zzk.LoadServiceW(conn, serviceId, &service)
if err != nil {
glog.Errorf("Unable to load service %s: %v", serviceId, err)
return
}
_, _, childEvent, err := conn.ChildrenW(zzk.ServicePath(serviceId))
glog.V(1).Info("Leader watching for changes to service ", service.Name)
// check current state
var serviceStates []*dao.ServiceState
err = zzk.GetServiceStates(conn, &serviceStates, serviceId)
if err != nil {
glog.Error("Unable to retrieve running service states: ", err)
return
}
// Is the service supposed to be running at all?
switch {
case service.DesiredState == dao.SVC_STOP:
shutdownServiceInstances(conn, serviceStates, len(serviceStates))
case service.DesiredState == dao.SVC_RUN:
updateServiceInstances(cpDao, conn, &service, serviceStates)
default:
glog.Warningf("Unexpected desired state %d for service %s", service.DesiredState, service.Name)
}
select {
case evt := <-zkEvent:
if evt.Type == zk.EventNodeDeleted {
glog.V(0).Info("Shutting down due to node delete ", serviceId)
shutdownServiceInstances(conn, serviceStates, len(serviceStates))
return
}
glog.V(1).Infof("Service %s received event: %v", service.Name, evt)
continue
case evt := <-childEvent:
glog.V(1).Infof("Service %s received child event: %v", service.Name, evt)
continue
case <-shutdown:
glog.V(1).Info("Leader stopping watch on ", service.Name)
return
}
}
}
示例15: RestGetPools
func RestGetPools(w *rest.ResponseWriter, r *rest.Request, client *serviced.ControlClient) {
var poolsMap map[string]*dao.ResourcePool
err := client.GetResourcePools(&empty, &poolsMap)
if err != nil {
glog.Error("Could not get resource pools: ", err)
RestServerError(w)
return
}
w.WriteJson(&poolsMap)
}