May you show the content of  /home/john/mesos/error_msg.py  I would like to
try it in my machine instead of executing `env` command.

On Fri, Jul 1, 2016 at 1:40 AM, June Taylor <j...@umn.edu> wrote:

> Both of these suggestions are still resulting in this content being seen
> by the running application: \\/home\\/john\\/temp_output\\/test.csv"
>
> Thank you for your continued suggestions. Please try them out yourself and
> let me know if you can get a non-escaped path to print out successfully in
> your executing program, and let me know what you use to do that.
>
>
> Thanks,
> June Taylor
> System Administrator, Minnesota Population Center
> University of Minnesota
>
> On Thu, Jun 30, 2016 at 12:28 PM, Chris Baker <ch...@galacticfog.com>
> wrote:
>
>> +1
>>
>> On Thu, Jun 30, 2016 at 1:15 PM haosdent <haosd...@gmail.com> wrote:
>>
>>> Actually you could write your json into a file and pass the file path
>>> into the flag. For example
>>>
>>> ```
>>> $ cat /tmp/a.json
>>> {"MY_FILEPATH": "/home/john/temp_output/test.csv"}
>>> ```
>>>
>>> And use `file:///tmp/a.json` as the value of env flag.
>>>
>>> On Fri, Jul 1, 2016 at 12:40 AM, Erik Weathers <eweath...@groupon.com>
>>> wrote:
>>>
>>>> Heh, fair enough.  I know for the master/agent daemons you can put the
>>>> config values into files, which makes this pretty clean (though
>>>> that probably depends on the OS/init-launcher-daemon you are using).  But
>>>> yeah, when using the CLI you have to be pretty careful.
>>>>
>>>> - Erik
>>>>
>>>> On Thu, Jun 30, 2016 at 9:31 AM, Chris Baker <ch...@galacticfog.com>
>>>> wrote:
>>>>
>>>>> On a side note.... requiring people to put JSON on the command line is
>>>>> a sadistic thing to do.
>>>>>
>>>>> On Thu, Jun 30, 2016 at 12:28 PM Erik Weathers <eweath...@groupon.com>
>>>>> wrote:
>>>>>
>>>>>> +1 I would wrap every string in quotes...  otherwise your shell
>>>>>> doesn't know what you mean.  i.e.,
>>>>>>
>>>>>> How is the shell supposed to know that you want this all to be 1
>>>>>> string value for the --command parameter?
>>>>>>
>>>>>> --command=/home/john/anaconda3/bin/python
>>>>>> /home/john/mesos/error_msg.py read
>>>>>>
>>>>>> Similarly how is the shell to know that you *don't* want to end this
>>>>>> command and start a new one when you have a bare semicolon?
>>>>>>
>>>>>> --resources=cpus:1;mem:128
>>>>>>
>>>>>> - Erik
>>>>>>
>>>>>> On Thu, Jun 30, 2016 at 9:08 AM, haosdent <haosd...@gmail.com> wrote:
>>>>>>
>>>>>>> I use bash as well. How about
>>>>>>> ```
>>>>>>> mesos-execute --master=cluster.example.com:5050 --name=test-program
>>>>>>> --command="/home/john/anaconda3/bin/python
>>>>>>> /home/john/mesos/error_msg.py read" --resources="cpus:1;mem:128"
>>>>>>> --env='{"MY_FILEPATH": "/home/john/temp_output/test.csv"}'
>>>>>>> ```
>>>>>>>
>>>>>>> On Fri, Jul 1, 2016 at 12:04 AM, June Taylor <j...@umn.edu> wrote:
>>>>>>>
>>>>>>>> hasodent,
>>>>>>>>
>>>>>>>> We've tried your suggestion but it seems like that's not working
>>>>>>>> out:
>>>>>>>>
>>>>>>>> mesos-execute --master=cluster.example.com:5050
>>>>>>>> --name=test-program --command=/home/john/anaconda3/bin/python
>>>>>>>> /home/john/mesos/error_msg.py read --resources=cpus:1;mem:128
>>>>>>>> --env='{"MY_FILEPATH": "/home/john/temp_output/test.csv"}'
>>>>>>>>
>>>>>>>> john@cluster:~/mesos$ Failed to load flag 'env': Failed to load
>>>>>>>> value ''{"MY_FILEPATH": "/home/john/temp_output/test.csv"}'': syntax 
>>>>>>>> error
>>>>>>>> at line 1 near: '{"MY_FILEPATH": "/home/john/temp_output/test.csv"}'
>>>>>>>>
>>>>>>>>
>>>>>>>> We're using the Bash shell. Is anyone else passing file-paths
>>>>>>>> within their environment variable argument?
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> June Taylor
>>>>>>>> System Administrator, Minnesota Population Center
>>>>>>>> University of Minnesota
>>>>>>>>
>>>>>>>> On Wed, Jun 29, 2016 at 8:55 PM, haosdent <haosd...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Yes, need add quotes for --env='{"key": "value"}' flag.
>>>>>>>>>
>>>>>>>>> On Thu, Jun 30, 2016 at 4:39 AM, Chris Baker <
>>>>>>>>> ch...@galacticfog.com> wrote:
>>>>>>>>>
>>>>>>>>>> It's your shell:
>>>>>>>>>>
>>>>>>>>>> $ echo {"MY_FILEPATH": "/home/john/temp_output/test.csv"}
>>>>>>>>>> {MY_FILEPATH: /home/john/temp_output/test.csv}
>>>>>>>>>>
>>>>>>>>>> On Wed, Jun 29, 2016 at 4:05 PM June Taylor <j...@umn.edu> wrote:
>>>>>>>>>>
>>>>>>>>>>> hasodent,
>>>>>>>>>>>
>>>>>>>>>>> I admit I don't see much of a difference in your version. Are
>>>>>>>>>>> you saying that Mesos doesn't escape the values, and that our 
>>>>>>>>>>> program may
>>>>>>>>>>> be doing that on the executor end?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> June Taylor
>>>>>>>>>>> System Administrator, Minnesota Population Center
>>>>>>>>>>> University of Minnesota
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Jun 29, 2016 at 2:02 PM, haosdent <haosd...@gmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi, @Taylor I use
>>>>>>>>>>>>
>>>>>>>>>>>> ```
>>>>>>>>>>>> ./src/mesos-execute --env='{"MY_FILEPATH":
>>>>>>>>>>>> "/home/john/temp_output/test.csv"}' --master="localhost:5050" 
>>>>>>>>>>>> --command=env
>>>>>>>>>>>> --name="test"
>>>>>>>>>>>> ```
>>>>>>>>>>>>
>>>>>>>>>>>> to test in my env. The output looks correct in my side
>>>>>>>>>>>>
>>>>>>>>>>>> ```
>>>>>>>>>>>> ...
>>>>>>>>>>>> MY_FILEPATH=/home/john/temp_output/test.csv
>>>>>>>>>>>>
>>>>>>>>>>>> MESOS_SANDBOX=/tmp/mesos/slaves/fe6123b9-8757-4015-be4b-fda901247fce-S0/frameworks/fe6123b9-8757-4015-be4b-fda901247fce-0000/executors/test/runs/fe818890-2a22-4b2b-aab2-816ed0b631d5
>>>>>>>>>>>> ...
>>>>>>>>>>>> ```
>>>>>>>>>>>>
>>>>>>>>>>>> Not sure if your problem caused by your program
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, Jun 30, 2016 at 1:58 AM, June Taylor <j...@umn.edu>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Greetings,
>>>>>>>>>>>>>
>>>>>>>>>>>>> We are using mesos-execute and passing an argument that
>>>>>>>>>>>>> contains a Unix filepath, as follows:
>>>>>>>>>>>>>
>>>>>>>>>>>>> *mesos-execute --master=cluster.example.com:5050
>>>>>>>>>>>>> <http://cluster.example.com:5050> --name=test-program
>>>>>>>>>>>>> --command=/home/john/anaconda3/bin/python 
>>>>>>>>>>>>> /home/john/mesos/error_msg.py
>>>>>>>>>>>>> read --resources=cpus:1;mem:128 --env={"MY_FILEPATH":
>>>>>>>>>>>>> "/home/john/temp_output/test.csv"}*
>>>>>>>>>>>>>
>>>>>>>>>>>>> The slashes in the file path are then apparently escaped by
>>>>>>>>>>>>> mesos-execute and therefore fail to be useful once picked up by 
>>>>>>>>>>>>> the
>>>>>>>>>>>>> executor:
>>>>>>>>>>>>>
>>>>>>>>>>>>> *FileNotFoundError: [Errno 2] No such file or directory:
>>>>>>>>>>>>> '"\\/home\\/john\\/temp_output\\/test.csv"'*
>>>>>>>>>>>>>
>>>>>>>>>>>>> *I0629 10:13:13.814870 14025 exec.cpp:390] Executor asked to
>>>>>>>>>>>>> shutdown*
>>>>>>>>>>>>>
>>>>>>>>>>>>> Are other people experiencing this? What is the method to
>>>>>>>>>>>>> avoid it?
>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>> June Taylor
>>>>>>>>>>>>> System Administrator, Minnesota Population Center
>>>>>>>>>>>>> University of Minnesota
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>> Haosdent Huang
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Best Regards,
>>>>>>>>> Haosdent Huang
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Best Regards,
>>>>>>> Haosdent Huang
>>>>>>>
>>>>>>
>>>>>>
>>>>
>>>
>>>
>>> --
>>> Best Regards,
>>> Haosdent Huang
>>>
>>
>


-- 
Best Regards,
Haosdent Huang

Reply via email to