def docker_instance(docker_molecule_instance, request): d = dockerdriver.DockerDriver(docker_molecule_instance) def cleanup(): d.destroy() request.addfinalizer(cleanup) return d
def get_driver(self): if 'vagrant' in self.config.config: return vagrantdriver.VagrantDriver(self) elif 'proxmox' in self.config.config: return proxmoxdriver.ProxmoxDriver(self) elif 'docker' in self.config.config: return dockerdriver.DockerDriver(self) elif 'openstack' in self.config.config: return openstackdriver.OpenstackDriver(self) else: return None
def _get_driver(self): driver = self._get_driver_name() if (self.state.driver is not None) and (self.state.driver != driver): msg = ("ERROR: Instance(s) were converged with the '{}' driver, " "but the subcommand is using '{}' driver.") LOG.error(msg.format(self.state.driver, driver)) util.sysexit() if driver == 'vagrant': return vagrantdriver.VagrantDriver(self) elif driver == 'docker': return dockerdriver.DockerDriver(self) elif driver == 'openstack': return openstackdriver.OpenstackDriver(self) raise basedriver.InvalidDriverSpecified()
def _get_driver(self): """ Return an instance of the driver as returned by `_get_driver_name()`. .. todo:: Implement a pluggable solution vs inline imports. """ driver = self._get_driver_name() if (self.state.driver is not None) and (self.state.driver != driver): msg = ("ERROR: Instance(s) were converged with the '{}' driver, " "but the subcommand is using '{}' driver.") LOG.error(msg.format(self.state.driver, driver)) util.sysexit() if driver == 'vagrant': from molecule.driver import vagrantdriver return vagrantdriver.VagrantDriver(self) elif driver == 'docker': from molecule.driver import dockerdriver return dockerdriver.DockerDriver(self) elif driver == 'openstack': from molecule.driver import openstackdriver return openstackdriver.OpenstackDriver(self) raise basedriver.InvalidDriverSpecified()