~ubuntu-branches/debian/stretch/waagent/stretch

« back to all changes in this revision

Viewing changes to azurelinuxagent/ga/exthandlers.py

  • Committer: Package Import Robot
  • Author(s): Bastian Blank
  • Date: 2017-01-18 13:36:20 UTC
  • mfrom: (1.2.7)
  • Revision ID: package-import@ubuntu.com-20170118133620-mwfo9ptmhd2gmkcd
Tags: 2.2.2-1
* New upstream version.
* Use Python 3.
* Extend Debian support.
* Drop cloud-init use:
  - Conflict against cloud-init.
  - Drop upgrade code.
* Split walinuxagent.service:
  - Add waagent-resourcedisk.service:
    Format and mount resourcedisk before local-fs.target.
  - Add waagent-provision.service:
    Run complete provisioning while blocking the boot.
* Replace check for resourcedisk setup with blkid calls.

Show diffs side-by-side

added added

removed removed

Lines of Context:
192
192
    def handle_ext_handlers(self, etag=None):
193
193
        if self.ext_handlers.extHandlers is None or \
194
194
                len(self.ext_handlers.extHandlers) == 0:
195
 
            logger.verbose("No ext handler config found")
 
195
            logger.verbose("No extension handler config found")
196
196
            return
197
197
 
 
198
        if conf.get_enable_overprovisioning():
 
199
            artifacts_profile = self.protocol.get_artifacts_profile()
 
200
            if artifacts_profile and artifacts_profile.is_on_hold():
 
201
                logger.info("Extension handling is on hold")
 
202
                return
 
203
 
198
204
        for ext_handler in self.ext_handlers.extHandlers:
199
 
            #TODO handle install in sequence, enable in parallel
 
205
            # TODO: handle install in sequence, enable in parallel
200
206
            self.handle_ext_handler(ext_handler, etag)
201
207
    
202
208
    def handle_ext_handler(self, ext_handler, etag):
205
211
        ext_handler_i.decide_version()
206
212
        if not ext_handler_i.is_upgrade and self.last_etag == etag:
207
213
            if self.log_etag:
208
 
                ext_handler_i.logger.info("Version {0} is current for etag {1}",
209
 
                                          ext_handler_i.pkg.version,
210
 
                                          etag)
 
214
                ext_handler_i.logger.verbose("Version {0} is current for etag {1}",
 
215
                                             ext_handler_i.pkg.version,
 
216
                                             etag)
211
217
                self.log_etag = False
212
218
            return
213
219
 
354
360
 
355
361
        # Determine the desired and installed versions
356
362
        requested_version = FlexibleVersion(self.ext_handler.properties.version)
357
 
        installed_version = FlexibleVersion(self.get_installed_version())
358
 
        if installed_version is None:
359
 
            installed_version = requested_version
 
363
        installed_version_string = self.get_installed_version()
 
364
        installed_version = requested_version \
 
365
            if installed_version_string is None \
 
366
            else FlexibleVersion(installed_version_string)
360
367
 
361
368
        # Divide packages
362
369
        # - Find the installed package (its version must exactly match)
514
521
        for uri in self.pkg.uris:
515
522
            try:
516
523
                package = self.protocol.download_ext_handler_pkg(uri.uri)
517
 
            except ProtocolError as e: 
518
 
                logger.warn("Failed download extension: {0}", e)
 
524
                if package is not None:
 
525
                    break
 
526
            except Exception as e:
 
527
                logger.warn("Error while downloading extension: {0}", e)
519
528
        
520
529
        if package is None:
521
530
            raise ExtensionError("Failed to download extension")