I am having hard time getting the when condition work
I have couple of application names have 2 separate jenkins urls. My
playbook has to check if the job exists on both the urls and then create
the new job. I am successful until checking and getting the data if the job
exists or not. NOw when trying to write the when condition I am failing.
scenario 1 : I have 2 repos, and 2 urls . in this case the job exists on
one of the jenkins and then it has to skip the next step creating the new
jenkins job , I need to get when condition working.
"msg": "Job URLs: ['https://test.com/job/repo1.teamCI/']" "msg": "Job URLs:
[]"
scenario 2: in this case the job doesn't exist on any of the url, then it
should go and create the job on specific jenkins which I mentioned in next
play
"msg": "Job URLs: []"
"msg": "Job URLs: []"
TASK [Display Jobs]
************************************************************
ok: [localhost] => (item={'changed': False, 'jobs': [], 'invocation':
{'module_args': {'glob': 'repo1.*', 'url': 'https://url1.com', 'user':
'account', 'token': 'tokenvalue', 'validate_certs': False, 'name': None,
'color': None, 'password': None}}, 'failed': False, 'item': [{'url':
'https://url1.com', 'username': 'account', 'password_file':
'group_vars/password1.yml'}, 'repo1'], 'ansible_loop_var': 'item'}) => {
"ansible_loop_var": "item",
"item": {
"ansible_loop_var": "item",
"changed": false,
"failed": false,
"invocation": {
"module_args": {
"color": null,
"glob": "repo1.*",
"name": null,
"password": null,
"token": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"url": "url",
"user": "acount",
"validate_certs": false
}
},
"item": [
{
"password_file": "group_vars/password1.yml",
"url": "https://url1.com",
"username": "account"
},
"release.sqls"
],
"jobs": []
},
"item.jobs": []
}
I am checking item.jobs attribute
On Saturday, July 1, 2023 at 9:34:21 AM UTC-7 Narmada Karthika wrote:
> Abhijeet, I need one more help, from the above playbook I am trying to
> check if the job exists on 2 jenkins urls.
> Now, I am trying to configure job if the doesn't exist on any of the
> jenkins, for this I have to look for job if exists. I am little confused
> how to check the condition.
>
> On Friday, June 30, 2023 at 4:42:27 PM UTC-7 Abhijeet Kasurde wrote:
>
>> Hi Narmada,
>>
>> I just showed you an example. You can directly use `jekins_job_info` in a
>> similar way.
>>
>> On Fri, Jun 30, 2023 at 4:09 PM Narmada Karthika <[email protected]>
>> wrote:
>>
>>>
>>> any suggestions how I can use the password from this debug as variable
>>> in next play
>>> - debug:
>>> msg: "{{ (lookup('file', url_item.password_file
>>> )|from_yaml).password }}"
>>> On Friday, June 30, 2023 at 12:48:32 PM UTC-7 Narmada Karthika wrote:
>>>
>>>> Also I would I use that password item in the below play
>>>>
>>>> On Fri, Jun 30, 2023 at 12:16 PM Abhijeet Kasurde <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi Narmada,
>>>>>
>>>>> I would suggest you to remove include_vars if you want to read the
>>>>> variables from files. Instead of that you can simplify the task like -
>>>>>
>>>>> ```
>>>>> vars:
>>>>> urls:
>>>>> - url: url1
>>>>> username: username1
>>>>> password_file: group_vars/password1.yml
>>>>> - url: url2
>>>>> username: username2
>>>>> password_file: group_vars/password2.yml
>>>>> tasks:
>>>>> - debug:
>>>>> msg: "{{ (lookup('file', url_item.password_file
>>>>> )|from_yaml).password }}"
>>>>> loop: "{{ urls }}"
>>>>> loop_control:
>>>>> loop_var: url_item
>>>>> ```
>>>>>
>>>>> I am assuming your password*.yml file looks like this =
>>>>> ```
>>>>> # cat group_vars/password1.yml
>>>>> ---
>>>>> password: sample1
>>>>> ```
>>>>>
>>>>>
>>>>> On Fri, Jun 30, 2023 at 11:09 AM Narmada Karthika <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> thankyou, I have some typos, fixed that issue. BUt in the same
>>>>>> playbook I trying to use loops and access both the urls with respective
>>>>>> user and password and print the job info, but only one url response is
>>>>>> working. other one is failing with error. if I remove the working url
>>>>>> and
>>>>>> try with accessing the failed user details, it works. I believe some
>>>>>> thing
>>>>>> I might have missed in the loop.
>>>>>>
>>>>>> ---
>>>>>> - name: Access URLs with Different User-Password Combinations
>>>>>> hosts: localhost
>>>>>> gather_facts: false
>>>>>>
>>>>>> vars:
>>>>>> urls:
>>>>>> - url: <url1>
>>>>>> username: <username1>
>>>>>> password_file: group_vars/password1.yml
>>>>>> - url: <url1>
>>>>>> username: <username2>
>>>>>> password_file: group_vars/password2.yml
>>>>>>
>>>>>> tasks:
>>>>>> - name: Include Password Variables
>>>>>> include_vars:
>>>>>> file: "{{ url_item.password_file }}"
>>>>>> loop: "{{ urls }}"
>>>>>> loop_control:
>>>>>> loop_var: url_item
>>>>>>
>>>>>>
>>>>>> - name: Access URLs
>>>>>> community.general.jenkins_job_info:
>>>>>> glob: "reponame.*"
>>>>>> url: "{{ url_item.url }}"
>>>>>> user: "{{ url_item.username }}"
>>>>>> token: "{{ password }}"
>>>>>> validate_certs: false
>>>>>> loop: "{{ urls }}"
>>>>>> loop_control:
>>>>>> loop_var: url_item
>>>>>> vars:
>>>>>> - password: "{{ url_item.password_file }}"
>>>>>> register: response
>>>>>>
>>>>>> - name: Print Response
>>>>>> debug:
>>>>>> var: response
>>>>>>
>>>>>> On Friday, June 30, 2023 at 4:28:42 AM UTC-7 Dick Visser wrote:
>>>>>>
>>>>>>> On Fri, 30 Jun 2023 at 09:22, Narmada Karthika <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>> > msg": "Unable to connect to Jenkins server, Unable to authenticate
>>>>>>> with any scheme:\nauth(kerberos) HTTPSConnectionPool(host='<
>>>>>>> jenkins.com>.*', port=443): Max retries exceeded with url:
>>>>>>> /api/json (Caused by
>>>>>>> NewConnectionError('<urllib3.connection.HTTPSConnection object at
>>>>>>> 0x7f4fcb26bd30>: Failed to establish a new connection: [Errno -2] Name
>>>>>>> or
>>>>>>> service not known',))\nauth(basic) HTTPSConnectionPool(host=' <
>>>>>>> jenkins.com>.* ', port=443): Max retries exceeded with url:
>>>>>>> /api/json (Caused by
>>>>>>> NewConnectionError('<urllib3.connection.HTTPSConnection object at
>>>>>>> 0x7f4fcb26b9e8>: Failed to establish a new connection: [Errno -2] Name
>>>>>>> or
>>>>>>> service not known',))",
>>>>>>>
>>>>>>> This indicates some DNS resolution issue on the system where this
>>>>>>> task executes.
>>>>>>>
>>>>>> --
>>>>>> 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/e5d45eb6-54e7-49e4-a261-92657c03ef10n%40googlegroups.com
>>>>>>
>>>>>> <https://groups.google.com/d/msgid/ansible-project/e5d45eb6-54e7-49e4-a261-92657c03ef10n%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/CAFwWkHoFo9c1Rk8LB4UziikzezGYpAFQaOPLC5LjyryUzbP%2BvA%40mail.gmail.com
>>>>>
>>>>> <https://groups.google.com/d/msgid/ansible-project/CAFwWkHoFo9c1Rk8LB4UziikzezGYpAFQaOPLC5LjyryUzbP%2BvA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
>>>> Thanks,
>>>> Narmada Karthika Chitturi
>>>>
>>>>
>>> --
>>> 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/44453cbc-87d8-4abb-ac06-3f7cde48bfe9n%40googlegroups.com
>>>
>>> <https://groups.google.com/d/msgid/ansible-project/44453cbc-87d8-4abb-ac06-3f7cde48bfe9n%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/fac8f5dd-25ab-44b1-82a3-f1168127acb8n%40googlegroups.com.