Thanks.

I have a pretask before installing, where it copies files to the target 
server, and then run your idempotent way.

How can I do a check, before copying the .net 4.8 exe, if 4.8 exists, and 
only run the copy/install if .net 4.8 isnt installed/exists.

If it exists, then skip.

Thanks
On Friday, January 21, 2022 at 2:51:09 PM UTC-6 [email protected] wrote:

> Use idempotent way. It will be installed if it has not already been 
> installed
>
>         -   ansible.windows.win_package:
>             path: 'c:\path\to\ndp48-x86-x64-allos-enu.exe'
>             product_id: "{BAAF5851-0759-422D-A1E9-90061B597188}"
>             arguments: "/q /norestart"
>
> среда, 19 января 2022 г. в 21:33:41 UTC+3, Nitrous: 
>
>> This is what I get:
>>
>> TASK [net481 : Check if .net 4.8 is installed] 
>> **************************************************************************************************************************************************************************
>> task path: /etc/ansible/roles/net481/tasks/main.yml:1
>> [WARNING]: conditional statements should not include jinja2 templating 
>> delimiters such as {{ }} or {% %}. Found: '4.8' in {{ script_run }}
>> fatal: [xxxxx]: FAILED! => {
>>     "msg": "The conditional check ''4.8' in {{ script_run }}' failed. The 
>> error was: error while evaluating conditional ('4.8' in {{ script_run }}): 
>> 'script_run' is undefined\n\nThe error appears to be in 
>> '/etc/ansible/roles/net481/tasks/main.yml': line 1, column 3, but may\nbe 
>> elsewhere in the file depending on the exact syntax problem.\n\nThe 
>> offending line appears to be:\n\n\n- name: Check if .net 4.8 is installed\n 
>>  ^ here\n"
>> }
>>
>> Role is this:
>>
>> - import_role:
>>       name: net481
>>     when: "'4.8' in {{ script_run }}"
>>
>> Task Ran:
>>
>> - name: Check if .net 4.8 is installed
>>   ansible.windows.win_shell:
>>     (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework 
>> Setup\NDP\v4\Full").version -lt 4.8
>>   register: script_run  - name: Install .net 4.8, if not installed
>>   ansible.builtin.script: 
>> /etc/ansible/roles/onprembaseline/files/net48.ps1
>>   register: script_run
>>
>> On Thursday, December 30, 2021 at 12:25:32 PM UTC-6 Niek wrote:
>>
>>> Probably check: 
>>> https://docs.ansible.com/ansible/latest/user_guide/playbooks_conditionals.html
>>>
>>> Op donderdag 30 december 2021 om 19:24:36 UTC+1 schreef Niek:
>>>
>>>> Not a ansible hero here, but i think you can do something with the 
>>>> when: command in your playbook. 
>>>>
>>>> So somewhere in de the task where you check the version you will do a
>>>> register: dotnet_version
>>>>
>>>> And in the taks where you execute it: 
>>>> when: "'4.8' in {{ dotnet_version }}"
>>>>
>>>> Op woensdag 29 december 2021 om 17:57:20 UTC+1 schreef Nitrous:
>>>>
>>>>> anyone with ideas?
>>>>>
>>>>> On Tuesday, December 21, 2021 at 3:25:23 PM UTC-6 Nitrous wrote:
>>>>>
>>>>>> any suggestions?
>>>>>>
>>>>>> On Monday, December 20, 2021 at 9:09:51 AM UTC-6 Nitrous wrote:
>>>>>>
>>>>>>> How can I incorporate this registry check before my playbook runs to 
>>>>>>> install .net 4.8:
>>>>>>>
>>>>>>> (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework 
>>>>>>> Setup\NDP\v4\Full").version -lt 4.8
>>>>>>>
>>>>>>> The above should only run my playbook, if 4.8 isnt installed. If 
>>>>>>> version is less than 4.8 run the below playbook, else skip
>>>>>>>
>>>>>>> My playbook to install .net 4.8:
>>>>>>> - name: Copy .net 4.8 Files
>>>>>>>   ansible.windows.win_copy:
>>>>>>>     src: /etc/ansible/roles/net481/files/ndp48-x86-x64-allos-enu.exe
>>>>>>>     dest: C:\Scripts\
>>>>>>>     state: present
>>>>>>>
>>>>>>> - name: Install .net 4.8
>>>>>>>
>>>>>>>   ansible.builtin.script: 
>>>>>>> /etc/ansible/roles/onprembaseline/files/net48.ps1
>>>>>>>   register: script_run
>>>>>>>
>>>>>>> - name: Reboot after .NET 4.8 Install
>>>>>>>   ansible.windows.win_reboot:
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>

-- 
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/18ebce4a-052c-4681-9b40-e4f80361b3f8n%40googlegroups.com.

Reply via email to