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
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
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): local/environpr ovider. go
A [revision details]
M cmd/juju/common.go
M cmd/juju/deploy.go
M provider/
Index: [revision details] 20140409165354- edd5jdifb6k2x3g h
=== 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-
+New revision: <email address hidden>
Index: cmd/juju/common.go common. go'
=== modified file 'cmd/juju/
--- 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 ( net/juju- core/charm" net/juju- core/cmd" net/juju- core/environs" URL{Reference: ref, Series: "precise"} String( )) ResolveCharm( ref) URL{Reference: ref, Series: series}, nil
+ "fmt"
+
"launchpad.
"launchpad.
"launchpad.
@@ -65,6 +67,12 @@
}
// Otherwise, look up the best supported series for this charm
if series == "" {
+ if ref.Schema == "local" {
+ possibleUrl := &charm.
+ logger.Errorf(`The series is not specified in the environment
(default-series) or with the charm. Did you mean:
+ %s`, possibleUrl.
+ return nil, fmt.Errorf("cannot resolve series for charm: %q", ref)
+ }
return client.
}
return &charm.
Index: cmd/juju/deploy.go deploy. go'
=== modified file 'cmd/juju/
--- 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 precise/ mysql
mysql
@@ -44,12 +43,16 @@
For cs:~user/
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 mysql-33) .
example,
+In these cases, a versioned charm URL will be expanded as expected (for
example,
mysql-33 becomes cs:precise/
+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/environpr ovider. go local/environpr ovider. go' local/environpr ovider. go 2014-04-01 21:11:50 +0000 local/environpr ovider. go 2014-04-09 22:43:18 +0000
=== modified file 'provider/
--- provider/
+++ provider/
@@ -256,6 +256,10 @@
#
# network-bridge: lxcbr0
+ # The default series to deploy the state-server and charms on.
+ #
+ # default-series: precise
+
`[1:]
}