Code review comment for lp:~cmars/juju-core/1.18-local-repo-errmsg

Revision history for this message
Casey Marshall (cmars) wrote :

Reviewers: mp+215058_code.launchpad.net,

Message:
Please take a look.

Description:
Error msg for local charm deploy missing series.

Add error message when unable to resolve series for local repository.
Update juju deploy doc message to describe behavior.

https://code.launchpad.net/~cmars/juju-core/1.18-local-repo-errmsg/+merge/215058

(do not edit description out of merge proposal)

Please review this at https://codereview.appspot.com/85430048/

Affected files (+22, -5 lines):
   A [revision details]
   M cmd/juju/common.go
   M cmd/juju/deploy.go
   M provider/local/environprovider.go

Index: [revision details]
=== added file '[revision details]'
--- [revision details] 2012-01-01 00:00:00 +0000
+++ [revision details] 2012-01-01 00:00:00 +0000
@@ -0,0 +1,2 @@
+Old revision: tarmac-20140409165354-edd5jdifb6k2x3gh
+New revision: <email address hidden>

Index: cmd/juju/common.go
=== modified file 'cmd/juju/common.go'
--- cmd/juju/common.go 2014-04-03 19:11:11 +0000
+++ cmd/juju/common.go 2014-04-09 22:43:18 +0000
@@ -4,6 +4,8 @@
  package main

  import (
+ "fmt"
+
   "launchpad.net/juju-core/charm"
   "launchpad.net/juju-core/cmd"
   "launchpad.net/juju-core/environs"
@@ -65,6 +67,12 @@
   }
   // Otherwise, look up the best supported series for this charm
   if series == "" {
+ if ref.Schema == "local" {
+ possibleUrl := &charm.URL{Reference: ref, Series: "precise"}
+ logger.Errorf(`The series is not specified in the environment
(default-series) or with the charm. Did you mean:
+ %s`, possibleUrl.String())
+ return nil, fmt.Errorf("cannot resolve series for charm: %q", ref)
+ }
    return client.ResolveCharm(ref)
   }
   return &charm.URL{Reference: ref, Series: series}, nil

Index: cmd/juju/deploy.go
=== modified file 'cmd/juju/deploy.go'
--- cmd/juju/deploy.go 2014-04-03 19:11:11 +0000
+++ cmd/juju/deploy.go 2014-04-09 22:43:18 +0000
@@ -34,8 +34,7 @@

  const deployDoc = `
  <charm name> can be a charm URL, or an unambiguously condensed form of it;
-assuming a current default series of "precise", the following forms will be
-accepted.
+assuming a current series of "precise", the following forms will be
accepted:

  For cs:precise/mysql
    mysql
@@ -44,12 +43,16 @@
  For cs:~user/precise/mysql
    cs:~user/mysql

-For local:precise/mysql
- local:mysql
+The current series is determined first by the default-series environment
+setting, followed by the preferred series for the charm in the charm store.

-In all cases, a versioned charm URL will be expanded as expected (for
example,
+In these cases, a versioned charm URL will be expanded as expected (for
example,
  mysql-33 becomes cs:precise/mysql-33).

+However, for local charms, when the default-series is not specified in the
+environment, one must specify the series. For example:
+ local:precise/mysql
+
  <service name>, if omitted, will be derived from <charm name>.

  Constraints can be specified when using deploy by specifying the
--constraints

Index: provider/local/environprovider.go
=== modified file 'provider/local/environprovider.go'
--- provider/local/environprovider.go 2014-04-01 21:11:50 +0000
+++ provider/local/environprovider.go 2014-04-09 22:43:18 +0000
@@ -256,6 +256,10 @@
      #
      # network-bridge: lxcbr0

+ # The default series to deploy the state-server and charms on.
+ #
+ # default-series: precise
+
  `[1:]
  }

« Back to merge proposal