| OLD | NEW |
| 1 // Copyright 2015 The LUCI Authors. All rights reserved. | 1 // Copyright 2015 The LUCI Authors. All rights reserved. |
| 2 // Use of this source code is governed under the Apache License, Version 2.0 | 2 // Use of this source code is governed under the Apache License, Version 2.0 |
| 3 // that can be found in the LICENSE file. | 3 // that can be found in the LICENSE file. |
| 4 | 4 |
| 5 package swarming | 5 package swarming |
| 6 | 6 |
| 7 import ( | 7 import ( |
| 8 "bytes" | 8 "bytes" |
| 9 "fmt" | 9 "fmt" |
| 10 "net/http" | 10 "net/http" |
| (...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 499 | 499 |
| 500 func (bl *buildLoader) newEmptyAnnotationStream(c context.Context, addr *types.S
treamAddr) ( | 500 func (bl *buildLoader) newEmptyAnnotationStream(c context.Context, addr *types.S
treamAddr) ( |
| 501 *raw_presentation.AnnotationStream, error) { | 501 *raw_presentation.AnnotationStream, error) { |
| 502 | 502 |
| 503 fn := bl.logDogClientFunc | 503 fn := bl.logDogClientFunc |
| 504 if fn == nil { | 504 if fn == nil { |
| 505 fn = raw_presentation.NewClient | 505 fn = raw_presentation.NewClient |
| 506 } | 506 } |
| 507 client, err := fn(c, addr.Host) | 507 client, err := fn(c, addr.Host) |
| 508 if err != nil { | 508 if err != nil { |
| 509 » » return nil, errors.Annotate(err).Reason("failed to create LogDog
client").Err() | 509 » » return nil, errors.Annotate(err, "failed to create LogDog client
").Err() |
| 510 } | 510 } |
| 511 | 511 |
| 512 as := raw_presentation.AnnotationStream{ | 512 as := raw_presentation.AnnotationStream{ |
| 513 Client: client, | 513 Client: client, |
| 514 Project: addr.Project, | 514 Project: addr.Project, |
| 515 Path: addr.Path, | 515 Path: addr.Path, |
| 516 } | 516 } |
| 517 if err := as.Normalize(); err != nil { | 517 if err := as.Normalize(); err != nil { |
| 518 » » return nil, errors.Annotate(err).Reason("failed to normalize ann
otation stream parameters").Err() | 518 » » return nil, errors.Annotate(err, "failed to normalize annotation
stream parameters").Err() |
| 519 } | 519 } |
| 520 | 520 |
| 521 return &as, nil | 521 return &as, nil |
| 522 } | 522 } |
| 523 | 523 |
| 524 // failedToStart is called in the case where logdog-only mode is on but the | 524 // failedToStart is called in the case where logdog-only mode is on but the |
| 525 // stream doesn't exist and the swarming job is complete. It modifies the build | 525 // stream doesn't exist and the swarming job is complete. It modifies the build |
| 526 // to add information that would've otherwise been in the annotation stream. | 526 // to add information that would've otherwise been in the annotation stream. |
| 527 func failedToStart(c context.Context, build *resp.MiloBuild, res *swarming.Swarm
ingRpcsTaskResult, host string) error { | 527 func failedToStart(c context.Context, build *resp.MiloBuild, res *swarming.Swarm
ingRpcsTaskResult, host string) error { |
| 528 var err error | 528 var err error |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 595 // If the Swarming task explicitly specifies its log location, we prefer
that. | 595 // If the Swarming task explicitly specifies its log location, we prefer
that. |
| 596 // As a fallback, we will try and parse the Swarming task's output for | 596 // As a fallback, we will try and parse the Swarming task's output for |
| 597 // annotations. | 597 // annotations. |
| 598 switch { | 598 switch { |
| 599 case logDogStreamAddr != nil: | 599 case logDogStreamAddr != nil: |
| 600 logging.Infof(c, "Loading build from LogDog stream at: %s", logD
ogStreamAddr) | 600 logging.Infof(c, "Loading build from LogDog stream at: %s", logD
ogStreamAddr) |
| 601 | 601 |
| 602 // If the LogDog stream is available, load the step from that. | 602 // If the LogDog stream is available, load the step from that. |
| 603 as, err := bl.newEmptyAnnotationStream(c, logDogStreamAddr) | 603 as, err := bl.newEmptyAnnotationStream(c, logDogStreamAddr) |
| 604 if err != nil { | 604 if err != nil { |
| 605 » » » return nil, errors.Annotate(err).Reason("failed to creat
e LogDog annotation stream").Err() | 605 » » » return nil, errors.Annotate(err, "failed to create LogDo
g annotation stream").Err() |
| 606 } | 606 } |
| 607 | 607 |
| 608 prefix, _ := logDogStreamAddr.Path.Split() | 608 prefix, _ := logDogStreamAddr.Path.Split() |
| 609 ub = &raw_presentation.ViewerURLBuilder{ | 609 ub = &raw_presentation.ViewerURLBuilder{ |
| 610 Host: logDogStreamAddr.Host, | 610 Host: logDogStreamAddr.Host, |
| 611 Prefix: prefix, | 611 Prefix: prefix, |
| 612 Project: logDogStreamAddr.Project, | 612 Project: logDogStreamAddr.Project, |
| 613 } | 613 } |
| 614 | 614 |
| 615 if s, err = as.Fetch(c); err != nil { | 615 if s, err = as.Fetch(c); err != nil { |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 768 for _, tag := range v { | 768 for _, tag := range v { |
| 769 var value string | 769 var value string |
| 770 parts := strings.SplitN(tag, ":", 2) | 770 parts := strings.SplitN(tag, ":", 2) |
| 771 if len(parts) == 2 { | 771 if len(parts) == 2 { |
| 772 value = parts[1] | 772 value = parts[1] |
| 773 } | 773 } |
| 774 res[parts[0]] = value | 774 res[parts[0]] = value |
| 775 } | 775 } |
| 776 return res | 776 return res |
| 777 } | 777 } |
| OLD | NEW |