@@ -281,20 +281,27 @@ async def _download_bundle(self, charm_url, origin):
281281 if self .charms_facade is None :
282282 raise JujuError ('unable to download bundle for {} using the new charms facade. Upgrade controller to proceed.' .format (charm_url ))
283283
284+ id = origin .id_ if origin .id_ else ''
285+ hash = origin .hash_ if origin .hash_ else ''
286+ charm_origin = {
287+ 'source' : origin .source ,
288+ 'type' : origin .type_ ,
289+ 'id' : id ,
290+ 'hash' : hash ,
291+ 'revision' : origin .revision ,
292+ 'risk' : origin .risk ,
293+ 'track' : origin .track ,
294+ 'architecture' : origin .architecture ,
295+ }
296+ if self .model .connection ().is_using_old_client :
297+ charm_origin ['os' ] = origin .os
298+ charm_origin ['series' ] = origin .series
299+ else :
300+ charm_origin ['base' ] = origin .base
301+
284302 resp = await self .charms_facade .GetDownloadInfos (entities = [{
285303 'charm-url' : str (charm_url ),
286- 'charm-origin' : {
287- 'source' : origin .source ,
288- 'type' : origin .type_ ,
289- 'id' : origin .id_ ,
290- 'hash' : origin .hash_ ,
291- 'revision' : origin .revision ,
292- 'risk' : origin .risk ,
293- 'track' : origin .track ,
294- 'architecture' : origin .architecture ,
295- 'os' : origin .os ,
296- 'series' : origin .series ,
297- }
304+ 'charm-origin' : charm_origin
298305 }])
299306 if len (resp .results ) != 1 :
300307 raise JujuError ("expected one result, received {}" .format (resp .results ))
@@ -356,7 +363,7 @@ async def _resolve_charms(self):
356363 risk = risk ,
357364 track = track )
358365 charm_url , charm_origin , _ = await self .model ._resolve_charm (charm_url , origin )
359-
366+ # import pdb;pdb.set_trace()
360367 spec ['charm' ] = str (charm_url )
361368 else :
362369 results = await self .model .charmstore .entity (str (charm_url ))
0 commit comments