X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Fn2vc_juju_conn.py;h=cf865a8abe47340f48b9b774db65625dc03d36b6;hp=ad001f2fdc180a1f50648d55424c8144013d3d88;hb=755155efe1d1175eaf6a33c8331862b22816a17c;hpb=4074f8aba930b6ca80eb119ea7b11bfb32b7878d diff --git a/n2vc/n2vc_juju_conn.py b/n2vc/n2vc_juju_conn.py index ad001f2..cf865a8 100644 --- a/n2vc/n2vc_juju_conn.py +++ b/n2vc/n2vc_juju_conn.py @@ -157,6 +157,16 @@ class N2VCJujuConnector(N2VCConnector): else: self.warning('api_proxy is not configured. Support for native charms is disabled') + if 'enable_os_upgrade' in vca_config: + self.enable_os_upgrade = vca_config['enable_os_upgrade'] + else: + self.enable_os_upgrade = True + + if 'apt_mirror' in vca_config: + self.apt_mirror = vca_config['apt_mirror'] + else: + self.apt_mirror = None + self.debug('Arguments have been checked') # juju data @@ -1093,6 +1103,7 @@ class N2VCJujuConnector(N2VCConnector): async def _juju_get_model(self, model_name: str) -> Model: """ Get a model object from juju controller + If the model does not exits, it creates it. :param str model_name: name of the model :returns Model: model obtained from juju controller or Exception @@ -1121,9 +1132,16 @@ class N2VCJujuConnector(N2VCConnector): if model_name not in model_list: self.info('Model {} does not exist. Creating new model...'.format(model_name)) + config_dict = {'authorized-keys': self.public_key} + if self.apt_mirror: + config_dict['apt-mirror'] = self.apt_mirror + if not self.enable_os_upgrade: + config_dict['enable-os-refresh-update'] = False + config_dict['enable-os-upgrade'] = False + model = await self.controller.add_model( model_name=model_name, - config={'authorized-keys': self.public_key} + config=config_dict ) self.info('New model created, name={}'.format(model_name)) else: