4
4
"encoding/json"
5
5
"io"
6
6
7
+ "fmt"
7
8
"github.com/golang/glog"
8
9
"github.com/hyperhq/hyperd/lib/promise"
9
10
"github.com/hyperhq/hyperd/types"
@@ -13,12 +14,12 @@ import (
13
14
func (s * ServerRPC ) ExecCreate (ctx context.Context , req * types.ExecCreateRequest ) (* types.ExecCreateResponse , error ) {
14
15
cmd , err := json .Marshal (req .Command )
15
16
if err != nil {
16
- return nil , err
17
+ return nil , fmt . Errorf ( "json.Marshal error: %v" , err )
17
18
}
18
19
19
20
execId , err := s .daemon .CreateExec (req .ContainerID , string (cmd ), req .Tty )
20
21
if err != nil {
21
- return nil , err
22
+ return nil , fmt . Errorf ( "s.daemon.CreateExec error: %v" , err )
22
23
}
23
24
24
25
return & types.ExecCreateResponse {
@@ -29,8 +30,9 @@ func (s *ServerRPC) ExecCreate(ctx context.Context, req *types.ExecCreateRequest
29
30
func (s * ServerRPC ) ExecStart (stream types.PublicAPI_ExecStartServer ) error {
30
31
req , err := stream .Recv ()
31
32
if err != nil {
32
- return err
33
+ return fmt . Errorf ( "stream.Recv error: %v" , err )
33
34
}
35
+ glog .V (3 ).Infof ("ExecStart with ServerStream %s request %s" , stream , req .String ())
34
36
35
37
inReader , inWriter := io .Pipe ()
36
38
outReader , outWriter := io .Pipe ()
@@ -41,16 +43,14 @@ func (s *ServerRPC) ExecStart(stream types.PublicAPI_ExecStartServer) error {
41
43
nr , err := outReader .Read (buf )
42
44
if nr > 0 {
43
45
if err := stream .Send (& types.ExecStartResponse {buf [:nr ]}); err != nil {
44
- glog .Errorf ("Send to stream error: %v" , err )
45
- return err
46
+ return fmt .Errorf ("stream.Send with request %s error: %v" , req .String (), err )
46
47
}
47
48
}
48
49
if err == io .EOF {
49
50
return nil
50
51
}
51
52
if err != nil {
52
- glog .Errorf ("Read from pipe error: %v" , err )
53
- return err
53
+ return fmt .Errorf ("outReader.Read with request %s error: %v" , req .String (), err )
54
54
}
55
55
}
56
56
})
@@ -81,7 +81,7 @@ func (s *ServerRPC) ExecStart(stream types.PublicAPI_ExecStartServer) error {
81
81
82
82
err = s .daemon .StartExec (inReader , outWriter , req .ContainerID , req .ExecID )
83
83
if err != nil {
84
- return err
84
+ return fmt . Errorf ( "s.daemon.StartExec with request %s error: %v" , req . String (), err )
85
85
}
86
86
err = <- outErr
87
87
return err
@@ -113,12 +113,13 @@ func (s *ServerRPC) ExecSignal(ctx context.Context, req *types.ExecSignalRequest
113
113
func (s * ServerRPC ) ExecVM (stream types.PublicAPI_ExecVMServer ) error {
114
114
req , err := stream .Recv ()
115
115
if err != nil {
116
- return err
116
+ return fmt . Errorf ( "stream.Recv error: %v" , err )
117
117
}
118
+ glog .V (3 ).Infof ("ExecVM with ServerStream %s request %s" , stream , req .String ())
118
119
119
120
cmd , err := json .Marshal (req .Command )
120
121
if err != nil {
121
- return err
122
+ return fmt . Errorf ( "json.Marshal with request %s error: %v" , req . String (), err )
122
123
}
123
124
124
125
inReader , inWriter := io .Pipe ()
@@ -173,13 +174,12 @@ func (s *ServerRPC) ExecVM(stream types.PublicAPI_ExecVMServer) error {
173
174
174
175
code , err := s .daemon .ExecVM (req .PodID , string (cmd ), inReader , outWriter , outWriter )
175
176
if err != nil {
176
- return err
177
+ return fmt . Errorf ( "s.daemon.ExecVM with request %s error: %v" , req . String (), err )
177
178
}
178
179
if err := stream .Send (& types.ExecVMResponse {
179
180
ExitCode : int32 (code ),
180
181
}); err != nil {
181
- glog .Errorf ("Send to stream error: %v" , err )
182
- return err
182
+ return fmt .Errorf ("stream.Send with request %s error: %v" , req .String (), err )
183
183
}
184
184
185
185
return nil
0 commit comments