@argh_named("deploy")
    @arg_verbose
    @arg_full_match
    @arg_path_prefix
    @arg_target_nodes_0_to_n
    @arg_host_access_method
    @arg_config_pattern
    @arg_tag
    @expects_obj
    def handle_deploy(self, arg):
        confman = self.get_confman(arg.root_dir, reset_cache=False)
        manager, stats = self.verify_op(
            confman, arg.nodes, show=False, deploy=True, verbose=arg.verbose,
            full_match=arg.full_match, path_prefix=arg.path_prefix,
            access_method=arg.method, color=arg.color,
            exclude=arg.exclude, config_patterns=arg.config, tag=arg.tag)
        if stats.error_count:
            raise errors.VerifyError("failed: files with errors: [%d/%d]" % (
                    stats.error_count, stats.file_count))
        elif not stats.file_count:
            self.log.info("no files to deploy")
        else:
            self.log.info("all [%d] files ok", stats.file_count)
deploy node configs
dataset/ETHPy150Open ohmu/poni/poni/tool.py/Tool.handle_deploy