Skip to content

Commit 114730e

Browse files
author
Andrew Hare
committed
fix: REST fallback
1 parent 036234a commit 114730e

File tree

5 files changed

+52
-19
lines changed

5 files changed

+52
-19
lines changed

cmd/provider-services/cmd/grpc.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package cmd
2+
3+
import (
4+
"fmt"
5+
"net"
6+
)
7+
8+
func grpcURI(hostURI string) (string, error) {
9+
host, _, err := net.SplitHostPort(hostURI)
10+
if err != nil {
11+
return "", fmt.Errorf("split host port: %w", err)
12+
}
13+
14+
return net.JoinHostPort(host, "8442"), nil
15+
}

cmd/provider-services/cmd/manifest.go

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package cmd
33
import (
44
"bytes"
55
"context"
6+
"crypto/tls"
67
"encoding/json"
78
"fmt"
89
"time"
@@ -22,6 +23,7 @@ import (
2223

2324
aclient "github.com/akash-network/provider/client"
2425
gwgrpc "github.com/akash-network/provider/gateway/grpc"
26+
gwrest "github.com/akash-network/provider/gateway/rest"
2527
)
2628

2729
var errSubmitManifestFailed = errors.New("submit manifest to some providers has been failed")
@@ -111,25 +113,43 @@ func doSendManifest(cmd *cobra.Command, sdlpath string) error {
111113
return fmt.Errorf("query client provider: %w", err)
112114
}
113115

114-
c, err := gwgrpc.NewClient(ctx, prov.GetProvider().HostURI, cert, cl)
116+
hostURIgRPC, err := grpcURI(prov.GetProvider().HostURI)
115117
if err != nil {
116-
return fmt.Errorf("new grpc conn: %w", err)
118+
return fmt.Errorf("grpc uri: %w", err)
117119
}
118120

119-
defer c.Close()
120-
121121
res := result{
122122
Provider: provAddr,
123123
Status: "PASS",
124124
}
125125

126-
if _, err = c.SendManifest(ctx, &leasev1.SendManifestRequest{
127-
LeaseId: lid,
128-
Manifest: mani,
129-
}); err != nil {
130-
res.Error = err.Error()
131-
res.Status = "FAIL"
132-
submitFailed = true
126+
c, err := gwgrpc.NewClient(ctx, hostURIgRPC, cert, cl)
127+
if err == nil {
128+
defer c.Close()
129+
130+
if _, err = c.SendManifest(ctx, &leasev1.SendManifestRequest{
131+
LeaseId: lid,
132+
Manifest: mani,
133+
}); err != nil {
134+
res.Error = err.Error()
135+
res.Status = "FAIL"
136+
submitFailed = true
137+
}
138+
} else {
139+
gclient, err := gwrest.NewClient(cl, provAddr, []tls.Certificate{cert})
140+
if err != nil {
141+
return fmt.Errorf("gwrest new client: %w", err)
142+
}
143+
144+
err = gclient.SubmitManifest(cmd.Context(), dseq, mani)
145+
if err != nil {
146+
res.Error = err.Error()
147+
if e, valid := err.(gwrest.ClientResponseError); valid {
148+
res.ErrorMessage = e.Message
149+
}
150+
res.Status = "FAIL"
151+
submitFailed = true
152+
}
133153
}
134154

135155
results[i] = res

cmd/provider-services/cmd/run.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import (
1111
"strings"
1212
"time"
1313

14-
cltypes "github.com/akash-network/akash-api/go/node/client/types"
1514
sdkclient "github.com/cosmos/cosmos-sdk/client"
1615
"github.com/pkg/errors"
1716
"github.com/shopspring/decimal"
@@ -21,6 +20,8 @@ import (
2120
"golang.org/x/sync/errgroup"
2221
"k8s.io/client-go/kubernetes"
2322

23+
cltypes "github.com/akash-network/akash-api/go/node/client/types"
24+
2425
"github.com/tendermint/tendermint/libs/log"
2526

2627
"github.com/cosmos/cosmos-sdk/client/flags"
@@ -204,7 +205,7 @@ func RunCmd() *cobra.Command {
204205
panic(err)
205206
}
206207

207-
cmd.Flags().String(FlagGatewayGRPCListenAddress, "0.0.0.0:8442", "Gateway gRPC listen address")
208+
cmd.Flags().String(FlagGatewayGRPCListenAddress, "0.0.0.0:8444", "Gateway gRPC listen address")
208209
if err := viper.BindPFlag(FlagGatewayGRPCListenAddress, cmd.Flags().Lookup(FlagGatewayGRPCListenAddress)); err != nil {
209210
panic(err)
210211
}

go.mod

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ require (
1111
github.com/cosmos/cosmos-sdk v0.45.16
1212
github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f
1313
github.com/fsnotify/fsnotify v1.7.0
14-
github.com/go-andiamo/splitter v1.2.5
1514
github.com/go-kit/kit v0.12.0
1615
github.com/go-logr/logr v1.2.4
1716
github.com/go-logr/zapr v1.2.4
@@ -261,7 +260,7 @@ require (
261260
google.golang.org/appengine v1.6.8 // indirect
262261
google.golang.org/genproto v0.0.0-20240318140521-94a12d6c2237 // indirect
263262
google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect
264-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect
263+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240325203815-454cdb8f5daa // indirect
265264
gopkg.in/inf.v0 v0.9.1 // indirect
266265
gopkg.in/ini.v1 v1.67.0 // indirect
267266
gopkg.in/square/go-jose.v2 v2.6.0 // indirect

go.sum

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -629,8 +629,6 @@ github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0
629629
github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
630630
github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=
631631
github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=
632-
github.com/go-andiamo/splitter v1.2.5 h1:P3NovWMY2V14TJJSolXBvlOmGSZo3Uz+LtTl2bsV/eY=
633-
github.com/go-andiamo/splitter v1.2.5/go.mod h1:8WHU24t9hcMKU5FXDQb1hysSEC/GPuivIp0uKY1J8gw=
634632
github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
635633
github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98=
636634
github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs=
@@ -2542,8 +2540,8 @@ google.golang.org/genproto v0.0.0-20240318140521-94a12d6c2237 h1:PgNlNSx2Nq2/j4j
25422540
google.golang.org/genproto v0.0.0-20240318140521-94a12d6c2237/go.mod h1:9sVD8c25Af3p0rGs7S7LLsxWKFiJt/65LdSyqXBkX/Y=
25432541
google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 h1:RFiFrvy37/mpSpdySBDrUdipW/dHwsRwh3J3+A9VgT4=
25442542
google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE=
2545-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc=
2546-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
2543+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240325203815-454cdb8f5daa h1:RBgMaUMP+6soRkik4VoN8ojR2nex2TqZwjSSogic+eo=
2544+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240325203815-454cdb8f5daa/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
25472545
google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
25482546
google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
25492547
google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=

0 commit comments

Comments
 (0)