'Actually executes the command. This makes mocking easier.'

def _run(self, cmds, input_data):

    curr_env = os.environ.copy()
    curr_env.update({'KUBECONFIG': self.kubeconfig})
    proc = subprocess.Popen(cmds, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=curr_env)
    (stdout, stderr) = proc.communicate(input_data)
    return (proc.returncode, stdout.decode('utf-8'), stderr.decode('utf-8'))
