Thanks (faar aabhari) Abhijeet for your reply. but also i have to store
that in variable so i ll have to use set_fact ryt or is there any simpler
way in one line because if you see my code i had to use so many set_fact to
1st get one value then again store in another value.
One more point i have to highlight is that when i get output of my shell
command jar path is not always the 1st item in list it sometimes 2nd so
this is bit annoying .
for example,
- name: take command grep output
shell:
cmd: "ps -ef | grep -i kafka | grep -i server.prop | awk -F'-cp'
'{print $2}' | awk -F':' '{print $1}'"
register: grepout
tags: verchk1
here output is not always constant
sometimes
"grepout.stdout": " /usr/bin/../share/java/kafka/*\n' '{print $2}' | awk
-F'"
and sometimes
"grepout.stdout": '{print $2}' | awk -F'" \n' "
/usr/bin/../share/java/kafka/*"
This creates problems
On Wednesday, May 24, 2023 at 12:33:53 AM UTC+5:30 Abhijeet Kasurde wrote:
> Assuming you are getting 'files_found_path' as
>
> TASK [debug]
> ****************************************************************************
> ok: [localhost] => {
> "msg": [
>
> "/opt/confluent-7.2.5/kafka/share/java/kafka/kafka_2.13-7.2.5-ccs.jar"
> ]
> }
>
> I would write my playbook as -
>
> - debug:
> msg: "{{ files_found_path[0] | regex_replace(kafka_ver_regex,
> '\\2') }}"
> vars:
> kafka_ver_regex: (.*kafka_\d\.\d\d-)(\d\.\d\.\d)(-.*\.jar)
>
> That would give me -
>
> TASK [debug]
> ****************************************************************************
> ok: [localhost] => {
> "msg": "7.2.5"
> }
>
> On Tue, May 23, 2023 at 11:06 AM Sameer Modak <[email protected]>
> wrote:
>
>> i did try that as well but no luck as i have already mentioned in my
>> previous conversation.
>>
>> below is the complete code, output i want is 7.2.5 from jar line. thats
>> it. But i m missing something may taking long route when simple solution is
>> there
>>
>> - name: take command grep output
>>
>> shell:
>>
>> cmd: "ps -ef | grep -i kafka | grep -i server.prop | awk -F'-cp'
>> '{print $2}' | awk -F':' '{print $1}'"
>>
>> register: grepout
>>
>> tags: verchk1
>>
>>
>>
>>
>> - name: setfact and pring
>>
>> set_fact:
>>
>> pathd: "{{ (grepout.stdout.split('\n')[0] | replace('bin/../', '')
>> | replace('*','') | replace(' /','/')) }}"
>>
>> # pathd: "{% if 'kafka' in (grepout.stdout.split('\n')[0] |
>> replace('bin/../', '') | replace('*','') | replace(' /','/'))
>> %}'hi'{%else}'bye'{% endif %}}"
>>
>> # - pathd1: "{% if 'kafka' in pathd %}pathd{% else %}''{% endif %}"
>>
>>
>>
>> - name: setfact for 2nd var
>>
>> set_fact:
>>
>> pathd1: "{% if 'kafka' in pathd %}{{pathd}}{% else %}''{% endif %}"
>>
>>
>> - name: pathd ls
>>
>> find:
>>
>> paths: "{{pathd1}}"
>>
>> patterns: "kafka_*ccs.jar"
>>
>> # use_regex: true
>>
>> register: vername
>>
>>
>> - name : get the complete path
>>
>> set_fact:
>>
>> # files_found_path: "{{ vername.files.path[1] }}"
>>
>> files_found_path: "{{ vername.files | map(attribute='path') | list
>> }}"
>>
>>
>> - name: debug grepout
>>
>> debug:
>>
>> # msg: "this is the version {{ vername.files.path }}"
>>
>> var: files_found_path
>>
>> tags: vern
>>
>>
>> # - name: get version
>>
>> # set_fact:
>>
>> # versionn: "{{ files_found_path.split('-')[1] }}"
>>
>>
>> # - name: debug grepout
>>
>> # debug:
>>
>> # msg: "this is the version {{ vername.files.path }}"
>>
>> # var: versionn
>>
>> # tags: vern
>>
>>
>>
>> On Tuesday, May 23, 2023 at 7:27:19 PM UTC+5:30 Abhijeet Kasurde wrote:
>>
>>> files_found_path is an array/list. So you need files_found_path[0].split
>>>
>>> On Tue, May 23, 2023 at 5:42 AM Sameer Modak <[email protected]>
>>> wrote:
>>>
>>>> Hello Team,
>>>>
>>>> Code
>>>>
>>>> name: debug grepout
>>>>
>>>> debug:
>>>>
>>>> # msg: "this is the version {{ vername.files.path }}"
>>>>
>>>> var: *files_found_path*
>>>>
>>>> tags: vern
>>>>
>>>> Output:
>>>>
>>>> files_found_path": [
>>>>
>>>> "/opt/confluent-7.2.5/kafka/share/java/kafka/kafka_2.13-*7.2.5*
>>>> -ccs.jar"
>>>>
>>>> ]
>>>>
>>>>
>>>> Above code is working but after that it failing with below code, i
>>>> need *7.2.5* before -css in above output but failing to get that tried
>>>> *files_found_path[0].split(‘-‘)
>>>> as well*
>>>>
>>>> - name: get version
>>>>
>>>> set_fact:
>>>>
>>>> versionn: "{{ *files_found_path.split(‘-‘)[0] *}}"
>>>>
>>>> TASK [get version]
>>>> ***************************************************************************************************************************************************************************
>>>>
>>>> fatal: [host1: FAILED! => {"msg": "The task includes an option with an
>>>> undefined variable. The error was: 'list object' has no attribute 'split'.
>>>> 'list object' has no attribute 'split'\n\nThe error appears to be in
>>>> '/Users/sameer_modak/ansibledemo/testing.yml': line 54, column 5, but
>>>> may\nbe elsewhere in the file depending on the exact syntax
>>>> problem.\n\nThe
>>>> offending line appears to be:\n\n\n - name: get version\n ^ here\n"}
>>>>
>>>> fatal: [host2]: FAILED! => {"msg": "The task includes an option with an
>>>> undefined variable. The error was: 'list object' has no attribute 'split'.
>>>> 'list object' has no attribute 'split'\n\nThe error appears to be in
>>>> '/Users/sameer_modak/ansibledemo/testing.yml': line 54, column 5, but
>>>> may\nbe elsewhere in the file depending on the exact syntax
>>>> problem.\n\nThe
>>>> offending line appears to be:\n\n\n - name: get version\n ^ here\n"}
>>>>
>>>> fatal: [host3]: FAILED! => {"msg": "The task includes an option with an
>>>> undefined variable. The error was: 'list object' has no attribute 'split'.
>>>> 'list object' has no a
>>>>
>>>>
>>>>
>>>> Thanks in advance.
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Ansible Project" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/ansible-project/9e09186d-7715-49d7-ad37-b8f41feebac7n%40googlegroups.com
>>>>
>>>> <https://groups.google.com/d/msgid/ansible-project/9e09186d-7715-49d7-ad37-b8f41feebac7n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>
>>>
>>> --
>>> Thanks,
>>> Abhijeet Kasurde
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Ansible Project" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>>
> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/ansible-project/2b726fc8-85da-4b86-b851-55b4ebec0f40n%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/ansible-project/2b726fc8-85da-4b86-b851-55b4ebec0f40n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> --
> Thanks,
> Abhijeet Kasurde
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/052980cc-3b13-4934-9ef6-1d2a2e19dc0dn%40googlegroups.com.