Updated all the things to new protobuf

pull/2342/head
John Welsh 9 years ago
parent b6af209c82
commit 910679b1d4

@ -64,7 +64,7 @@ func newLogsCmd(client helm.Interface, out io.Writer) *cobra.Command {
func (l *logsCmd) run() error { func (l *logsCmd) run() error {
done := make(chan struct{}) done := make(chan struct{})
stream, err := l.client.ReleaseLogs(l.release, release.LogLevel_DEBUG, done, release.LogSource_SYSTEM, release.LogSource_POD) stream, err := l.client.ReleaseLogs(l.release, release.Log_DEBUG, done, release.Log_SYSTEM, release.Log_POD)
if err != nil { if err != nil {
done <- struct{}{} done <- struct{}{}
return prettyError(err) return prettyError(err)

@ -218,7 +218,7 @@ func (h *Client) RollbackRelease(rlsName string, opts ...RollbackOption) (*rls.R
} }
// ReleaseLogs returns a channel streaming log data from the release // ReleaseLogs returns a channel streaming log data from the release
func (h *Client) ReleaseLogs(rlsName string, level release.LogLevel, done <-chan struct{}, sources ...release.LogSource) (<-chan *rls.GetReleaseLogsResponse, error) { func (h *Client) ReleaseLogs(rlsName string, level release.Log_Level, done <-chan struct{}, sources ...release.Log_Source) (<-chan *rls.GetReleaseLogsResponse, error) {
ctx := NewContext() ctx := NewContext()
sub := &release.LogSubscription{Release: rlsName, Level: level, Sources: sources} sub := &release.LogSubscription{Release: rlsName, Level: level, Sources: sources}
req := &rls.GetReleaseLogsRequest{Subscription: sub} req := &rls.GetReleaseLogsRequest{Subscription: sub}

@ -29,7 +29,7 @@ type Interface interface {
InstallReleaseFromChart(chart *chart.Chart, namespace string, opts ...InstallOption) (*rls.InstallReleaseResponse, error) InstallReleaseFromChart(chart *chart.Chart, namespace string, opts ...InstallOption) (*rls.InstallReleaseResponse, error)
DeleteRelease(rlsName string, opts ...DeleteOption) (*rls.UninstallReleaseResponse, error) DeleteRelease(rlsName string, opts ...DeleteOption) (*rls.UninstallReleaseResponse, error)
ReleaseStatus(rlsName string, opts ...StatusOption) (*rls.GetReleaseStatusResponse, error) ReleaseStatus(rlsName string, opts ...StatusOption) (*rls.GetReleaseStatusResponse, error)
ReleaseLogs(rlsName string, level release.LogLevel, done <-chan struct{}, sources ...release.LogSource) (<-chan *rls.GetReleaseLogsResponse, error) ReleaseLogs(rlsName string, level release.Log_Level, done <-chan struct{}, sources ...release.Log_Source) (<-chan *rls.GetReleaseLogsResponse, error)
UpdateRelease(rlsName, chStr string, opts ...UpdateOption) (*rls.UpdateReleaseResponse, error) UpdateRelease(rlsName, chStr string, opts ...UpdateOption) (*rls.UpdateReleaseResponse, error)
UpdateReleaseFromChart(rlsName string, chart *chart.Chart, opts ...UpdateOption) (*rls.UpdateReleaseResponse, error) UpdateReleaseFromChart(rlsName string, chart *chart.Chart, opts ...UpdateOption) (*rls.UpdateReleaseResponse, error)
RollbackRelease(rlsName string, opts ...RollbackOption) (*rls.RollbackReleaseResponse, error) RollbackRelease(rlsName string, opts ...RollbackOption) (*rls.RollbackReleaseResponse, error)

@ -1,4 +1,4 @@
package logdistributor package logs
import ( import (
rspb "k8s.io/helm/pkg/proto/hapi/release" rspb "k8s.io/helm/pkg/proto/hapi/release"
@ -7,13 +7,13 @@ import (
type Logsub struct { type Logsub struct {
C chan *rspb.Log C chan *rspb.Log
release string release string
sources []rspb.LogSource sources []rspb.Log_Source
level rspb.LogLevel level rspb.Log_Level
} }
type release struct { type release struct {
name string name string
sourceMappings map[rspb.LogSource]map[*Logsub]bool sourceMappings map[rspb.Log_Source]map[*Logsub]bool
} }
type Pubsub struct { type Pubsub struct {
@ -27,18 +27,18 @@ func New() *Pubsub {
func newRelease(name string) *release { func newRelease(name string) *release {
rs := &release{name: name} rs := &release{name: name}
rs.sourceMappings = make(map[rspb.LogSource]map[*Logsub]bool, len(rspb.LogSource_name)) rs.sourceMappings = make(map[rspb.Log_Source]map[*Logsub]bool, len(rspb.Log_Source_name))
return rs return rs
} }
func (rs *release) subscribe(sub *Logsub) { func (rs *release) subscribe(sub *Logsub) {
for _, source := range sub.sources { for _, source := range sub.sources {
logSource := rspb.LogSource(source) Log_Source := rspb.Log_Source(source)
if _, ok := rs.sourceMappings[logSource]; !ok { if _, ok := rs.sourceMappings[Log_Source]; !ok {
subs := make(map[*Logsub]bool, 1) subs := make(map[*Logsub]bool, 1)
rs.sourceMappings[logSource] = subs rs.sourceMappings[Log_Source] = subs
} }
rs.sourceMappings[logSource][sub] = true rs.sourceMappings[Log_Source][sub] = true
} }
} }
@ -51,7 +51,7 @@ func (ps *Pubsub) subscribe(sub *Logsub) {
ps.releases[sub.release].subscribe(sub) ps.releases[sub.release].subscribe(sub)
} }
func (ps *Pubsub) Subscribe(release string, level rspb.LogLevel, sources ...rspb.LogSource) *Logsub { func (ps *Pubsub) Subscribe(release string, level rspb.Log_Level, sources ...rspb.Log_Source) *Logsub {
ch := make(chan *rspb.Log) ch := make(chan *rspb.Log)
ls := &Logsub{C: ch, release: release, level: level, sources: sources} ls := &Logsub{C: ch, release: release, level: level, sources: sources}
ps.subscribe(ls) ps.subscribe(ls)
@ -72,7 +72,7 @@ func (ps *Pubsub) Unsubscribe(sub *Logsub) {
} }
} }
func (ps *Pubsub) PubLog(rls string, source rspb.LogSource, level rspb.LogLevel, message string) { func (ps *Pubsub) PubLog(rls string, source rspb.Log_Source, level rspb.Log_Level, message string) {
log := &rspb.Log{Release: rls, Source: source, Level: level, Log: message} log := &rspb.Log{Release: rls, Source: source, Level: level, Log: message}
if rls, ok := ps.releases[log.Release]; ok { if rls, ok := ps.releases[log.Release]; ok {
if subs, ok := rls.sourceMappings[log.Source]; ok { if subs, ok := rls.sourceMappings[log.Source]; ok {

@ -1,4 +1,4 @@
package logdistributor package logs
import ( import (
"testing" "testing"

@ -42,7 +42,7 @@ import (
"k8s.io/helm/pkg/tiller/environment" "k8s.io/helm/pkg/tiller/environment"
"k8s.io/helm/pkg/timeconv" "k8s.io/helm/pkg/timeconv"
"k8s.io/helm/pkg/version" "k8s.io/helm/pkg/version"
"k8s.io/helm/pkg/tiller/logdistributor" "k8s.io/helm/pkg/tiller/logs"
) )
// releaseNameMaxLen is the maximum length of a release name. // releaseNameMaxLen is the maximum length of a release name.
@ -85,7 +85,7 @@ var ValidName = regexp.MustCompile("^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])+
type ReleaseServer struct { type ReleaseServer struct {
env *environment.Environment env *environment.Environment
clientset internalclientset.Interface clientset internalclientset.Interface
logs *logdistributor.Pubsub logs *logs.Pubsub
} }
// NewReleaseServer creates a new release server. // NewReleaseServer creates a new release server.
@ -93,7 +93,7 @@ func NewReleaseServer(env *environment.Environment, clientset internalclientset.
return &ReleaseServer{ return &ReleaseServer{
env: env, env: env,
clientset: clientset, clientset: clientset,
logs: logdistributor.New(), logs: logs.New(),
} }
} }
@ -254,7 +254,7 @@ func (s *ReleaseServer) GetReleaseStatus(c ctx.Context, req *services.GetRelease
Info: rel.Info, Info: rel.Info,
} }
s.logs.PubLog(req.Name, release.LogSource_SYSTEM, release.LogLevel_INFO, "Got release status for the release") s.logs.PubLog(req.Name, release.Log_SYSTEM, release.Log_INFO, "Got release status for the release")
// Ok, we got the status of the release as we had jotted down, now we need to match the // Ok, we got the status of the release as we had jotted down, now we need to match the
// manifest we stashed away with reality from the cluster. // manifest we stashed away with reality from the cluster.

Loading…
Cancel
Save