*** ccamacho has joined #ara | 00:25 | |
*** ccamacho has quit IRC | 00:34 | |
*** dericcrago has quit IRC | 00:53 | |
*** dericcrago has joined #ara | 00:53 | |
*** ccamacho has joined #ara | 01:03 | |
*** ccamacho has quit IRC | 01:32 | |
*** dericcrago has quit IRC | 01:41 | |
*** ccamacho has joined #ara | 01:49 | |
*** dericcrago has joined #ara | 01:50 | |
*** dericcrago has quit IRC | 01:52 | |
*** dericcrago has joined #ara | 01:52 | |
*** dericcrago has quit IRC | 02:02 | |
*** dericcrago has joined #ara | 02:02 | |
*** ccamacho has quit IRC | 02:04 | |
*** ccamacho has joined #ara | 02:19 | |
*** ccamacho has quit IRC | 02:25 | |
*** ccamacho has joined #ara | 02:26 | |
*** evrardjp has quit IRC | 05:33 | |
*** evrardjp has joined #ara | 05:33 | |
*** TKersten has joined #ara | 06:32 | |
*** dericcrago_ has joined #ara | 06:36 | |
*** dericcrago_ has quit IRC | 06:37 | |
*** ccamacho has quit IRC | 07:24 | |
*** gvincent has joined #ara | 08:11 | |
*** ccamacho has joined #ara | 08:58 | |
*** sshnaidm|afk is now known as sshnaidm|ruck | 09:22 | |
*** mgariepy has quit IRC | 12:20 | |
*** dbpiv has joined #ara | 13:15 | |
*** mgariepy has joined #ara | 13:15 | |
*** dbpiv_ has joined #ara | 13:16 | |
*** dbpiv has quit IRC | 13:19 | |
*** eoli3n has joined #ara | 13:20 | |
eoli3n | Hi | 13:20 |
---|---|---|
*** mugsie has quit IRC | 13:32 | |
dmsimard | eoli3n: o/ | 13:37 |
*** sshnaidm|ruck is now known as sshnaidm|afk | 14:17 | |
dmsimard | eoli3n: btw replied to https://github.com/ansible-community/ara/issues/193 :) | 15:02 |
eoli3n | thanks :) | 15:05 |
eoli3n | i will test it soon | 15:05 |
eoli3n | nice work BTW, i'm searching for a such thing since so much time | 15:05 |
eoli3n | tried to use ELK, but parsing logs was no so great, it worked but with a lot of tweaks | 15:06 |
dmsimard | elk and ara aren't mutually exclusive so you can continue to use both :p | 15:08 |
eoli3n | yep but i would not use elk for ansible logs | 15:09 |
eoli3n | used that callback plugin : https://github.com/ujenmr/ansible-logstash-callback | 15:11 |
dmsimard | ah, there used to be one in the actual ansible package but it's since then been moved to https://github.com/ansible-collections/community.general/blob/main/plugins/callback/logstash.py | 15:12 |
dmsimard | although I've never tried it | 15:12 |
eoli3n | don't :P | 15:12 |
eoli3n | oh didn't see the first line | 15:13 |
eoli3n | i was talking about my link | 15:13 |
eoli3n | i think i tried that too | 15:13 |
eoli3n | but AFAIR it didn't split field correctly | 15:13 |
dmsimard | ara suits my needs and is simple enough, no elasticsearch to maintain too :) | 15:13 |
eoli3n | yep, that's what i want | 15:14 |
eoli3n | in your answer | 15:15 |
eoli3n | you say "There is no equivalent implementation in the web frontend yet but filtering by host is supported by the API " | 15:15 |
eoli3n | and you show filtering with "localhost" | 15:15 |
eoli3n | but in pull mode every host will be "localhsot" | 15:15 |
eoli3n | maybe i don't get one part of your answer | 15:16 |
eoli3n | my concern was to replace name from "localhost" with "$(hostname)" | 15:17 |
dmsimard | oh, you're right | 15:17 |
dmsimard | not fully awake yet :) | 15:17 |
eoli3n | !P | 15:17 |
ara-slack | Command "P" not found. | 15:17 |
openstack | eoli3n: Error: "P" is not a valid command. | 15:17 |
eoli3n | oups | 15:17 |
eoli3n | :P | 15:17 |
dmsimard | uh oh the bots aren't happy | 15:17 |
dmsimard | let me think about that for a minute | 15:17 |
dmsimard | ara saves the hostname as provided by ansible which is usually the inventory_hostname var | 15:20 |
eoli3n | so it should work out of the box ? | 15:21 |
dmsimard | well if the inventory_hostname is localhost then you'll get localhost | 15:21 |
eoli3n | but what's your exemple with "localhost", was it ansible-pull ? | 15:21 |
eoli3n | oh yes this is | 15:21 |
eoli3n | so no it will not work out of the box | 15:21 |
dmsimard | do you have an actual inventory file ? | 15:21 |
eoli3n | i do | 15:21 |
eoli3n | a dynamic inventory | 15:21 |
dmsimard | it's technically possible to have an alias, of sorts, for localhost | 15:22 |
eoli3n | where ? | 15:22 |
dmsimard | if you put like "webserver ansible_connection=local" and target webserver in your playbook, it'll run against it but it'll be in fact localhost | 15:23 |
dmsimard | but I'm not sure how we might use that dynamically for every host | 15:23 |
eoli3n | i use push AND pull | 15:23 |
eoli3n | so i can't force a local connection | 15:24 |
dmsimard | there's an argument to ansible-playbook | 15:24 |
dmsimard | ansible-playbook -i foo -c local | 15:24 |
dmsimard | ansible-playbook -i foo -c local playbook.yml | 15:24 |
eoli3n | i don't use ansible-playbook | 15:24 |
eoli3n | oh | 15:24 |
eoli3n | but no | 15:24 |
eoli3n | i use ansible-pull | 15:24 |
dmsimard | ansible-pull is merely a wrapper around ansible-playbook :p | 15:24 |
eoli3n | which pull my git repo | 15:25 |
eoli3n | yep i know that, but i will not reimplement everything | 15:25 |
eoli3n | i use --only-if-changed | 15:25 |
eoli3n | for exemple | 15:25 |
dmsimard | sure, mostly thinking out loud right now | 15:25 |
eoli3n | :) | 15:25 |
eoli3n | maybe i can't patch ansible-pull script | 15:25 |
eoli3n | s/can't/can | 15:25 |
eoli3n | but i would prefer to not | 15:26 |
eoli3n | to be able to update ansible without thinking about it | 15:26 |
dmsimard | haven't used ansible-pull in a while, could you check if it actually reports the inventory hostname as localhost ? | 15:26 |
eoli3n | yep | 15:26 |
eoli3n | just a min | 15:26 |
dmsimard | ++ | 15:26 |
*** sshnaidm|afk is now known as sshnaidm|ruck | 15:27 | |
eoli3n | http://sprunge.us/0zHn9K | 15:30 |
eoli3n | the tasks is a debug "{{ inventory_hostname }}" | 15:31 |
eoli3n | so this is not "localhost" | 15:31 |
dmsimard | oh so it should just work then | 15:31 |
eoli3n | ok | 15:31 |
eoli3n | i will test this :) | 15:31 |
eoli3n | thanks dmsimard | 15:31 |
dmsimard | btw #ansible-fr is also a thing :p | 15:32 |
eoli3n | you speak french ? | 15:32 |
eoli3n | i work exclusivly in en | 15:32 |
dmsimard | yeah, I'm from Montreal :) | 15:33 |
eoli3n | du joli francais en plus, celui qui chante :D | 15:33 |
dmsimard | ¯\_(ツ)_/¯ | 15:34 |
eoli3n | why does that mean ^^ . | 15:35 |
eoli3n | ? | 15:35 |
dmsimard | je ne suis pas un grand chanteur :p | 15:37 |
eoli3n | c'est naturel normalement ^^ | 15:37 |
eoli3n | you said that i will not be able to filter in the web ui ? | 15:37 |
eoli3n | can ara cli client connect to remote api server ? | 15:39 |
eoli3n | forget this, just read that it can | 15:39 |
dmsimard | the web UI supports filtering by host within a single playbook, i.e https://api.demo.recordsansible.org/playbooks/1369.html?host=3140#results | 15:40 |
dmsimard | but not across playbooks | 15:40 |
dmsimard | so if your playbooks have just a single host, that won't help you much | 15:41 |
eoli3n | hm | 15:41 |
dmsimard | the CLI has support for connecting to remote servers out of the box | 15:41 |
eoli3n | yep saw this in the README.md | 15:41 |
dmsimard | let me see if I can rebase the host index patch | 15:42 |
eoli3n | the web ui is important for me, because some users don't have access to shell | 15:42 |
eoli3n | yep, that's my last hope :) | 15:42 |
*** openstackgerrit has joined #ara | 15:43 | |
openstackgerrit | David Moreau Simard proposed recordsansible/ara master: WIP: UI: Add a host index https://review.opendev.org/c/recordsansible/ara/+/682778 | 15:43 |
dmsimard | eoli3n: https://api.trunk.demo.recordsansible.org/hosts | 15:44 |
eoli3n | hm, i'm trying to understand | 15:45 |
eoli3n | if i run in push mode | 15:45 |
eoli3n | classic way, what will be "host" | 15:45 |
eoli3n | no way to add this filter in "playbooks" view ? | 15:47 |
eoli3n | as "Source" which would be the host was send the logs | 15:47 |
eoli3n | s/was/which | 15:48 |
dmsimard | regular ansible-playbook commands have results saved under each respective host (inventory_hostname) | 15:51 |
dmsimard | and I think we determined that ansible-pull did that too | 15:51 |
dmsimard | do you want to store the hostname that ran the playbook itself individually ? | 15:51 |
dmsimard | like, say, "this is the bastion host that ran the playbook" | 15:52 |
eoli3n | dmsimard yes i do | 15:52 |
eoli3n | because i use push and pull modes | 15:52 |
eoli3n | when i use push, i can trigger a playbook for multiple hosts | 15:53 |
eoli3n | i pull, i can trigger only "local.yml" for the current host | 15:53 |
eoli3n | but in webui, i would be able to filter those two modes | 15:53 |
eoli3n | if i search "Source=my_ansible_srv" i will found plays in push mode | 15:54 |
eoli3n | inside that plays i will be able to filter hosts as you show me | 15:54 |
eoli3n | if i search "Source=one_client_hostname" then i will find ansible-pull logs | 15:54 |
eoli3n | does that seems ok to you ? | 15:54 |
dmsimard | yeah | 15:56 |
*** TKersten has left #ara | 15:56 | |
dmsimard | it sounds like a label would help you with the filtering | 15:56 |
dmsimard | something like: ansible-playbook -i foo playbook.yml -e "ara_playbook_labels='source_host:$(hostname -f)'" | 15:57 |
dmsimard | then the playbooks would have a label like "source_host:bastion01.foo.tld" | 15:57 |
eoli3n | but it needs to update ansible-pull script | 15:57 |
dmsimard | you can specify extra vars with ansible-pull too | 15:57 |
eoli3n | it seems more a workaround than a real case handle ^^ | 15:58 |
eoli3n | so if i forget extra var on time when running ansible-pull manually, then i'm done ^^ | 15:59 |
dmsimard | that's what labels are meant for though: i.e, https://api.demo.recordsansible.org/?label=zuul.executor:ze10.openstack.org | 15:59 |
dmsimard | yeah you can't forget :p | 16:00 |
dmsimard | put it in a cron | 16:00 |
eoli3n | a cron with a notify-send every minute | 16:01 |
eoli3n | "don't forget to add..." | 16:01 |
eoli3n | :D | 16:01 |
dmsimard | I'm not saying it's the best solution, but it's something you can do today | 16:01 |
eoli3n | right | 16:01 |
eoli3n | i will test that solution | 16:01 |
eoli3n | but for a more solid one, i think, as you provide multiple hosts logging, we should be able to filter this nativly | 16:01 |
eoli3n | in my idea :) | 16:02 |
dmsimard | I would need to dig if it's possible but it would make sense | 16:02 |
eoli3n | hosts [run] playbooks [on] hosts [with] tasks | 16:02 |
eoli3n | hosts wrapping is missing | 16:03 |
eoli3n | yep | 16:03 |
eoli3n | thanks for your help | 16:03 |
eoli3n | i will install ara ASAP and come back to you ;) | 16:03 |
eoli3n | first hosts wrapping* | 16:04 |
*** mgariepy has quit IRC | 16:10 | |
eoli3n | ara-web is not distributed as container ? | 16:38 |
dmsimard | it's not and I can't recommend running it at this time (it's broken) | 16:39 |
dmsimard | I'm not a javascript person | 16:39 |
eoli3n | what's broken, ara-web ? | 16:39 |
dmsimard | yeah, there were API changes in ara 1.5 that broke it | 16:40 |
eoli3n | since how many time ? | 16:40 |
dmsimard | https://github.com/ansible-community/ara-web/issues/29 | 16:40 |
eoli3n | ok thanks | 16:41 |
eoli3n | i try it even if i think i know the answer but :D | 16:42 |
eoli3n | do you have a king of idea of when it will be repaired ? | 16:42 |
eoli3n | kind | 16:42 |
dmsimard | eoli3n: no ETA, ara-web has potential but it's behind in features vs the built-in UI | 16:44 |
dmsimard | if you know someone good in javascript, send that person our way :D | 16:45 |
eoli3n | ok :) | 16:45 |
dmsimard | what little time I have for ara I rather spend on helping the community and work on the main ara project, it's more productive than me trying to do javascript :D | 16:47 |
dmsimard | like, I /could/ do it, but it's not the best use of my time tbh | 16:47 |
dmsimard | frontend is hard | 16:48 |
eoli3n | yes it does | 16:53 |
eoli3n | 1200 stars on github and no one JS guy to help ? | 16:53 |
eoli3n | you're unlucky ! | 16:53 |
eoli3n | :D | 16:53 |
*** mgariepy has joined #ara | 16:53 | |
eoli3n | ah ok | 16:54 |
eoli3n | ara-web has 34 stars ahahahah | 16:54 |
eoli3n | that's why | 16:54 |
eoli3n | you're probably a bad js guy :D | 16:54 |
dmsimard | ara-web didn't always exist | 16:54 |
dmsimard | long story short 0.x was a flask all-in-one thing with a bunch of javascript deps | 16:55 |
dmsimard | 1.x didn't originally have a built-in UI and the intent was for ara-web to be a thing | 16:55 |
dmsimard | but then you need people to install npm, nodejs, and stuff | 16:55 |
dmsimard | instead of just "pip install ara[server]" and be done with that | 16:55 |
eoli3n | and next step would be to move from nodejs to deno :) | 16:55 |
dmsimard | simplicity is a feature of the project and with that in mind we brought the built-in UI back with the caveat of no javascript deps | 16:56 |
eoli3n | but its still installed though npm | 16:57 |
eoli3n | you install a no JS app with nodejs ? | 16:57 |
eoli3n | :D | 16:57 |
dmsimard | the built-in UI in ara (aka https://api.demo.recordsansible.org/ ) doesn't require js/nodejs/npm | 16:57 |
dmsimard | it's just css/html and simple django templates | 16:57 |
eoli3n | so why not moving out of nodejs ? | 16:58 |
eoli3n | simple django in a container ? | 16:58 |
dmsimard | I don't follow | 16:58 |
eoli3n | ah sorry didn't read well | 16:58 |
dmsimard | ara-web relies on npm/nodejs things | 16:58 |
dmsimard | not ara | 16:58 |
eoli3n | ahhhhhh | 16:59 |
eoli3n | i was thinking that the built in WAS ara-web | 16:59 |
dmsimard | nope | 16:59 |
dmsimard | https://web.demo.recordsansible.org/ is ara-web | 16:59 |
eoli3n | but what differs ? | 16:59 |
dmsimard | https://github.com/ansible-community/ara/tree/master/ara/ui is the built-in one | 17:00 |
eoli3n | about features | 17:00 |
dmsimard | a lot | 17:00 |
dmsimard | ara-web doesn't have pagination, result details, search, ordering | 17:00 |
dmsimard | host facts | 17:00 |
eoli3n | so why ara-web does exist if it does less thant builtin ? | 17:01 |
dmsimard | the data is available in the api and ara-web can query it, it's just not implemented | 17:01 |
dmsimard | eoli3n: there is room and potential for both, there just hasn't been as much development in ara-web | 17:01 |
dmsimard | built-in: simple, built-in, no deps | 17:01 |
dmsimard | ara-web: fancy js async pretty stuff | 17:02 |
eoli3n | okok i get it now | 17:02 |
eoli3n | that's why npm and js | 17:02 |
dmsimard | yeah | 17:02 |
dmsimard | imagine nice graphs and async loading/rendering | 17:03 |
eoli3n | if ara-web is currently broken, maybe it the time to move to https://deno.land/ | 17:03 |
eoli3n | if all deps are available | 17:03 |
eoli3n | dmsimard yes i played a bit with this, to make a real time awx viewer | 17:04 |
eoli3n | a kind of | 17:04 |
eoli3n | https://github.com/eoli3n/shellcast | 17:04 |
eoli3n | i use it to wrap ansible-playbook run | 17:04 |
eoli3n | i specifically use it to run ansible-pull on my hosts | 17:06 |
eoli3n | http://sprunge.us/3fYsE2 | 17:09 |
dmsimard | hadn't heard about deno before | 17:43 |
eoli3n | i discovered it in a show from nodejs creator | 17:55 |
eoli3n | deno is "node" reversed | 17:55 |
eoli3n | from the same guy | 17:55 |
eoli3n | but without all problems | 17:55 |
eoli3n | a slide made me cry of laughing | 17:55 |
eoli3n | https://img.devrant.com/devrant/rant/r_1483693_8eKeq.jpg | 17:56 |
eoli3n | the guy is node creator himself | 17:56 |
eoli3n | :D | 17:56 |
dmsimard | self deprecating humor | 17:57 |
dmsimard | I like it | 17:57 |
eoli3n | i do too | 17:57 |
eoli3n | https://www.youtube.com/watch?v=M3BM9TB-8yA&vl=fr | 17:57 |
*** dbpiv_ has quit IRC | 17:58 | |
eoli3n | that's a way to lead to deno | 17:58 |
*** sshnaidm|ruck is now known as sshnaidm|afk | 18:22 | |
*** dbpiv has joined #ara | 18:31 | |
*** sshnaidm|afk has quit IRC | 20:30 | |
*** etienne has joined #ara | 20:54 | |
*** openstackgerrit has quit IRC | 21:08 | |
*** dbpiv has quit IRC | 21:10 | |
*** eoli3n has quit IRC | 22:34 | |
*** etienne has quit IRC | 22:34 | |
*** tykling has quit IRC | 23:09 | |
*** tykling has joined #ara | 23:41 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!