Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(644)

Issue 6446067: implement relation-set

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 8 months ago by fwereade
Modified:
12 years, 7 months ago
Reviewers:
mp+117326
Visibility:
Public.

Description

implement relation-set ...with HookContext, it's basically trivial. The relation id parsing is tedious, and will want to be farmed off to something common as soon as I implement another relation command; for now, it's not really justified. https://code.launchpad.net/~fwereade/juju-core/relation-set/+merge/117326 Requires: https://code.launchpad.net/~fwereade/juju-core/jujuc-server-unit-context/+merge/117253 (do not edit description out of merge proposal)

Patch Set 1 #

Total comments: 9

Patch Set 2 : implement relation-get #

Patch Set 3 : implement relation-set #

Total comments: 8

Patch Set 4 : implement relation-set #

Total comments: 13

Patch Set 5 : implement relation-set #

Unified diffs Side-by-side diffs Delta from patch set Stats (+358 lines, -18 lines) Patch
A [revision details] View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M cmd/jujuc/server/context.go View 1 2 3 4 3 chunks +26 lines, -16 lines 0 comments Download
M cmd/jujuc/server/context_test.go View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cmd/jujuc/server/juju-log.go View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
A cmd/jujuc/server/relation-set.go View 1 2 3 4 1 chunk +77 lines, -0 lines 0 comments Download
A cmd/jujuc/server/relation-set_test.go View 1 2 3 4 1 chunk +251 lines, -0 lines 0 comments Download

Messages

Total messages: 8
fwereade
Please take a look.
12 years, 8 months ago (2012-07-30 19:23:03 UTC) #1
rog
looking good. https://codereview.appspot.com/6446067/diff/1/cmd/jujuc/server/context.go File cmd/jujuc/server/context.go (right): https://codereview.appspot.com/6446067/diff/1/cmd/jujuc/server/context.go#newcode50 cmd/jujuc/server/context.go:50: "relation-set": NewRelationSetCommand, looks like this is implementing ...
12 years, 8 months ago (2012-07-31 08:28:08 UTC) #2
fwereade
Please take a look. https://codereview.appspot.com/6446067/diff/1/cmd/jujuc/server/context.go File cmd/jujuc/server/context.go (right): https://codereview.appspot.com/6446067/diff/1/cmd/jujuc/server/context.go#newcode50 cmd/jujuc/server/context.go:50: "relation-set": NewRelationSetCommand, On 2012/07/31 08:28:08, ...
12 years, 8 months ago (2012-07-31 23:00:11 UTC) #3
rog
LGTM modulo comments below. https://codereview.appspot.com/6446067/diff/1/cmd/jujuc/server/relation-set.go File cmd/jujuc/server/relation-set.go (right): https://codereview.appspot.com/6446067/diff/1/cmd/jujuc/server/relation-set.go#newcode66 cmd/jujuc/server/relation-set.go:66: err = goyaml.Unmarshal([]byte(parts[1]), &value) On ...
12 years, 7 months ago (2012-08-03 13:49:42 UTC) #4
fwereade
Please take a look. https://codereview.appspot.com/6446067/diff/6001/cmd/jujuc/server/context.go File cmd/jujuc/server/context.go (right): https://codereview.appspot.com/6446067/diff/6001/cmd/jujuc/server/context.go#newcode122 cmd/jujuc/server/context.go:122: // is does not have ...
12 years, 7 months ago (2012-08-06 13:26:20 UTC) #5
niemeyer
LGTM https://codereview.appspot.com/6446067/diff/9001/cmd/jujuc/server/relation-set.go File cmd/jujuc/server/relation-set.go (right): https://codereview.appspot.com/6446067/diff/9001/cmd/jujuc/server/relation-set.go#newcode24 cmd/jujuc/server/relation-set.go:24: "relation-set", "<key>=<value> [...]", "set relation settings", "", I ...
12 years, 7 months ago (2012-08-06 15:19:36 UTC) #6
niemeyer
https://codereview.appspot.com/6446067/diff/9001/cmd/jujuc/server/relation-set.go File cmd/jujuc/server/relation-set.go (right): https://codereview.appspot.com/6446067/diff/9001/cmd/jujuc/server/relation-set.go#newcode35 cmd/jujuc/server/relation-set.go:35: if relationId == "" { On 2012/08/06 15:19:36, niemeyer ...
12 years, 7 months ago (2012-08-06 15:29:00 UTC) #7
fwereade
12 years, 7 months ago (2012-08-06 16:43:22 UTC) #8
*** Submitted:

implement relation-set

...with HookContext, it's basically trivial. The relation id parsing is
tedious, and will want to be farmed off to something common as soon as I
implement another relation command; for now, it's not really justified.

R=rog, niemeyer
CC=
https://codereview.appspot.com/6446067

https://codereview.appspot.com/6446067/diff/9001/cmd/jujuc/server/relation-se...
File cmd/jujuc/server/relation-set.go (right):

https://codereview.appspot.com/6446067/diff/9001/cmd/jujuc/server/relation-se...
cmd/jujuc/server/relation-set.go:24: "relation-set", "<key>=<value> [...]", "set
relation settings", "",
On 2012/08/06 15:19:36, niemeyer wrote:
> I suggest something like this for the sample parameters:
> 
> "key=value [key=value ...]"

Much nicer. Done.

https://codereview.appspot.com/6446067/diff/9001/cmd/jujuc/server/relation-se...
cmd/jujuc/server/relation-set.go:29: _, defaultId := c.relationIdentifiers()
On 2012/08/06 15:19:36, niemeyer wrote:
> I've noticed a bunch of call sites ignore one of them, and it's a bit
mysterious
> at a glance which one it is (defaultId? relationIdentifiers? Which id is
that?)
> 
> I'm wondering if breaking down this method into two would be sensible. It'd
also
> be great to be more clear whether it is an internal id or a user-level
relation
> id.
> 
> I suggest envRelation and envRelationId for the names. What do you think?

SGTM, or at least sounds better than what I currently have. I think I'll want to
change it again, sooner or later, but I'm not yet sure what to; so... Done :).

https://codereview.appspot.com/6446067/diff/9001/cmd/jujuc/server/relation-se...
cmd/jujuc/server/relation-set.go:56: return fmt.Errorf("no settings specified")
On 2012/08/06 15:19:36, niemeyer wrote:
> `expected "key=value" parameters, got nothing`
> 
> This is both an error and a nice hint of what must be done.

Done.

https://codereview.appspot.com/6446067/diff/9001/cmd/jujuc/server/relation-se...
cmd/jujuc/server/relation-set.go:65: }
On 2012/08/06 15:19:36, niemeyer wrote:
> Both checks can be nicely put into a single one that is both an error and a
> strong hint of how the command works:
> 
> if len(parts) != 2 || len(parts[0]) == 0 {
>     return fmt.Errorf(`expected "key=value", got %q`, kv)
> }

Done.

https://codereview.appspot.com/6446067/diff/9001/cmd/jujuc/server/relation-se...
File cmd/jujuc/server/relation-set_test.go (right):

https://codereview.appspot.com/6446067/diff/9001/cmd/jujuc/server/relation-se...
cmd/jujuc/server/relation-set_test.go:173: map[string]string{"base": ""},
On 2012/08/06 15:19:36, niemeyer wrote:
> "old" and "new" might be better name for these settings, to give the reader an
> idea of what's going on.

Went with "change" and "expect" plus comment as discussed live.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b