def thread_local_property(name):
    name = '_thread_local_' + name

    def fget(self):
        try:
            return getattr(self, name).value
        except AttributeError:
            return None

    def fset(self, value):
        getattr(self, name).value = value

    return property(fget=fget, fset=fset)
Validate the driver-specific Node deployment info.
dataset/ETHPy150Open dossier/dossier.web/dossier/web/config.py/thread_local_property--crossover with--dataset/ETHPy150Open openstack/bareon/contrib/ironic/ironic-fa-deploy/ironic_fa_deploy/modules/fuel_agent.py/FuelAgentDeploy.validate