Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
H
helm3
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
go
helm3
Commits
bd47b844
Commit
bd47b844
authored
Mar 16, 2017
by
Dmitry Shulyak
Committed by
Maciej Kwiek
May 05, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use rollback method on ReleaseModule interface
parent
59af4650
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
102 additions
and
51 deletions
+102
-51
modules.proto
_proto/hapi/release/modules.proto
+5
-1
rudder.go
cmd/rudder/rudder.go
+4
-1
modules.pb.go
pkg/proto/hapi/release/modules.pb.go
+48
-37
client.go
pkg/rudder/client.go
+16
-7
release_modules.go
pkg/tiller/release_modules.go
+22
-2
release_server.go
pkg/tiller/release_server.go
+7
-3
No files found.
_proto/hapi/release/modules.proto
View file @
bd47b844
...
@@ -79,7 +79,11 @@ message UpgradeReleaseResponse{
...
@@ -79,7 +79,11 @@ message UpgradeReleaseResponse{
}
}
message
RollbackReleaseRequest
{
message
RollbackReleaseRequest
{
hapi.release.Release
release
=
1
;
hapi.release.Release
current
=
1
;
hapi.release.Release
target
=
2
;
int64
Timeout
=
3
;
bool
Wait
=
4
;
bool
Recreate
=
5
;
}
}
message
RollbackReleaseResponse
{
message
RollbackReleaseResponse
{
hapi.release.Release
release
=
1
;
hapi.release.Release
release
=
1
;
...
...
cmd/rudder/rudder.go
View file @
bd47b844
...
@@ -78,7 +78,10 @@ func (r *ReleaseModuleServiceServer) DeleteRelease(ctx context.Context, in *rele
...
@@ -78,7 +78,10 @@ func (r *ReleaseModuleServiceServer) DeleteRelease(ctx context.Context, in *rele
// RollbackRelease is not implemented
// RollbackRelease is not implemented
func
(
r
*
ReleaseModuleServiceServer
)
RollbackRelease
(
ctx
context
.
Context
,
in
*
release
.
RollbackReleaseRequest
)
(
*
release
.
RollbackReleaseResponse
,
error
)
{
func
(
r
*
ReleaseModuleServiceServer
)
RollbackRelease
(
ctx
context
.
Context
,
in
*
release
.
RollbackReleaseRequest
)
(
*
release
.
RollbackReleaseResponse
,
error
)
{
grpclog
.
Print
(
"rollback"
)
grpclog
.
Print
(
"rollback"
)
return
nil
,
nil
c
:=
bytes
.
NewBufferString
(
in
.
Current
.
Manifest
)
t
:=
bytes
.
NewBufferString
(
in
.
Target
.
Manifest
)
err
:=
kubeClient
.
Update
(
in
.
Target
.
Namespace
,
c
,
t
,
in
.
Recreate
,
in
.
Timeout
,
in
.
Wait
)
return
&
release
.
RollbackReleaseResponse
{},
err
}
}
// UpgradeRelease upgrades manifests using kubernetes client
// UpgradeRelease upgrades manifests using kubernetes client
...
...
pkg/proto/hapi/release/modules.pb.go
View file @
bd47b844
...
@@ -209,7 +209,11 @@ func (m *UpgradeReleaseResponse) GetResult() *Result {
...
@@ -209,7 +209,11 @@ func (m *UpgradeReleaseResponse) GetResult() *Result {
}
}
type
RollbackReleaseRequest
struct
{
type
RollbackReleaseRequest
struct
{
Release
*
Release
`protobuf:"bytes,1,opt,name=release" json:"release,omitempty"`
Current
*
Release
`protobuf:"bytes,1,opt,name=current" json:"current,omitempty"`
Target
*
Release
`protobuf:"bytes,2,opt,name=target" json:"target,omitempty"`
Timeout
int64
`protobuf:"varint,3,opt,name=Timeout" json:"Timeout,omitempty"`
Wait
bool
`protobuf:"varint,4,opt,name=Wait" json:"Wait,omitempty"`
Recreate
bool
`protobuf:"varint,5,opt,name=Recreate" json:"Recreate,omitempty"`
}
}
func
(
m
*
RollbackReleaseRequest
)
Reset
()
{
*
m
=
RollbackReleaseRequest
{}
}
func
(
m
*
RollbackReleaseRequest
)
Reset
()
{
*
m
=
RollbackReleaseRequest
{}
}
...
@@ -217,9 +221,16 @@ func (m *RollbackReleaseRequest) String() string { return proto.Compa
...
@@ -217,9 +221,16 @@ func (m *RollbackReleaseRequest) String() string { return proto.Compa
func
(
*
RollbackReleaseRequest
)
ProtoMessage
()
{}
func
(
*
RollbackReleaseRequest
)
ProtoMessage
()
{}
func
(
*
RollbackReleaseRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor2
,
[]
int
{
9
}
}
func
(
*
RollbackReleaseRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor2
,
[]
int
{
9
}
}
func
(
m
*
RollbackReleaseRequest
)
Get
Release
()
*
Release
{
func
(
m
*
RollbackReleaseRequest
)
Get
Current
()
*
Release
{
if
m
!=
nil
{
if
m
!=
nil
{
return
m
.
Release
return
m
.
Current
}
return
nil
}
func
(
m
*
RollbackReleaseRequest
)
GetTarget
()
*
Release
{
if
m
!=
nil
{
return
m
.
Target
}
}
return
nil
return
nil
}
}
...
@@ -478,38 +489,38 @@ var _ReleaseModuleService_serviceDesc = grpc.ServiceDesc{
...
@@ -478,38 +489,38 @@ var _ReleaseModuleService_serviceDesc = grpc.ServiceDesc{
func
init
()
{
proto
.
RegisterFile
(
"hapi/release/modules.proto"
,
fileDescriptor2
)
}
func
init
()
{
proto
.
RegisterFile
(
"hapi/release/modules.proto"
,
fileDescriptor2
)
}
var
fileDescriptor2
=
[]
byte
{
var
fileDescriptor2
=
[]
byte
{
// 52
0
bytes of a gzipped FileDescriptorProto
// 52
3
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x09
,
0x6e
,
0x88
,
0x02
,
0xff
,
0x
bc
,
0x55
,
0x51
,
0x6f
,
0xd3
,
0x3
0
,
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x09
,
0x6e
,
0x88
,
0x02
,
0xff
,
0x
d4
,
0x55
,
0xc1
,
0x6e
,
0xd3
,
0x4
0
,
0x10
,
0x
6e
,
0x9a
,
0xad
,
0x5d
,
0xae
,
0x0c
,
0x22
,
0xab
,
0xe9
,
0xa2
,
0x3c
,
0x55
,
0x1e
,
0x48
,
0x7d
,
0x10
,
0x
8d
,
0xe3
,
0x36
,
0xa9
,
0x27
,
0x14
,
0xac
,
0x55
,
0x9c
,
0x5a
,
0x3e
,
0x45
,
0x5b
,
0x90
,
0x72
,
0x80
,
0x
56
,
0x2a
,
0xaf
,
0xbc
,
0x40
,
0x57
,
0xb6
,
0x09
,
0x91
,
0x49
,
0x0e
,
0xdd
,
0xa4
,
0x49
,
0x48
,
0x80
,
0x
44
,
0x0a
,
0x57
,
0x2e
,
0x90
,
0x86
,
0x16
,
0x21
,
0x5c
,
0x69
,
0x4d
,
0x5a
,
0xa9
,
0x12
,
0x12
,
0x
78
,
0xdd
,
0x51
,
0x22
,
0xdc
,
0xa4
,
0x38
,
0x4e
,
0xe1
,
0xef
,
0xf1
,
0x77
,
0xf8
,
0x15
,
0x28
,
0x69
,
0x
db
,
0x74
,
0x08
,
0x16
,
0x1b
,
0x3b
,
0xac
,
0xd7
,
0x81
,
0xdf
,
0x83
,
0xcf
,
0xe1
,
0x2b
,
0x90
,
0x1d
,
0x
32
,
0x2d
,
0x26
,
0x6c
,
0x9a
,
0x26
,
0xf5
,
0xa9
,
0x3e
,
0xdf
,
0xd7
,
0xcf
,
0xf7
,
0x9d
,
0xef
,
0x7
3
,
0x
bb
,
0xaa
,
0x17
,
0xd3
,
0x0a
,
0x21
,
0x45
,
0xea
,
0x29
,
0x33
,
0x9e
,
0x97
,
0xb7
,
0x33
,
0xcf
,
0xb
3
,
0xc
0
,
0xfb
,
0xc6
,
0x57
,
0xe1
,
0x48
,
0xa2
,
0x40
,
0x9e
,
0xe0
,
0x68
,
0x19
,
0x5f
,
0xa7
,
0x02
,
0x93
,
0xc
f
,
0xe0
,
0x7d
,
0xe6
,
0xab
,
0x70
,
0x24
,
0x51
,
0x20
,
0x4f
,
0x70
,
0xb4
,
0x8c
,
0xaf
,
0x52
,
0x81
,
0x
e1
,
0x4a
,
0xc6
,
0x2a
,
0x26
,
0x4f
,
0xb2
,
0xdc
,
0xb0
,
0xc8
,
0x79
,
0x55
,
0x64
,
0xf1
,
0xbb
,
0x41
,
0x
c9
,
0x70
,
0x25
,
0x63
,
0x15
,
0x93
,
0x07
,
0x59
,
0x6d
,
0x58
,
0xd4
,
0xbc
,
0x2a
,
0xb2
,
0xf8
,
0xdd
,
0x
52
,
0x01
,
0x2d
,
0x86
,
0x49
,
0x2a
,
0x14
,
0x21
,
0xb0
,
0x13
,
0x46
,
0x5f
,
0x63
,
0xd7
,
0xe8
,
0x1b
,
0x
20
,
0xa9
,
0x80
,
0x16
,
0xc3
,
0x24
,
0x15
,
0x8a
,
0x10
,
0xd8
,
0x09
,
0xa3
,
0x4f
,
0xb1
,
0x6b
,
0xf4
,
0x
03
,
0x8b
,
0xe5
,
0x6b
,
0x62
,
0x83
,
0x29
,
0xe2
,
0x85
,
0xdb
,
0xec
,
0x9b
,
0x03
,
0x8b
,
0x65
,
0x4b
,
0x
8d
,
0x81
,
0xc5
,
0xf2
,
0x98
,
0xd8
,
0x60
,
0x8a
,
0x78
,
0xe1
,
0x36
,
0xfb
,
0xe6
,
0xc0
,
0x62
,
0x59
,
0x
fa
,
0x06
,
0x5a
,
0x81
,
0xe2
,
0x2a
,
0x4d
,
0x48
,
0x07
,
0xda
,
0x33
,
0xff
,
0x83
,
0x7f
,
0x76
,
0xe1
,
0x
48
,
0x5f
,
0x40
,
0x2b
,
0x50
,
0x5c
,
0xa5
,
0x09
,
0xe9
,
0x40
,
0x7b
,
0xe6
,
0xbf
,
0xf5
,
0x4f
,
0xcf
,
0x
db
,
0x8d
,
0x2c
,
0x08
,
0x66
,
0x93
,
0xc9
,
0x34
,
0x08
,
0x6c
,
0x83
,
0xec
,
0x83
,
0x35
,
0xf3
,
0x27
,
0x
7d
,
0xbb
,
0x91
,
0x25
,
0xc1
,
0x6c
,
0x32
,
0x99
,
0x06
,
0x81
,
0x6d
,
0x90
,
0x7d
,
0xb0
,
0x66
,
0xfe
,
0x
27
,
0x6f
,
0xfd
,
0xe3
,
0xe9
,
0x91
,
0xdd
,
0x24
,
0x16
,
0xec
,
0x4e
,
0x19
,
0x3b
,
0x63
,
0xb6
,
0x49
,
0x
e4
,
0xe4
,
0xa5
,
0x7f
,
0x3c
,
0x3d
,
0xb2
,
0x9b
,
0xc4
,
0x82
,
0xdd
,
0x29
,
0x63
,
0xa7
,
0xcc
,
0x36
,
0x
0f
,
0xc0
,
0x39
,
0x47
,
0x99
,
0x84
,
0x71
,
0xc4
,
0x36
,
0x55
,
0x30
,
0xfc
,
0x91
,
0x62
,
0xa2
,
0xe8
,
0x
e9
,
0x01
,
0x38
,
0x67
,
0x28
,
0x93
,
0x30
,
0x8e
,
0xd8
,
0xa6
,
0x0b
,
0x86
,
0x5f
,
0x53
,
0x4c
,
0x14
,
0x7
b
,
0xe8
,
0xe9
,
0x89
,
0x64
,
0x15
,
0x47
,
0x09
,
0x66
,
0x65
,
0x45
,
0x7c
,
0x89
,
0x65
,
0x59
,
0xd9
,
0x7
d
,
0x0d
,
0x3d
,
0xbd
,
0x90
,
0xac
,
0xe2
,
0x28
,
0xc1
,
0xac
,
0xad
,
0x88
,
0x2f
,
0xb1
,
0x6c
,
0x2b
,
0x
9a
,
0xb8
,
0xd0
,
0x5e
,
0x6f
,
0xd0
,
0x6e
,
0x33
,
0xdf
,
0x2e
,
0x43
,
0x7a
,
0x02
,
0xce
,
0x69
,
0x94
,
0x
8b
,
0x89
,
0x0b
,
0xed
,
0xf5
,
0x06
,
0xed
,
0x36
,
0xf3
,
0xc7
,
0x65
,
0x4a
,
0x4f
,
0xc0
,
0x79
,
0x13
,
0x2
8
,
0x2e
,
0x44
,
0xf5
,
0x00
,
0x32
,
0x82
,
0x76
,
0x21
,
0x3c
,
0x67
,
0xea
,
0x8c
,
0x9d
,
0xe1
,
0xed
,
0x2
5
,
0x8a
,
0x0b
,
0x51
,
0x3d
,
0x80
,
0x8c
,
0xa0
,
0x5d
,
0x0c
,
0x9e
,
0x33
,
0x75
,
0xc6
,
0xce
,
0xf0
,
0x
1e
,
0x0d
,
0x4b
,
0x78
,
0x89
,
0xa2
,
0x3f
,
0xa1
,
0xa7
,
0x33
,
0x15
,
0x15
,
0x3d
,
0x94
,
0x8a
,
0xbc
,
0x
a6
,
0x46
,
0xc3
,
0x12
,
0x5e
,
0xa2
,
0xe8
,
0x37
,
0xe8
,
0xe9
,
0x4c
,
0x45
,
0x47
,
0xff
,
0x4a
,
0x45
,
0x
84
,
0x96
,
0xcc
,
0x7b
,
0x9c
,
0x57
,
0xdb
,
0x19
,
0x77
,
0x75
,
0x7c
,
0x96
,
0x63
,
0x05
,
0x86
,
0x1e
,
0x
9e
,
0x42
,
0x4b
,
0xe6
,
0x1a
,
0xe7
,
0xdd
,
0x76
,
0xc6
,
0x5d
,
0x1d
,
0x9f
,
0xd5
,
0x58
,
0x81
,
0xa1
,
0x
43
,
0xf7
,
0x08
,
0x05
,
0x2a
,
0x7c
,
0xac
,
0x82
,
0x35
,
0x38
,
0x1a
,
0xd1
,
0x76
,
0x04
,
0xfc
,
0x36
,
0x
c7
,
0xd0
,
0x3d
,
0x42
,
0x81
,
0x0a
,
0xff
,
0x77
,
0x82
,
0x35
,
0x38
,
0x1a
,
0xd1
,
0x76
,
0x06
,
0xf8
,
0x
c0
,
0x99
,
0xad
,
0x16
,
0x92
,
0x5f
,
0xd7
,
0x48
,
0x98
,
0xa7
,
0x52
,
0x62
,
0xa4
,
0xee
,
0x39
,
0xb8
,
0x
61
,
0x80
,
0x33
,
0x5b
,
0x2d
,
0x24
,
0xbf
,
0xaa
,
0x19
,
0x61
,
0x9e
,
0x4a
,
0x89
,
0x91
,
0xba
,
0xe3
,
0x
40
,
0x91
,
0x57
,
0xd0
,
0x52
,
0x5c
,
0x2e
,
0xb0
,
0x3c
,
0xf8
,
0x3f
,
0xf8
,
0x02
,
0x94
,
0xcd
,
0xc5
,
0x
e0
,
0x02
,
0x45
,
0x9e
,
0x41
,
0x4b
,
0x71
,
0xb9
,
0xc0
,
0xf2
,
0xe0
,
0xbf
,
0xe0
,
0x0b
,
0x50
,
0xb6
,
0x
a7
,
0x70
,
0x89
,
0x71
,
0xaa
,
0x5c
,
0xb3
,
0x6f
,
0x0c
,
0x4c
,
0x56
,
0x86
,
0xd9
,
0x14
,
0x5d
,
0xf0
,
0x
17
,
0xef
,
0xc3
,
0x25
,
0xc6
,
0xa9
,
0x72
,
0xcd
,
0xbe
,
0x31
,
0x30
,
0x59
,
0x99
,
0x66
,
0x5b
,
0x74
,
0x
50
,
0xb9
,
0x3b
,
0x7d
,
0x63
,
0xb0
,
0xc7
,
0xf2
,
0x35
,
0xf1
,
0x60
,
0x8f
,
0xe1
,
0x5c
,
0x22
,
0x57
,
0x
ce
,
0x43
,
0xe5
,
0xee
,
0xf4
,
0x8d
,
0xc1
,
0x1e
,
0xcb
,
0x63
,
0xe2
,
0xc1
,
0x1e
,
0xc3
,
0xb9
,
0x44
,
0x
e8
,
0xee
,
0xe6
,
0xfb
,
0x37
,
0x71
,
0x76
,
0xfb
,
0xba
,
0x84
,
0xed
,
0x34
,
0xef
,
0x14
,
0x7a
,
0x2c
,
0x
ae
,
0xd0
,
0xdd
,
0xcd
,
0x9f
,
0x5f
,
0xe7
,
0xd9
,
0xdb
,
0xd7
,
0x47
,
0xd8
,
0x8e
,
0x78
,
0x3f
,
0x0d
,
0x
16
,
0xe2
,
0x8a
,
0xcf
,
0xbf
,
0x3f
,
0xf6
,
0xfe
,
0x7f
,
0xc1
,
0xc1
,
0x3f
,
0x54
,
0x5b
,
0x11
,
0x31
,
0x
e8
,
0xb1
,
0x58
,
0x88
,
0x4b
,
0x3e
,
0xff
,
0x72
,
0x6f
,
0xd5
,
0xfb
,
0x0e
,
0x07
,
0x7f
,
0xcc
,
0xb0
,
0x
fe
,
0x63
,
0x42
,
0xb7
,
0xa0
,
0xf8
,
0x98
,
0xbf
,
0x4b
,
0x01
,
0xca
,
0x75
,
0x38
,
0x47
,
0x72
,
0x0e
,
0x
15
,
0xf9
,
0xc6
,
0xbf
,
0x4c
,
0xe8
,
0x16
,
0x14
,
0xef
,
0x72
,
0x47
,
0x0c
,
0x50
,
0xae
,
0xc3
,
0x39
,
0x
ed
,
0xc2
,
0xe6
,
0xe4
,
0xb0
,
0xca
,
0x50
,
0xfb
,
0x2c
,
0x78
,
0xcf
,
0xef
,
0x06
,
0x6d
,
0xd4
,
0xd0
,
0x
92
,
0x33
,
0x68
,
0x17
,
0x06
,
0x43
,
0x0e
,
0xab
,
0x0c
,
0xb5
,
0x86
,
0xe4
,
0x3d
,
0xbe
,
0x1d
,
0xb4
,
0x
06
,
0xf9
,
0x0c
,
0x4f
,
0xab
,
0x66
,
0xd5
,
0xe9
,
0x6b
,
0x1f
,
0x05
,
0x9d
,
0xbe
,
0xde
,
0xef
,
0xb4
,
0x
99
,
0x86
,
0x36
,
0xc8
,
0x07
,
0x78
,
0x58
,
0xb5
,
0x09
,
0x9d
,
0xbe
,
0xd6
,
0x8e
,
0x74
,
0xfa
,
0x7a
,
0x
41
,
0x2e
,
0x61
,
0xbf
,
0xe2
,
0x24
,
0x42
,
0xab
,
0x7f
,
0xac
,
0xf3
,
0xab
,
0x77
,
0x78
,
0x27
,
0xe6
,
0x
a7
,
0xa1
,
0x0d
,
0x72
,
0x01
,
0xfb
,
0x95
,
0x3b
,
0x4c
,
0x68
,
0xf5
,
0x8f
,
0x75
,
0x4e
,
0xe1
,
0x1d
,
0x
86
,
0xfb
,
0x0b
,
0x3c
,
0xd3
,
0x6e
,
0x89
,
0x68
,
0x65
,
0xd5
,
0xcf
,
0x83
,
0xf7
,
0xe2
,
0x1e
,
0xd4
,
0x
de
,
0x8a
,
0xb9
,
0xe6
,
0xfe
,
0x08
,
0x8f
,
0xb4
,
0xb7
,
0x44
,
0xb4
,
0xb6
,
0xea
,
0x17
,
0xd1
,
0x7b
,
0x
ed
,
0xe6
,
0x54
,
0x67
,
0x59
,
0x6f
,
0x4e
,
0xad
,
0x59
,
0xf5
,
0xe6
,
0xd4
,
0xdb
,
0x81
,
0x36
,
0xde
,
0x
72
,
0x07
,
0xea
,
0xa6
,
0x38
,
0xd5
,
0x5b
,
0xa4
,
0x8b
,
0x53
,
0x6b
,
0x13
,
0xba
,
0x38
,
0xf5
,
0x17
,
0x
59
,
0x97
,
0xe5
,
0x94
,
0x5c
,
0xb5
,
0xf2
,
0x6f
,
0xca
,
0xeb
,
0xbf
,
0x01
,
0x00
,
0x00
,
0xff
,
0xff
,
0x
91
,
0x36
,
0x5e
,
0x59
,
0x17
,
0xe5
,
0x96
,
0x5c
,
0xb6
,
0xf2
,
0xaf
,
0xd9
,
0xf3
,
0xdf
,
0x01
,
0x00
,
0x
28
,
0x24
,
0xf8
,
0xab
,
0x9b
,
0x06
,
0x00
,
0x00
,
0x
00
,
0xff
,
0xff
,
0x6c
,
0xb6
,
0x1e
,
0x06
,
0x15
,
0x07
,
0x00
,
0x00
,
}
}
pkg/rudder/client.go
View file @
bd47b844
...
@@ -17,21 +17,19 @@ limitations under the License.
...
@@ -17,21 +17,19 @@ limitations under the License.
package
rudder
// import "k8s.io/helm/pkg/rudder"
package
rudder
// import "k8s.io/helm/pkg/rudder"
import
(
import
(
"fmt"
"golang.org/x/net/context"
"golang.org/x/net/context"
"google.golang.org/grpc"
"google.golang.org/grpc"
"k8s.io/helm/pkg/proto/hapi/release"
"k8s.io/helm/pkg/proto/hapi/release"
)
)
// GrpcAddr is
port number for accessing
Rudder service
// GrpcAddr is
an address that should be used to access
Rudder service
var
GrpcAddr
=
10001
const
GrpcAddr
=
"127.0.0.1:10001"
// InstallRelease calls Rudder InstallRelease method which should create provided release
// InstallRelease calls Rudder InstallRelease method which should create provided release
func
InstallRelease
(
rel
*
release
.
InstallReleaseRequest
)
(
*
release
.
InstallReleaseResponse
,
error
)
{
func
InstallRelease
(
rel
*
release
.
InstallReleaseRequest
)
(
*
release
.
InstallReleaseResponse
,
error
)
{
//TODO(mkwiek): parametrize this
//TODO(mkwiek): parametrize this
conn
,
err
:=
grpc
.
Dial
(
fmt
.
Sprintf
(
"127.0.0.1:%d"
,
GrpcAddr
)
,
grpc
.
WithInsecure
())
conn
,
err
:=
grpc
.
Dial
(
GrpcAddr
,
grpc
.
WithInsecure
())
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
@@ -41,9 +39,9 @@ func InstallRelease(rel *release.InstallReleaseRequest) (*release.InstallRelease
...
@@ -41,9 +39,9 @@ func InstallRelease(rel *release.InstallReleaseRequest) (*release.InstallRelease
return
client
.
InstallRelease
(
context
.
Background
(),
rel
)
return
client
.
InstallRelease
(
context
.
Background
(),
rel
)
}
}
// UpgradeReleas calls Rudder UpgradeRelease method which should perform update
// UpgradeReleas
e
calls Rudder UpgradeRelease method which should perform update
func
UpgradeRelease
(
req
*
release
.
UpgradeReleaseRequest
)
(
*
release
.
UpgradeReleaseResponse
,
error
)
{
func
UpgradeRelease
(
req
*
release
.
UpgradeReleaseRequest
)
(
*
release
.
UpgradeReleaseResponse
,
error
)
{
conn
,
err
:=
grpc
.
Dial
(
fmt
.
Sprintf
(
"127.0.0.1:%d"
,
GrpcAddr
)
,
grpc
.
WithInsecure
())
conn
,
err
:=
grpc
.
Dial
(
GrpcAddr
,
grpc
.
WithInsecure
())
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
@@ -51,3 +49,14 @@ func UpgradeRelease(req *release.UpgradeReleaseRequest) (*release.UpgradeRelease
...
@@ -51,3 +49,14 @@ func UpgradeRelease(req *release.UpgradeReleaseRequest) (*release.UpgradeRelease
client
:=
release
.
NewReleaseModuleServiceClient
(
conn
)
client
:=
release
.
NewReleaseModuleServiceClient
(
conn
)
return
client
.
UpgradeRelease
(
context
.
Background
(),
req
)
return
client
.
UpgradeRelease
(
context
.
Background
(),
req
)
}
}
// RollbackRelease calls Rudder RollbackRelease method which should perform update
func
RollbackRelease
(
req
*
release
.
RollbackReleaseRequest
)
(
*
release
.
RollbackReleaseResponse
,
error
)
{
conn
,
err
:=
grpc
.
Dial
(
GrpcAddr
,
grpc
.
WithInsecure
())
if
err
!=
nil
{
return
nil
,
err
}
defer
conn
.
Close
()
client
:=
release
.
NewReleaseModuleServiceClient
(
conn
)
return
client
.
RollbackRelease
(
context
.
Background
(),
req
)
}
pkg/tiller/release_modules.go
View file @
bd47b844
...
@@ -29,6 +29,7 @@ import (
...
@@ -29,6 +29,7 @@ import (
type
ReleaseModule
interface
{
type
ReleaseModule
interface
{
Create
(
r
*
release
.
Release
,
req
*
services
.
InstallReleaseRequest
,
env
*
environment
.
Environment
)
error
Create
(
r
*
release
.
Release
,
req
*
services
.
InstallReleaseRequest
,
env
*
environment
.
Environment
)
error
Update
(
current
,
target
*
release
.
Release
,
req
*
services
.
UpdateReleaseRequest
,
env
*
environment
.
Environment
)
error
Update
(
current
,
target
*
release
.
Release
,
req
*
services
.
UpdateReleaseRequest
,
env
*
environment
.
Environment
)
error
Rollback
(
current
,
target
*
release
.
Release
,
req
*
services
.
RollbackReleaseRequest
,
env
*
environment
.
Environment
)
error
}
}
// LocalReleaseModule is a local implementation of ReleaseModule
// LocalReleaseModule is a local implementation of ReleaseModule
...
@@ -46,6 +47,12 @@ func (m *LocalReleaseModule) Update(current, target *release.Release, req *servi
...
@@ -46,6 +47,12 @@ func (m *LocalReleaseModule) Update(current, target *release.Release, req *servi
return
env
.
KubeClient
.
Update
(
target
.
Namespace
,
c
,
t
,
req
.
Recreate
,
req
.
Timeout
,
req
.
Wait
)
return
env
.
KubeClient
.
Update
(
target
.
Namespace
,
c
,
t
,
req
.
Recreate
,
req
.
Timeout
,
req
.
Wait
)
}
}
func
(
m
*
LocalReleaseModule
)
Rollback
(
current
,
target
*
release
.
Release
,
req
*
services
.
RollbackReleaseRequest
,
env
*
environment
.
Environment
)
error
{
c
:=
bytes
.
NewBufferString
(
current
.
Manifest
)
t
:=
bytes
.
NewBufferString
(
target
.
Manifest
)
return
env
.
KubeClient
.
Update
(
target
.
Namespace
,
c
,
t
,
req
.
Recreate
,
req
.
Timeout
,
req
.
Wait
)
}
// RemoteReleaseModule is a ReleaseModule which calls Rudder service to operate on a release
// RemoteReleaseModule is a ReleaseModule which calls Rudder service to operate on a release
type
RemoteReleaseModule
struct
{}
type
RemoteReleaseModule
struct
{}
...
@@ -58,13 +65,26 @@ func (m *RemoteReleaseModule) Create(r *release.Release, req *services.InstallRe
...
@@ -58,13 +65,26 @@ func (m *RemoteReleaseModule) Create(r *release.Release, req *services.InstallRe
// Update calls rudder.UpgradeRelease
// Update calls rudder.UpgradeRelease
func
(
m
*
RemoteReleaseModule
)
Update
(
current
,
target
*
release
.
Release
,
req
*
services
.
UpdateReleaseRequest
,
env
*
environment
.
Environment
)
error
{
func
(
m
*
RemoteReleaseModule
)
Update
(
current
,
target
*
release
.
Release
,
req
*
services
.
UpdateReleaseRequest
,
env
*
environment
.
Environment
)
error
{
req
:=
&
release
.
UpgradeReleaseRequest
{
upgrade
:=
&
release
.
UpgradeReleaseRequest
{
Current
:
current
,
Target
:
target
,
Recreate
:
req
.
Recreate
,
Timeout
:
req
.
Timeout
,
Wait
:
req
.
Wait
,
}
_
,
err
:=
rudder
.
UpgradeRelease
(
upgrade
)
return
err
}
// Rollback calls rudder.Rollback
func
(
m
*
RemoteReleaseModule
)
Rollback
(
current
,
target
*
release
.
Release
,
req
*
services
.
RollbackReleaseRequest
,
env
*
environment
.
Environment
)
error
{
rollback
:=
&
release
.
RollbackReleaseRequest
{
Current
:
current
,
Current
:
current
,
Target
:
target
,
Target
:
target
,
Recreate
:
req
.
Recreate
,
Recreate
:
req
.
Recreate
,
Timeout
:
req
.
Timeout
,
Timeout
:
req
.
Timeout
,
Wait
:
req
.
Wait
,
Wait
:
req
.
Wait
,
}
}
_
,
err
:=
rudder
.
UpgradeRelease
(
req
)
_
,
err
:=
rudder
.
RollbackRelease
(
rollback
)
return
err
return
err
}
}
pkg/tiller/release_server.go
View file @
bd47b844
...
@@ -519,7 +519,7 @@ func (s *ReleaseServer) performRollback(currentRelease, targetRelease *release.R
...
@@ -519,7 +519,7 @@ func (s *ReleaseServer) performRollback(currentRelease, targetRelease *release.R
}
}
}
}
if
err
:=
s
.
ReleaseModule
.
Update
(
currentRelease
,
targetRelease
,
req
);
err
!=
nil
{
if
err
:=
s
.
ReleaseModule
.
Rollback
(
currentRelease
,
targetRelease
,
req
,
s
.
env
);
err
!=
nil
{
msg
:=
fmt
.
Sprintf
(
"Rollback %q failed: %s"
,
targetRelease
.
Name
,
err
)
msg
:=
fmt
.
Sprintf
(
"Rollback %q failed: %s"
,
targetRelease
.
Name
,
err
)
log
.
Printf
(
"warning: %s"
,
msg
)
log
.
Printf
(
"warning: %s"
,
msg
)
currentRelease
.
Info
.
Status
.
Code
=
release
.
Status_SUPERSEDED
currentRelease
.
Info
.
Status
.
Code
=
release
.
Status_SUPERSEDED
...
@@ -893,8 +893,12 @@ func (s *ReleaseServer) performRelease(r *release.Release, req *services.Install
...
@@ -893,8 +893,12 @@ func (s *ReleaseServer) performRelease(r *release.Release, req *services.Install
// update new release with next revision number
// update new release with next revision number
// so as to append to the old release's history
// so as to append to the old release's history
r
.
Version
=
old
.
Version
+
1
r
.
Version
=
old
.
Version
+
1
updateReq
:=
&
services
.
UpdateReleaseRequest
{
if
err
:=
s
.
ReleaseModule
.
Update
(
old
,
r
,
req
,
s
.
env
);
err
!=
nil
{
Wait
:
req
.
Wait
,
Recreate
:
false
,
Timeout
:
req
.
Timeout
,
}
if
err
:=
s
.
ReleaseModule
.
Update
(
old
,
r
,
updateReq
,
s
.
env
);
err
!=
nil
{
msg
:=
fmt
.
Sprintf
(
"Release replace %q failed: %s"
,
r
.
Name
,
err
)
msg
:=
fmt
.
Sprintf
(
"Release replace %q failed: %s"
,
r
.
Name
,
err
)
log
.
Printf
(
"warning: %s"
,
msg
)
log
.
Printf
(
"warning: %s"
,
msg
)
old
.
Info
.
Status
.
Code
=
release
.
Status_SUPERSEDED
old
.
Info
.
Status
.
Code
=
release
.
Status_SUPERSEDED
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment