adjust cc_snappy for snappy install package with config.

It was believed that to install a package with config the command was:
  snappy install --config=config-file <package> 
Instead, what was implemented in snappy was:
  snappy install <package> [<config-file>]

This modifies cloud-init to invoke the latter and changes the tests
appropriately.
This commit is contained in:
Scott Moser 2015-03-31 14:20:00 -04:00
parent d0982b0755
commit 609fc5ec36
2 changed files with 10 additions and 9 deletions

View File

@ -19,7 +19,7 @@ Example config:
This defaults to 'False'. Set to a non-false value to enable ssh service
- snap installation and config
The above would install 'etcd', and then install 'pkg2.smoser' with a
'--config=<file>' argument where 'file' as 'config-blob' inside it.
'<config-file>' argument where 'config-file' has 'config-blob' inside it.
If 'pkgname' is installed already, then 'snappy config pkgname <file>'
will be called where 'file' has 'pkgname-config-blob' as its content.
@ -33,8 +33,7 @@ Example config:
<packages_dir>/foo.config
<packages_dir>/bar.snap
cloud-init will invoke:
snappy install "--config=<packages_dir>/foo.config" \
<packages_dir>/foo.snap
snappy install <packages_dir>/foo.snap <packages_dir>/foo.config
snappy install <packages_dir>/bar.snap
Note, that if provided a 'config' entry for 'ubuntu-core', then
@ -171,13 +170,13 @@ def render_snap_op(op, name, path=None, cfgfile=None, config=None):
cmd = [SNAPPY_CMD, op]
if op == 'install':
if cfgfile:
cmd.append('--config=' + cfgfile)
if path:
cmd.append("--allow-unauthenticated")
cmd.append(path)
else:
cmd.append(name)
if cfgfile:
cmd.append(cfgfile)
elif op == 'config':
cmd += [name, cfgfile]

View File

@ -53,15 +53,17 @@ class TestInstallPackages(t_help.TestCase):
config = None
pkg = None
for arg in args[2:]:
if arg.startswith("--config="):
cfgfile = arg.partition("=")[2]
if arg.startswith("-"):
continue
if not pkg:
pkg = arg
elif not config:
cfgfile = arg
if cfgfile == "-":
config = kwargs.get('data', '')
elif cfgfile:
with open(cfgfile, "rb") as fp:
config = yaml.safe_load(fp.read())
elif not pkg and not arg.startswith("-"):
pkg = arg
self.snapcmds.append(['install', pkg, config])
def test_package_ops_1(self):