':param PackageSource package_source: The source of omnibus packages.
:param BackendDescription dataset_backend: The description of the
dataset backend the nodes are configured with.
:param provider_config: The ``managed`` section of the acceptance
testing configuration file.  The section of the configuration
file should look something like:
managed:
addresses:
- "172.16.255.240"
- "172.16.255.241"
distribution: "centos-7"
:returns: ``ManagedRunner``.'

def _runner_MANAGED(self, package_source, dataset_backend, provider_config):

    if (provider_config is None):
        self._provider_config_missing('managed')
    if (not provider_config.get('upgrade')):
        package_source = None
    return ManagedRunner(node_addresses=provider_config['addresses'], package_source=package_source, distribution=self['distribution'], dataset_backend=dataset_backend, dataset_backend_configuration=self.dataset_backend_configuration(), identity=self._make_cluster_identity(dataset_backend), cert_path=self['cert-directory'], logging_config=self['config'].get('logging'))
