From 66d0acfde3f863f7c4317fa1b306e58cebb15ff9 Mon Sep 17 00:00:00 2001
From: Daniel Hokka Zakrisson <daniel@hozac.com>
Date: Thu, 27 Sep 2012 18:30:08 +0200
Subject: [PATCH] Remove assemble action plugin, fix daisychaining

---
 lib/ansible/runner/action_plugins/assemble.py | 43 -------------------
 library/assemble                              |  2 +
 2 files changed, 2 insertions(+), 43 deletions(-)
 delete mode 100644 lib/ansible/runner/action_plugins/assemble.py

diff --git a/lib/ansible/runner/action_plugins/assemble.py b/lib/ansible/runner/action_plugins/assemble.py
deleted file mode 100644
index f0e26ad4871..00000000000
--- a/lib/ansible/runner/action_plugins/assemble.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# (c) 2012, Michael DeHaan <michael.dehaan@gmail.com>
-#
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Ansible is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
-
-import os
-import pwd
-import random
-import traceback
-import tempfile
-
-import ansible.constants as C
-from ansible import utils
-from ansible import errors
-from ansible import module_common
-from ansible.runner.return_data import ReturnData
-
-class ActionModule(object):
-
-    def __init__(self, runner):
-        self.runner = runner
-
-    def run(self, conn, tmp, module_name, module_args, inject=None):
-        ''' handler for assemble operations '''
-
-        # FIXME: since assemble is ported over to the use the new common logic, this method
-        # is actually unneccessary as it can decide to daisychain via it's own module returns.
-        # make assemble return daisychain_args and this will go away.
-
-        return self.runner._execute_module(conn, tmp, 'assemble', module_args, inject=inject).daisychain('file', module_args)
-
diff --git a/library/assemble b/library/assemble
index 479badf676e..d038b714950 100755
--- a/library/assemble
+++ b/library/assemble
@@ -47,6 +47,8 @@ def write_temp_file(data):
 def main():
 
     module = AnsibleModule(
+        # not checking because of daisy chain to file module
+        check_invalid_arguments = False,
         argument_spec = dict(
             src = dict(required=True),
             dest = dict(required=True),