` instead of `python-script` runner. Good question.

At start I've played a bit with python-script runner and worked directly with [Ansible API](http://docs.ansible.com/developing_api.html). But after all there are many reasons why I choosed local-shell-script and that wrapper way: 

##### The first thing is why I didn't choosed Ansible Python API:
  * it wasn't that simple case when you redirect all parameters into API classes/functions and just get the results
  * a lot of conditional things should be copy-pasted from Ansible codebase to reimplement already existing behavior
  * that low-level behaviors still could be changed in Ansible codebase during time, while high-level usage (via command/parameters) may remain unchanged
  * in API all parameter names differs noticeably from cmd params, some parameter values could be changed automatically depending on union of other parameters
  * with a lot of optional parameters it becomes hell
  * Ansible API could be good if you know exactly what you need or when you need some focused/specific needs. For general usage it wasn't the way.
  * So after all, at this point of requirements I couldn't find any advantages of using Ansible API. There wasn't any case when I needed to do something customized (for example reformat output).
<issue_comment>username_0: ##### Why I choosed `local-shell-script` instead of `python-script` runner: 
* `local-shell-script` has `cwd` by default, which is useful in cases like:
    ```sh
    st2 run ansible.vault.decrypt cwd=/etc/ansible vault-password-file=vault.txt files='playbooks/1.yaml playbooks/2.yaml 3.yaml'
    ```

    Don't need it to implement it with `python-script`.
* In Yaml I have parameters with dashes and for consistency reasons I wanted to keep naming the same as it is in Ansible cmd, so with `python-script` this becomes less beautiful: 

    ```py
    def run(self, files, cwd, debug, **kwargs):
        password = kwargs.get('vault-password-file')
       ...
    ```

* When running Ansible from cmd, some of the parameters allow wildcards like: 
    ```sh
    st2 run ansible.vault.decrypt vault-password-file=vault.txt files=playbooks/*
    ```
    and this should be reimplemented on my side in `python-script` way.

* I also tried to launch the ansible executable from `python-script`, but found it impossible to build the cmd: 
    ```py
    def run(self, *args, **kwargs):
        # which one from kwargs is positional argument/which one is named? They all are unordered also.
    ```

----

Considering all reasons, keeping in mind that I want 100% the same behavior as Ansible has, the same parameter naming as Ansible has - I found `local-shell-script` wrapper around executable files ideal for this special case.
<issue_comment>username_0: Also, don't know how rare this case is,
but during my work I found useful possibility to define some (pre/post) hooks inside the pack which would be executed on installation, on virtualenv create maybe or maybe before_first_run/after_first_run.
For example to create some directories/files used by pack and do clean-up on pack uninstall/unload.

In my special case for better user experience I wanted to set default `cwd` to `/etc/ansible`, which is hardcoded default Ansible directory. The problem is that `/etc/ansible` dir doesn't exist and thereby I can't set it as default cwd.
<issue_comment>username_2: Just FYI, build failure doesn't seem to be related to your change. It seems to be timing out because the whole build process takes too long.

I will look into fixing this in a separate PR later today.
<issue_comment>username_2: Merged into master. Thanks.
<issue_comment>username_0: Thanks for discussion!
<issue_comment>username_1: This is a great PR! Thanks so much for the code!The first national exhibitons of Bulgarian cartoons held in Gabrovo date back to 1965. They were followed by group shows organized by Bulgarian cartoonists in 1979 and 1981, but it is the thematic national cartoon competitions and exhibitions EUROPE DREAMS OF BULGARIA (1998), FUN-LOVING BALKANS (1999), WHAT, SWITZERLAND? (2004) and EUROSAPEINS (2009) that have left an indelible imprint in the more recent history of the Museum HOUSE OF HUMOUR AND SATIRE.Share the post "Talk Or No-Talk, Talk of the town"
BJP national vice-president and in-charge J&K Avinash Rai Khanna today said they would talk to the Hurriyat leaders only if they believed in the country’s Constitution.
“I have said this before, am saying it today and will continue to say that whosoever believes in the country’s Constitution and wants to talk…our doors are open for them. If they (Hurriyat) don’t respect the Constitution, there is no point talking to them. We want peace and development…maintaining law and order is our priority,” Khanna told reporters on the sidelines of a BJP function here.
He made the comments when asked over the possibility of the New Delhi-Hurriyat talks. Pertinently, Governor Satya Pal Malik had on Saturday said the Hurriyat leaders were ready to talk to the Centre, triggering speculation of the beginning of a dialogue process with the separatists. Hurriyat leader Mirwaiz Umar Farooq too had yesterday said that there would be a “positive response” from them in case “meaningful” talks were initiated by New Delhi.
On the party’s stand over the delimitation of the state Assembly seats, he said the BJP had not yet taken any decision in this regard. “No final decision on delimitation yet. We will inform once a decision is taken,” he said.
Khanna was here to take stock of the membership drive that begins on July 6.
“I have come here to review the membership drive. Like other parts of the country, there is a lot of enthusiasm here. The drive will continue till August after which we will go for party elections,” said Khanna.
At a time when talks between Hurriyat leaders and Government of India (GoI) are hitting all the right cords, Hurriyat Conference (G) chairman Syed Ali Geelani is tight lipped over the issue.
Despite several attempts, no Hurriyat (G) leader including Geelani showed unwillingness to clear their stand on the matter.
Talking to Kashmir Post, Hurriyat (G) spokesperson said Geelani would not talk on the phone and can only provide a written reply on the topic.
However, when this newspaper forwarded the questionnaire, the spokesperson dodged the matter, saying Geelani is feeling unwell to reply.
“Geelani sahib has just finished the prayers and is currently in his room resting. If possible, he will probably reply tomorrow,” the spokesperson said.
Similarly, Tehreek-e-Hurriyat (TeH) chairman Mohammad Ashraf Sehrai also refused to comment on the issue.
“Let Peer Sahib (Geelani) comment on this topic,” TeH spokesperson said.
“It is the same Hurriyat who had closed doors to union minister Ram Vilas Paswan but now are ready for talks,” Malik had said.
In the past few weeks, Hurriyat Conference (M) chairman Mirwaiz Umar Farooq was making all the right gestures to have a meaningful dialogue with GoI.
The Mirwaiz had stressed that GoI should shun its “oppressive policy” and indulge in a meaningful dialogue to resolve Kashmir issue and stop bloodshed in the Valley.
Peoples Democratic Party (PDP) president Mehbooba Mufti also took to micro-blogging site Twitter expressing her satisfaction over the possibility of dialogue between Hurriyat and GoI.
“Dair aye durust aye.The underlying purpose of PDP-BJP alliance was to facilitate dialogue between GoI & all stakeholders. Tried my best to make it happen in my tenure as CM but relieved that Hurriyat has finally softened their stand,” Mehbooba tweeted.
Governor Satya Pal Malik Saturday said that it was encouraging to see Hurriyat Conference leaders, who he said had “once shut their doors on dialogue,” ready for talks now. Speaking after launching free set-top boxes of public broadcaster Doordarshan at SKICC here, Malik praised the separatist leadership for their proactive role in addressing social issues.
“Hurriyat leaders who once shut doors on Ram Vilas Paswan when approached for dialogue are now ready for talks. This is an encouraging sign,” the Governor said. Governor Malik also hailed Hurriyat Conference (M) chairman