Skip to content

Commit 8115238

Browse files
author
finefine
committed
fix: support create chaincode 2.0
1 parent 28cc21a commit 8115238

File tree

6 files changed

+20
-56
lines changed

6 files changed

+20
-56
lines changed

internal/peitho/controller/container/ping.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,10 @@ package container
66

77
import (
88
"github.com/gin-gonic/gin"
9-
10-
"github.com/tianrandailove/peitho/pkg/log"
119
)
1210

1311
func (cc *ContainerController) Ping(c *gin.Context) {
14-
log.L(c).Info("ping function called.")
12+
//log.L(c).Info("ping function called.")
1513

1614
c.JSON(200, gin.H{"message": "OK"})
1715
}

internal/peitho/router.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ package peitho
66

77
import (
88
"github.com/gin-gonic/gin"
9-
109
"github.com/tianrandailove/peitho/internal/peitho/controller/container"
1110
"github.com/tianrandailove/peitho/internal/peitho/controller/image"
1211
"github.com/tianrandailove/peitho/internal/peitho/service"

internal/peitho/run.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ func Run(cfg *config.Config) error {
3030
// new service
3131
service.Srv = service.NewService(dockerService, k8sService)
3232

33-
engine := gin.Default()
33+
engine := gin.New()
34+
engine.Use(gin.LoggerWithConfig(gin.LoggerConfig{SkipPaths: []string{"/_ping"}}))
35+
3436
initRouter(engine)
3537

3638
return engine.Run()

internal/peitho/service/container.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ func (cs *containerService) Upload(ctx context.Context, containerID string, path
201201
ctx = context.WithValue(ctx, "version", "v2.0.0")
202202
}
203203
// update chaincode deployment
204-
if err := cs.k8s.UpdateDeployment(context.WithValue(ctx, "version", "v2.0.0"), name); err != nil {
204+
if err := cs.k8s.UpdateDeployment(ctx, name); err != nil {
205205
return err
206206
}
207207

internal/peitho/service/image.go

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"io"
1515
"io/ioutil"
1616
"strings"
17+
"sync"
1718
"time"
1819
)
1920

@@ -40,18 +41,21 @@ type ImageSrv interface {
4041

4142
type imageService struct {
4243
docker docker.DockerService
44+
lock sync.Mutex
4345
}
4446

4547
var _ ImageSrv = (*imageService)(nil)
4648

4749
func newImage(srv *service) *imageService {
4850
return &imageService{
4951
docker: srv.docker,
52+
lock: sync.Mutex{},
5053
}
5154
}
5255

5356
// Build build an image and push it to registry
54-
func (i imageService) Build(ctx context.Context, dockerfile string, tags []string, content io.Reader) (io.ReadCloser, error) {
57+
func (i *imageService) Build(ctx context.Context, dockerfile string, tags []string, content io.Reader) (io.ReadCloser, error) {
58+
5559
imageOptions := types.ImageBuildOptions{
5660
Dockerfile: dockerfile,
5761
Tags: tags,
@@ -65,6 +69,8 @@ func (i imageService) Build(ctx context.Context, dockerfile string, tags []strin
6569
return nil, errors.New("content is nil")
6670
}
6771

72+
// lock
73+
i.lock.Lock()
6874
resp, err := i.docker.ImageBuild(ctx, content, imageOptions)
6975
if err != nil {
7076
log.Errorf("build image failed: %v", err)
@@ -80,6 +86,10 @@ func (i imageService) Build(ctx context.Context, dockerfile string, tags []strin
8086
}
8187
time.Sleep(1 * time.Second)
8288
}
89+
90+
// release lock
91+
i.lock.Unlock()
92+
8393
log.Infof("build image %s complete", tags[0])
8494
log.Infof("ready push")
8595

@@ -128,7 +138,7 @@ func (i imageService) Build(ctx context.Context, dockerfile string, tags []strin
128138
}
129139

130140
// Create pull a image
131-
func (i imageService) Create(ctx context.Context, fromImage string) (io.ReadCloser, error) {
141+
func (i *imageService) Create(ctx context.Context, fromImage string) (io.ReadCloser, error) {
132142
resp, err := i.docker.ImagePull(ctx, fromImage, types.ImagePullOptions{})
133143
if err != nil {
134144
log.Errorf("pull image failed: %v", err)
@@ -140,7 +150,7 @@ func (i imageService) Create(ctx context.Context, fromImage string) (io.ReadClos
140150
}
141151

142152
// Inspect inspect image information
143-
func (i imageService) Inspect(ctx context.Context, imageID string) (interface{}, error) {
153+
func (i *imageService) Inspect(ctx context.Context, imageID string) (interface{}, error) {
144154
if !strings.HasPrefix(imageID, i.docker.GetServerAddress()) {
145155
// for chiancode, pull it firstly then inspect
146156
imageID = fmt.Sprintf("%s/%s/%s", i.docker.GetServerAddress(), i.docker.GetProjectName(), imageID)
@@ -170,7 +180,7 @@ func (i imageService) Inspect(ctx context.Context, imageID string) (interface{},
170180
}
171181

172182
// AddTag add a new tag for image
173-
func (i imageService) AddTag(ctx context.Context, imageTag, newTag string) error {
183+
func (i *imageService) AddTag(ctx context.Context, imageTag, newTag string) error {
174184
if err := i.docker.ImageTag(ctx, imageTag, newTag); err != nil {
175185
log.Errorf("add tag failed: %v", err)
176186

@@ -181,7 +191,7 @@ func (i imageService) AddTag(ctx context.Context, imageTag, newTag string) error
181191
}
182192

183193
// Push push a image
184-
func (i imageService) Push(ctx context.Context, imageTag string) (io.ReadCloser, error) {
194+
func (i *imageService) Push(ctx context.Context, imageTag string) (io.ReadCloser, error) {
185195
auth, err := i.docker.RegistryAuth()
186196
if err != nil {
187197
log.Errorf("get RegistryAuth failed: %v", err)

internal/peitho/util/container_util.go

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -41,48 +41,3 @@ func GetDeploymentName(ID string) string {
4141

4242
return fmt.Sprintf("chaincode-%s-%s", ID[:10], hex.EncodeToString(digest))
4343
}
44-
45-
// GetDeploymentName get a valid deployment name
46-
func GetDeploymentName(ID string) string {
47-
if len(ID) <= 53 {
48-
49-
return strings.ReplaceAll(ID, ".", "-")
50-
}
51-
52-
ID = strings.ReplaceAll(ID, ".", "-")
53-
hasher := md5.New()
54-
hasher.Write([]byte(ID))
55-
digest := hasher.Sum(nil)
56-
57-
return fmt.Sprintf("chaincode-%s-%s", ID[:10], hex.EncodeToString(digest))
58-
}
59-
60-
// GetDeploymentName get a valid deployment name
61-
func GetDeploymentName(ID string) string {
62-
if len(ID) <= 53 {
63-
64-
return strings.ReplaceAll(ID, ".", "-")
65-
}
66-
67-
ID = strings.ReplaceAll(ID, ".", "-")
68-
hasher := md5.New()
69-
hasher.Write([]byte(ID))
70-
digest := hasher.Sum(nil)
71-
72-
return fmt.Sprintf("chaincode-%s-%s", ID[:10], hex.EncodeToString(digest))
73-
}
74-
75-
// GetDeploymentName get a valid deployment name
76-
func GetDeploymentName(ID string) string {
77-
if len(ID) <= 53 {
78-
79-
return strings.ReplaceAll(ID, ".", "-")
80-
}
81-
82-
ID = strings.ReplaceAll(ID, ".", "-")
83-
hasher := md5.New()
84-
hasher.Write([]byte(ID))
85-
digest := hasher.Sum(nil)
86-
87-
return fmt.Sprintf("chaincode-%s-%s", ID[:10], hex.EncodeToString(digest))
88-
}

0 commit comments

Comments
 (0)