Skip to content

Commit 2af44fc

Browse files
authored
Merge pull request #745 from cderici/update-3.0-schema-and-clients
#745 #### Description This PR updates the facade schema with the latest juju head (develop) and rebuilds the clients etc. This is mostly internal change to bring the libjuju up to date with the most recent changes in juju. Just as a reference for the future, I'll note here all the versions that are bumped and started to be supported by libjuju: `Application` : 15 `Charms` : 5 `Client` : 6 `MachineManager` : 8, 9 `Resources` : 3 `SSHClient` : 4 `Subnets` : 5 `AllWatcher` : 3 `AllModelWatcher` : 4 Two new facades are added: `CAASFirewallerSidecar` `SecretsTriggerWatcher` #### QA Steps Bootstrap with the latest juju on lxd or microk8s and try to run: ```python application = await model.deploy( 'parca-k8s, application_name='parca', trust=True, channel='edge', ) ``` All (except the known intermittently failing) CI tests need to pass. (The juju `latest` edge test is failing for some reason, though it's about the jenkins job, not juju/libjuju) #### Notes & Discussion Note that, this only changes the clients for the `3.0` track. The "old" clients, the ones we keep for the `2.9` track are untouched, and it should work the same.
2 parents 84e4a2c + 5574d1e commit 2af44fc

17 files changed

Lines changed: 10826 additions & 6724 deletions

juju/client/_client.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from juju.client._definitions import *
55

66

7-
from juju.client import _client7, _client1, _client3, _client2, _client14, _client4, _client6, _client5, _client11, _client9, _client18
7+
from juju.client import _client7, _client1, _client3, _client2, _client14, _client4, _client6, _client5, _client11, _client9, _client18, _client8, _client15
88

99

1010
CLIENTS = {
@@ -18,7 +18,9 @@
1818
"5": _client5,
1919
"11": _client11,
2020
"9": _client9,
21-
"18": _client18
21+
"18": _client18,
22+
"8": _client8,
23+
"15": _client15
2224
}
2325

2426

@@ -160,6 +162,10 @@ class CAASFirewallerFacade(TypeFactory):
160162
pass
161163

162164

165+
class CAASFirewallerSidecarFacade(TypeFactory):
166+
pass
167+
168+
163169
class CAASModelConfigManagerFacade(TypeFactory):
164170
pass
165171

@@ -480,6 +486,10 @@ class SecretsRotationWatcherFacade(TypeFactory):
480486
pass
481487

482488

489+
class SecretsTriggerWatcherFacade(TypeFactory):
490+
pass
491+
492+
483493
class SingularFacade(TypeFactory):
484494
pass
485495

juju/client/_client1.py

Lines changed: 1291 additions & 216 deletions
Large diffs are not rendered by default.

juju/client/_client11.py

Lines changed: 7 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1134,6 +1134,11 @@ class ProvisionerFacade(Type):
11341134
'value': {'type': 'string'}},
11351135
'required': ['value', 'type', 'scope'],
11361136
'type': 'object'},
1137+
'Base': {'additionalProperties': False,
1138+
'properties': {'channel': {'type': 'string'},
1139+
'name': {'type': 'string'}},
1140+
'required': ['name', 'channel'],
1141+
'type': 'object'},
11371142
'Binary': {'additionalProperties': False,
11381143
'properties': {'Arch': {'type': 'string'},
11391144
'Build': {'type': 'integer'},
@@ -1185,15 +1190,13 @@ class ProvisionerFacade(Type):
11851190
'region': {'type': 'string'},
11861191
'root-storage-size': {'type': 'integer'},
11871192
'root-storage-type': {'type': 'string'},
1188-
'series': {'type': 'string'},
11891193
'source': {'type': 'string'},
11901194
'stream': {'type': 'string'},
11911195
'version': {'type': 'string'},
11921196
'virt-type': {'type': 'string'}},
11931197
'required': ['image-id',
11941198
'region',
11951199
'version',
1196-
'series',
11971200
'arch',
11981201
'source',
11991202
'priority'],
@@ -1564,6 +1567,7 @@ class ProvisionerFacade(Type):
15641567
'type': 'object'},
15651568
'ProvisioningInfo': {'additionalProperties': False,
15661569
'properties': {'ProvisioningNetworkTopology': {'$ref': '#/definitions/ProvisioningNetworkTopology'},
1570+
'base': {'$ref': '#/definitions/Base'},
15671571
'charm-lxd-profiles': {'items': {'type': 'string'},
15681572
'type': 'array'},
15691573
'cloudinit-userdata': {'patternProperties': {'.*': {'additionalProperties': True,
@@ -1581,7 +1585,6 @@ class ProvisionerFacade(Type):
15811585
'type': 'array'},
15821586
'placement': {'type': 'string'},
15831587
'root-disk': {'$ref': '#/definitions/VolumeParams'},
1584-
'series': {'type': 'string'},
15851588
'space-subnets': {'patternProperties': {'.*': {'items': {'type': 'string'},
15861589
'type': 'array'}},
15871590
'type': 'object'},
@@ -1595,7 +1598,7 @@ class ProvisionerFacade(Type):
15951598
'volumes': {'items': {'$ref': '#/definitions/VolumeParams'},
15961599
'type': 'array'}},
15971600
'required': ['constraints',
1598-
'series',
1601+
'base',
15991602
'placement',
16001603
'jobs',
16011604
'subnet-zones',
@@ -2085,11 +2088,6 @@ class ProvisionerFacade(Type):
20852088
'properties': {'Params': {'$ref': '#/definitions/Entities'},
20862089
'Result': {'$ref': '#/definitions/ErrorResults'}},
20872090
'type': 'object'},
2088-
'Series': {'description': 'Series returns the deployed series '
2089-
'for each given machine entity.',
2090-
'properties': {'Params': {'$ref': '#/definitions/Entities'},
2091-
'Result': {'$ref': '#/definitions/StringResults'}},
2092-
'type': 'object'},
20932091
'SetCharmProfiles': {'description': 'SetCharmProfiles records '
20942092
'the given slice of charm '
20952093
'profile names.',
@@ -2961,29 +2959,6 @@ async def Remove(self, entities=None):
29612959

29622960

29632961

2964-
@ReturnMapping(StringResults)
2965-
async def Series(self, entities=None):
2966-
'''
2967-
Series returns the deployed series for each given machine entity.
2968-
2969-
entities : typing.Sequence[~Entity]
2970-
Returns -> StringResults
2971-
'''
2972-
if entities is not None and not isinstance(entities, (bytes, str, list)):
2973-
raise Exception("Expected entities to be a Sequence, received: {}".format(type(entities)))
2974-
2975-
# map input types to rpc msg
2976-
_params = dict()
2977-
msg = dict(type='Provisioner',
2978-
request='Series',
2979-
version=11,
2980-
params=_params)
2981-
_params['entities'] = entities
2982-
reply = await self.rpc(msg)
2983-
return reply
2984-
2985-
2986-
29872962
@ReturnMapping(ErrorResults)
29882963
async def SetCharmProfiles(self, args=None):
29892964
'''

0 commit comments

Comments
 (0)