Doing 'juju-deployer --diff some-openstack.yaml' fails with:
Traceback (most recent call last):
File "/usr/bin/juju-deployer", line 9, in <module>
load_entry_point('juju-deployer==0.4.3', 'console_scripts', 'juju-deployer')()
File "/usr/lib/python2.7/dist-packages/deployer/cli.py", line 130, in main
run()
File "/usr/lib/python2.7/dist-packages/deployer/cli.py", line 223, in run
diff.Diff(env, deployment, options).run()
File "/usr/lib/python2.7/dist-packages/deployer/action/diff.py", line 152, in run
diff = self.do_diff()
File "/usr/lib/python2.7/dist-packages/deployer/action/diff.py", line 148, in do_diff
self.load_env()
File "/usr/lib/python2.7/dist-packages/deployer/action/diff.py", line 34, in load_env
rels.update(self._load_rels(svc_name))
File "/usr/lib/python2.7/dist-packages/deployer/action/diff.py", line 49, in _load_rels
rr_name = self._get_rel_name(svc_name, r_svc)
File "/usr/lib/python2.7/dist-packages/deployer/action/diff.py", line 62, in _get_rel_name
raise ValueError("Ambigious relations for service")
ValueError: Ambigious relations for service
Note that juju-deployer properly deploys it, but diff.py logic,
is failing on this YAML excerpt:
relations:
- [ ceilometer, "keystone:identity-service" ]
- [ ceilometer, "keystone:identity-notifications" ]
FYI above relations as per
https://wiki.ubuntu.com/ServerTeam/OpenStackCharms/ReleaseNotes1501#Ceilometer
so.. idle thoughts.. ibest practice i think is going to be using ensemble (github. com/kapilt/ ensemble) for diffs. i haven't gotten around to incorporating it into deployer. but the diff logic there is significantly simpler and more robust as it implements a full backend/mock impl of core.