~bloodearnest/juju-deployer/annotate-branches

« back to all changes in this revision

Viewing changes to deployer/action/diff.py

  • Committer: Simon Davy
  • Date: 2015-03-30 15:16:10 UTC
  • mfrom: (126.1.18 juju-deployer)
  • Revision ID: bloodearnest@gmail.com-20150330151610-ft7lwajcbnnroa39
merge upstream and fix review comments

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
            self.env_state['services'][svc_name][
30
30
                'constraints'] = self.env.get_constraints(svc_name)
31
31
            self.env_state['services'][svc_name][
32
 
                'unit_count'] = len(self.env_status[
33
 
                    'services'][svc_name]['units'])
 
32
                'unit_count'] = len(
 
33
                    self.env_status['services'][svc_name].get('units', {}))
34
34
            rels.update(self._load_rels(svc_name))
35
35
        self.env_state['relations'] = sorted(rels)
36
36
 
122
122
 
123
123
    def _diff_service(self, e_s, d_s, charm):
124
124
        mod = {}
125
 
        d_sc = parse_constraints(d_s.get('constraints',''))
 
125
        d_sc = parse_constraints(d_s.get('constraints', ''))
 
126
        # 'tags' is a special case, as it can be multi-valued: convert to list
 
127
        # if cfg one is a string
 
128
        if isinstance(d_sc.get('tags'), basestring):
 
129
            d_sc['tags'] = [d_sc['tags']]
126
130
        if d_sc != e_s['constraints']:
127
131
            mod['env-constraints'] = e_s['constraints']
128
132
            mod['cfg-constraints'] = d_sc