On 11/2/20 3:30 PM, Luke C wrote:
> All right, so I created a callback plugin which saves information 
> automatically about each executed task to external
> database, to put it concisely it holds of lots of information about task 
> execution (output, hostname etc) + other needed
> by users. 
> For each task unique identifier (not Anisble TASKUUID) is also generated - it 
> is a combination of few fields.  
> That Custom UUID is being saved to that database as well. 
> 
> The idea is to not execute any tasks in that playbook(s) more than once, for 
> this purpose Custom UUID should be checked.
> Tasks shouldn't be executed more than once on a server because of 
> irreversible actions done by those external legacy
> scripts. (no comments on that, can't be changed for now) 
> 
> With when condition it would be problematic to check Custom_UUID for each 
> task because it's not and can't be hardcoded
> (can differ).
> So, my first thought was to create or rather enhance my callback plugin to 
> GET data from DB to check whether this
> particular task has been already executed or not. 
> If yes, it should be omitted.
> 

I'm not sure if your setup really makes sense ... it has a smell of 
overengineering. Ansible is suppose to at least
go through the tasks to ensure that to ascertain that the desired status has 
been reached.

Regards
        Racke

> 
> 
> poniedziałek, 2 listopada 2020 o 14:40:14 UTC+1 [email protected] napisał(a):
> 
>     On Mon, Nov 2, 2020 at 8:08 AM Luke C <[email protected]> wrote:
>     >
>     > Thanks for the reply.
>     > Yes I know ... :)
>     >
>     > The problem is that I want to have dynamic when conditions for huge 
> amount of tasks.
>     > With standard when condition I would have to provide a particular 
> static condition for each task (which in fact
>     are mostly external script executions).
>     > I thought it would be just easier and faster with additional callback 
> module.
>     >
>     I too am confused. I use when() to include an entire task file
>     or just do a task. And I could swear I have whens that looked like
> 
>     when:
>     - variable-I-populated-or-registered-a-few-lines-ago.stdout ==
>     variable-I-populated-in-an-earlier-task-file-on-my-way-here.stdout
> 
>     > Kind regards
>     > Luke
>     >
>     >
>     > poniedziałek, 2 listopada 2020 o 13:57:43 UTC+1 [email protected] 
> napisał(a):
>     >>
>     >> On 11/2/20 1:49 PM, Luke C wrote:
>     >> > Hey guys
>     >> >
>     >> > I would like to ask whether it's possible to SKIP task 
> programmatically, using python & callback module?
>     >> >
>     >> > I've been trying to do this for 3 days and I still don't know how.
>     >> > Is there some special variable which I could use in 
> *v2_runner_on_start *or *v2_playbook_on_task_start* methods?
>     >> >
>     >> > I don't want to use ansible's when condition, task should be omitted 
> dynamically basing on the results gathered
>     earlier.
>     >> >
>     >> > e.g.:
>     >> > def v2_runner_on_start(self, host, task):
>     >> > if self.checksomething():
>     >> > print("Task should be omitted")
>     >> > <OMIT TASK, DO NOT RUN IT>
>     >> > else:
>     >> > print("Yes, task should be executed, proceed")
>     >> >
>     >> >
>     >>
>     >> Do you know that Ansible's when conditions can be very well based on 
> results gathered earlier?
>     >>
>     >> Regards
>     >> Racke
>     >>
>     >> >
>     >> >
>     >> > --
>     >> > 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] 
> <mailto:[email protected]>.
>     >> > To view this discussion on the web visit
>     >> > 
> https://groups.google.com/d/msgid/ansible-project/34e2ed5a-2fad-40cf-a852-f94af07fd096n%40googlegroups.com
>     
> <https://groups.google.com/d/msgid/ansible-project/34e2ed5a-2fad-40cf-a852-f94af07fd096n%40googlegroups.com>
>     >> >
>     
> <https://groups.google.com/d/msgid/ansible-project/34e2ed5a-2fad-40cf-a852-f94af07fd096n%40googlegroups.com?utm_medium=email&utm_source=footer
>     
> <https://groups.google.com/d/msgid/ansible-project/34e2ed5a-2fad-40cf-a852-f94af07fd096n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
> 
>     >>
>     >>
>     >> --
>     >> Ecommerce and Linux consulting + Perl and web application programming.
>     >> Debian and Sympa administration. Provisioning with Ansible.
>     >
>     > --
>     > 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/f1b9d8c6-f367-4c75-b812-226a4eb7b82bn%40googlegroups.com
>     
> <https://groups.google.com/d/msgid/ansible-project/f1b9d8c6-f367-4c75-b812-226a4eb7b82bn%40googlegroups.com>.
> 
> -- 
> 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] 
> <mailto:[email protected]>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/da81770a-1ca3-4211-8f4b-98184d55a404n%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/da81770a-1ca3-4211-8f4b-98184d55a404n%40googlegroups.com?utm_medium=email&utm_source=footer>.


-- 
Ecommerce and Linux consulting + Perl and web application programming.
Debian and Sympa administration. Provisioning with Ansible.

-- 
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/20c9973f-526f-4f84-929a-d9aa3a946a32%40linuxia.de.

Attachment: OpenPGP_0x5B93015BFA2720F8.asc
Description: application/pgp-keys

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to