Good direction, but I have some concerns and suggestions to make it better.
https://codereview.appspot.com/84880045/diff/1/cmd/juju/deploy.go File cmd/juju/deploy.go (right):
https://codereview.appspot.com/84880045/diff/1/cmd/juju/deploy.go#newcode195 cmd/juju/deploy.go:195: d
https://codereview.appspot.com/84880045/diff/1/environs/interface.go File environs/interface.go (right):
https://codereview.appspot.com/84880045/diff/1/environs/interface.go#newcode168 environs/interface.go:168: // ValidateNetworksForInstance returns nil if the networks are // ValidateNetworksForInstance returns and error if the given networks // are not compatible for the given instance id.
s/instance_id string/instanceId instance.Id/
https://codereview.appspot.com/84880045/diff/1/juju/deploy.go File juju/deploy.go (right):
https://codereview.appspot.com/84880045/diff/1/juju/deploy.go#newcode37 juju/deploy.go:37: func (parms *DeployServiceParams) ClearMachineSpecs() (string, instance.ContainerType) { s/parms/args/ ?
https://codereview.appspot.com/84880045/diff/1/juju/deploy.go#newcode38 juju/deploy.go:38: // TODO: Add this to AddUnit and replace wherever required // TODO(hduran-8) ...
https://codereview.appspot.com/84880045/diff/1/provider/maas/environ.go File provider/maas/environ.go (right):
https://codereview.appspot.com/84880045/diff/1/provider/maas/environ.go#newcode568 provider/maas/environ.go:568: maasObj_list, err := e.instances([]instance.Id{instance.Id(instance_id)}) s/maasObj_list/maasObjList/ (no underscores please)
https://codereview.appspot.com/84880045/diff/1/provider/maas/environ.go#newcode574 provider/maas/environ.go:574: return fmt.Errorf("Found unexpected amunt of instances with the given id") return fmt.Errorf("expected one result, got %d", len(maasObjList)) ?
https://codereview.appspot.com/84880045/diff/1/provider/maas/environ.go#newcode580 provider/maas/environ.go:580: fmt.Print(networks) logger.Debugf("got networks from MAAS: %v", networks) ?
https://codereview.appspot.com/84880045/diff/1/provider/maas/environ.go#newcode586 provider/maas/environ.go:586: for _, i_network := range includedNetworks { s/i_network/network/
https://codereview.appspot.com/84880045/diff/1/provider/maas/environ.go#newcode588 provider/maas/environ.go:588: fmt.Print(netmap) logger.Debugf("got networks map from MAAS: %v", netmap)
https://codereview.appspot.com/84880045/diff/1/provider/maas/environ.go#newcode589 provider/maas/environ.go:589: return fmt.Errorf("Ip %q is not present in the requested unit", i_network) Why IP ? We're getting network names in the command and we should check for that in maas result list, not IPs.
return fmt.Errorf("network %q not found for instance %q in MAAS", network, instanceId)
https://codereview.appspot.com/84880045/diff/1/provider/maas/environ.go#newcode595 provider/maas/environ.go:595: return fmt.Errorf("Ip %q is set up in the requested unit and can not be excluded", i_network) Similarly, return fmt.Errorf("network %q is required for instance %q and cannot be excluded", network, instanceId)
https://codereview.appspot.com/84880045/diff/1/provider/maas/environ_whitebox_test.go File provider/maas/environ_whitebox_test.go (right):
https://codereview.appspot.com/84880045/diff/1/provider/maas/environ_whitebox_test.go#newcode549 provider/maas/environ_whitebox_test.go:549: suite.getInstance("instance_for_network") Something shorter? Like "i-node" ?
https://codereview.appspot.com/84880045/diff/1/provider/maas/environ_whitebox_test.go#newcode560 provider/maas/environ_whitebox_test.go:560: c.Check(err, gc.DeepEquals, expected_err) When you're checking for error returns, better use Assert than Check.
https://codereview.appspot.com/84880045/diff/1/state/apiserver/client/client.go File state/apiserver/client/client.go (right):
https://codereview.appspot.com/84880045/diff/1/state/apiserver/client/client.go#newcode301 state/apiserver/client/client.go:301: // XXX Get the actual node This is not right - both ServiceDeploy and ServiceDeployWithNetworks are doing the same thing in the last release, so we should do these extra steps inside ServiceDeploy instead.
https://codereview.appspot.com/84880045/
« Back to merge proposal
Good direction, but I have some concerns and suggestions to make it
better.
https:/ /codereview. appspot. com/84880045/ diff/1/ cmd/juju/ deploy. go
File cmd/juju/deploy.go (right):
https:/ /codereview. appspot. com/84880045/ diff/1/ cmd/juju/ deploy. go#newcode195 deploy. go:195:
cmd/juju/
d
https:/ /codereview. appspot. com/84880045/ diff/1/ environs/ interface. go interface. go (right):
File environs/
https:/ /codereview. appspot. com/84880045/ diff/1/ environs/ interface. go#newcode168 interface. go:168: // ValidateNetwork sForInstance returns nil if sForInstance returns and error if the given networks
environs/
the networks are
// ValidateNetwork
// are not compatible for the given instance id.
s/instance_id string/instanceId instance.Id/
https:/ /codereview. appspot. com/84880045/ diff/1/ juju/deploy. go
File juju/deploy.go (right):
https:/ /codereview. appspot. com/84880045/ diff/1/ juju/deploy. go#newcode37 arams) ClearMachineSpecs() ContainerType) {
juju/deploy.go:37: func (parms *DeployServiceP
(string, instance.
s/parms/args/ ?
https:/ /codereview. appspot. com/84880045/ diff/1/ juju/deploy. go#newcode38
juju/deploy.go:38: // TODO: Add this to AddUnit and replace wherever
required
// TODO(hduran-8) ...
https:/ /codereview. appspot. com/84880045/ diff/1/ provider/ maas/environ. go maas/environ. go (right):
File provider/
https:/ /codereview. appspot. com/84880045/ diff/1/ provider/ maas/environ. go#newcode568 maas/environ. go:568: maasObj_list, err := []instance. Id{instance. Id(instance_ id)}) list/maasObjLis t/ (no underscores please)
provider/
e.instances(
s/maasObj_
https:/ /codereview. appspot. com/84880045/ diff/1/ provider/ maas/environ. go#newcode574 maas/environ. go:574: return fmt.Errorf("Found unexpected amunt "expected one result, got %d", len(maasObjList)) ?
provider/
of instances with the given id")
return fmt.Errorf(
https:/ /codereview. appspot. com/84880045/ diff/1/ provider/ maas/environ. go#newcode580 maas/environ. go:580: fmt.Print(networks)
provider/
logger.Debugf("got networks from MAAS: %v", networks) ?
https:/ /codereview. appspot. com/84880045/ diff/1/ provider/ maas/environ. go#newcode586 maas/environ. go:586: for _, i_network := range includedNetworks network/
provider/
{
s/i_network/
https:/ /codereview. appspot. com/84880045/ diff/1/ provider/ maas/environ. go#newcode588 maas/environ. go:588: fmt.Print(netmap)
provider/
logger.Debugf("got networks map from MAAS: %v", netmap)
https:/ /codereview. appspot. com/84880045/ diff/1/ provider/ maas/environ. go#newcode589 maas/environ. go:589: return fmt.Errorf("Ip %q is not present in
provider/
the requested unit", i_network)
Why IP ? We're getting network names in the command and we should check
for that in maas result list, not IPs.
return fmt.Errorf("network %q not found for instance %q in MAAS",
network, instanceId)
https:/ /codereview. appspot. com/84880045/ diff/1/ provider/ maas/environ. go#newcode595 maas/environ. go:595: return fmt.Errorf("Ip %q is set up in the
provider/
requested unit and can not be excluded", i_network)
Similarly, return fmt.Errorf("network %q is required for instance %q and
cannot be excluded", network, instanceId)
https:/ /codereview. appspot. com/84880045/ diff/1/ provider/ maas/environ_ whitebox_ test.go maas/environ_ whitebox_ test.go (right):
File provider/
https:/ /codereview. appspot. com/84880045/ diff/1/ provider/ maas/environ_ whitebox_ test.go# newcode549 maas/environ_ whitebox_ test.go: 549: ce("instance_ for_network" )
provider/
suite.getInstan
Something shorter? Like "i-node" ?
https:/ /codereview. appspot. com/84880045/ diff/1/ provider/ maas/environ_ whitebox_ test.go# newcode560 maas/environ_ whitebox_ test.go: 560: c.Check(err, gc.DeepEquals,
provider/
expected_err)
When you're checking for error returns, better use Assert than Check.
https:/ /codereview. appspot. com/84880045/ diff/1/ state/apiserver /client/ client. go /client/ client. go (right):
File state/apiserver
https:/ /codereview. appspot. com/84880045/ diff/1/ state/apiserver /client/ client. go#newcode301 /client/ client. go:301: // XXX Get the actual node thNetworks are
state/apiserver
This is not right - both ServiceDeploy and ServiceDeployWi
doing the same thing in the last release, so we should do these extra
steps inside ServiceDeploy instead.
https:/ /codereview. appspot. com/84880045/