Friday, 2018-12-21

ara-slackzach.swanson: https://github.com/rundeck/rundeck/issues/425801:36
ara-slackdmsimard: @zach.swanson thanks for sharing -- I've never used Rundeck but I can take a look :smile:01:37
ara-slackzach.swanson: It's an ... interesting tool01:37
ara-slackzach.swanson: I haven't used it recently. Looked at it maybe a year ago. Has some real quirks to the UI and workflow (I hear they've done a big refresh) and its  like a swiss-army knife kind of thing. But if you're looking to do 'self service' automation tasks its pretty nice01:38
dmsimardbrb reading marketing https://www.rundeck.com/ansible01:40
ara-slackzach.swanson: I think that video there is the old UI. It really didn't work well with ansible (which was done via a plugin) but you could at least use it01:42
dmsimardI'm just interested in where Ansible is running and how it is installed :p01:45
dmsimardThere's two things that are important 1) we need to install ara somewhere, ideally in the same python interpreter as ansible itself 2) set the callback plugins variable to the ara callback 3) profit (not really, it's free software)01:46
ara-slackzach.swanson: the actual rundeck plugin for ansible is here - https://github.com/Batix/rundeck-ansible-plugin01:47
dmsimardoh, sweet01:47
ara-slackzach.swanson: If I remember correctly ansible runs locally with rundeck... but maybe that was just me being dumb when I was first playing with it01:47
ara-slackzach.swanson: because that doesn't sound very enterprise-y of them01:47
dmsimardJAVA ?01:48
dmsimardyou cannot be serious01:48
ara-slackzach.swanson: haha yah01:48
ara-slackzach.swanson: good luck have fun01:48
ara-slackzach.swanson: :wink:01:48
dmsimardhang on, it can't be THAT complicated01:48
dmsimardI'm not going to write a version of ARA in Java :p01:50
dmsimardOh, but they can probably use the new API in 1.0 though01:50
ara-slackzach.swanson: yah that'd be cool01:52
ara-slackzach.swanson: I have people on my team that need more of a "point and click" way to run things so that I'm not the only one doing it01:52
ara-slackdmsimard: Maybe you can give AWX a try, it's not that bad01:55
dmsimardI guess I'm biased01:55
dmsimard¯\_(ツ)_/¯01:55
ara-slackzach.swanson: yah I should try it again, I had a bad experience trying to install it last year and the damn thing was building or something for like 2 hours (admittedly I was trying to do this in a small VM) and I gave up01:56
ara-slackzach.swanson: I'm consistently lazy at least01:56
dmsimardI'm going to write docs for setting up ara with it, it's ~3 steps01:56
dmsimardthere's something about an ANSIBLE_CONFIG file here https://github.com/Batix/rundeck-ansible-plugin/blob/d9fcad02681c6bbc634aa1d18701fbcea4296c08/src/main/java/com/batix/rundeck/core/AnsibleRunner.java#L462-L46802:05
dmsimardbut that's just wrapping around the ansible CLI ...02:05
ara-slackzach.swanson: its weird for sure02:05
ara-slackzach.swanson: it also has to "import" the hosts from your inventory02:06
ara-slackzach.swanson: Rundeck has a way of doing things and someone tried to force the ansible model into that02:06
dmsimardso there's probably a way to set the callback_plugins configuration around here https://github.com/Batix/rundeck-ansible-plugin/blob/d9fcad02681c6bbc634aa1d18701fbcea4296c08/docker/project.properties02:06
dmsimardoh, huh? https://github.com/Batix/rundeck-ansible-plugin/blob/d9fcad02681c6bbc634aa1d18701fbcea4296c08/Dockerfile#L802:07
dmsimardhttps://github.com/Batix/rundeck-ansible-plugin/blob/d9fcad02681c6bbc634aa1d18701fbcea4296c08/Dockerfile#L2202:07
dmsimardouch, ansible==2.3.2.002:08
ara-slackzach.swanson: hah, despite the repo being updated within a week02:09
ara-slackzach.swanson: oh wait were you looking at an older version? the one I'm seeing on master just says it installs the latest from pip02:10
dmsimardthat's bad, though -- 2.3 has been EOL for a year https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html#release-status02:10
dmsimardoh ?02:11
dmsimardT_T02:11
ara-slackzach.swanson: I dunno, now I'm confused02:11
dmsimardMust have been from the github search link02:11
ara-slackzach.swanson: yah maybe02:11
dmsimarddidn't realize it was pinned to an old commit02:11
ara-slackzach.swanson: https://github.com/Batix/rundeck-ansible-plugin/blob/master/Dockerfile02:11
ara-slackzach.swanson: looks fine in there02:11
dmsimardoh yeah02:11
ara-slackzach.swanson: RUN apk --no-cache add sudo bash ca-certificates curl openssl python2 ansible openjdk8-jre && \02:11
dmsimard++02:11
dmsimardok02:12
dmsimardI can work with that02:12
dmsimardoh that's the latest *APK* of ansible02:35
dmsimardthere's APKs for ansible ?02:35
dmsimardAPKs, Java02:35
dmsimardDiscovering things today02:35
dmsimard\o/02:35
openstackgerritMerged openstack/ara-plugins master: Add helper command to determine plugins location  https://review.openstack.org/62530302:35
openstackgerritMerged openstack/ara-plugins master: Improve README to include docs for enabling ara-plugins  https://review.openstack.org/62530402:38
openstackgerritMerged openstack/ara-plugins master: Tweak how files and hosts are created to ensure idempotency  https://review.openstack.org/62596202:38
*** herald85 has joined #ara08:22
*** jungleslow has quit IRC09:32
*** jungleslow has joined #ara09:34
*** ssbarnea has joined #ara10:14
openstackgerritFlorian Apolloner proposed openstack/ara-server master: Added endpoint exposing ara and python version.  https://review.openstack.org/62686810:38
openstackgerritFlorian Apolloner proposed openstack/ara-server master: Added endpoint exposing ara and python version.  https://review.openstack.org/62686810:39
*** jungleslow has quit IRC14:25
openstackgerritDavid Moreau Simard proposed openstack/ara-server master: Fix ansible-integration test after playbook.files tweak  https://review.openstack.org/62691614:55
dmsimardapollo13: on a second thought, I wonder if including the python version is really relevant15:00
apollo13a health check endpoint would probably be better than info either way :þ15:01
dmsimardgood idea, do you have anything in mind as far as healthcheck goes ?15:01
apollo13not really, we'd probably want to have one which just returns 200 ok if the server is running at all15:02
dmsimardI guess it needs to at least exercise a read to the database15:02
apollo13and then maybe with an option one that reads from the db15:02
apollo13or just that yeah15:02
dmsimarddoes django have a method for that perhaps ?15:03
apollo13nope15:03
dmsimardthere's https://github.com/KristianOellegaard/django-health-check that does a bit more than what we were looking for15:05
dmsimardit even checks available disk and memory15:05
apollo13yeah, more than needed, also health checks should be as fast as possible imo :D15:09
apollo13bbl, time to go home15:09
dmsimardapollo13: happy holidays just in case o/15:11
Xarothhealthcheck for what purpose, if I may ask?15:12
dmsimardXaroth: a healthcheck API endpoint for monitoring to tell if the thing is alive or not15:13
openstackgerritDavid Moreau Simard proposed openstack/ara-server master: Remove requirement on django-environ  https://review.openstack.org/62691915:13
ara-slackdmsimard: @zach.swanson replied to that issue last night btw https://github.com/rundeck/rundeck/issues/4258#issuecomment-44922610315:14
ara-slackdmsimard: Gave them a few pointers but I just don't have the time to do the work tbh15:14
*** gvincent has quit IRC15:14
*** gvincent has joined #ara15:15
openstackgerritMerged openstack/ara-server master: Added endpoint exposing ara and python version.  https://review.openstack.org/62686815:19
openstackgerritDavid Moreau Simard proposed openstack/ara-server master: Update and improve README  https://review.openstack.org/62692815:20
openstackgerritMerged openstack/ara-server master: Fix ansible-integration test after playbook.files tweak  https://review.openstack.org/62691615:23
openstackgerritDavid Moreau Simard proposed openstack/ara-server master: Add basic installation documentation  https://review.openstack.org/62693315:26
openstackgerritDavid Moreau Simard proposed openstack/ara-server master: Update and improve README  https://review.openstack.org/62692815:28
herald85So here's an idea for my next steps with ara: Using jenkins with a jenkinsslave running in openshift that runs ansible playbooks which log into ara. Not a massive amount of jobs at the moment, especially not concurrent. I read conflicting stuff about using mysql as ara backend?15:49
dmsimardherald85: I think 1.0 would be perfect for that use case15:51
dmsimardwith the callback sending data to a central API15:51
openstackgerritDavid Moreau Simard proposed openstack/ara-server master: Add documentation on how to configure ara-server  https://review.openstack.org/62693815:52
herald85would it be a huge change between setting up with DB now vs 1.0 API way of working?15:52
herald85I can be patient :)15:52
dmsimardherald85: I'm hoping for a beta after the holidays15:52
dmsimardUsing the new callback with the new API isn't complicated: https://github.com/openstack/ara-plugins/blob/master/ara/plugins/callback/ara_default.py#L39-L9215:53
dmsimardSee https://github.com/openstack/ara-plugins#documentation15:53
dmsimardoops, a RST syntax mishap15:54
herald85cool. reading ansible output in jenkins is a huge pita15:55
openstackgerritDavid Moreau Simard proposed openstack/ara-plugins master: Fix RST codeblock syntax in README  https://review.openstack.org/62693915:56
dmsimardherald85: the tl;dr is that you'll need to install the ara-plugins package, set the callback_plugins configuration to point to the right place "(python -m ara.plugins)/callback", set your API client to http and set the API server to use the remote API server15:57
dmsimardthat API server can be anywhere and on any database backend15:57
dmsimardthe API server is the ara-server package -- I'm working on docs but it's not complicated either15:58
herald85how will it store data by default?15:59
dmsimardsqlite by default15:59
dmsimardin ~/.ara/server/ansible.sqlite (default in 0.x is ~/.ara/ansible.sqlite)16:00
dmsimardsqlite works fine but doesn't scale well with concurrent writes16:00
dmsimardThe web interface in 1.0 needs work though16:01
apollo13Xaroth: health checks for a load balancer in front of it etc…16:04
herald85and the api server can be queried over http?16:05
apollo13dmsimard: thanks, same to you, but I guess we will hear of each other anyways :)16:05
apollo13herald85: yes16:05
apollo13herald85: actually that is the only way to access it16:05
openstackgerritDavid Moreau Simard proposed openstack/ara-server master: Add docs on how to use the API clients with ara-server  https://review.openstack.org/62694416:05
apollo13(unless you are in offline mode, in which case it transparently spawns a server for you just to keep the code paths the same)16:06
dmsimard^ herald85 right, there is an "offline" client which doesn't require you to stand up the API server16:06
dmsimardherald85: there's some basic docs that are WIP here http://logs.openstack.org/50/623350/9/check/build-openstack-sphinx-docs/470089e/html/using_api_clients.html16:07
herald85thats a weird url :)16:08
herald85ok looks like i can easily get failed playbook runs for example in splunk. nice16:09
openstackgerritDavid Moreau Simard proposed openstack/ara-server master: Add docs on how to use the API clients with ara-server  https://review.openstack.org/62694416:11
dmsimardherald85: that's a draft build of the docs provided by CI16:11
openstackgerritMerged openstack/ara-plugins master: Fix RST codeblock syntax in README  https://review.openstack.org/62693916:12
dmsimardeven the docs are integration tested :D16:12
herald85English linter over the docs16:12
openstackgerritMerged openstack/ara-server master: Update and improve README  https://review.openstack.org/62692816:12
openstackgerritMerged openstack/ara-server master: Add basic installation documentation  https://review.openstack.org/62693316:13
openstackgerritMerged openstack/ara-server master: Remove requirement on django-environ  https://review.openstack.org/62691916:13
dmsimardherald85: and yes, one of the goals of this new API is to make it easy to take data from ARA and send it to everything16:13
dmsimardthere's already an openstack project that is taking data from ara and shipping it to influxdb for graphing task and playbook duration in grafana16:13
dmsimardthat's in 0.x though and it's more difficult than it should be16:13
dmsimardsending groked, indexed and organized data to influxdb, graphite, logstash, splunk, etc.. or getting monitoring like prometheus, nagios, sensu, etc to poke at the API for alerting16:14
dmsimardI don't want ara to be able to do all the things that these different software do but I want to make it easy to integrate with them :p16:15
dmsimardapollo13: I'm kind of sad about SECRET_KEY not being set by default but I understand why16:17
dmsimardIt increases the amount of steps required to get going by 25% (there's four steps in the quickstart)16:19
herald85 when 1.0 beta releases I'll definitely try it out and give good feedback16:20
dmsimardherald85: much appreciated !16:20
apollo13dmsimard: yeah, but sadly that is the single one step that is here to ensure security imo16:27
dmsimardapollo13: considering there's no authentication or permissions, maybe we should be more upfront about being insecure by default16:28
apollo13dmsimard: there is no authentication yet :þ16:28
dmsimardNot going to block 1.0 for that, though16:28
dmsimardMaybe it can land in 1.1 or something16:28
apollo13ic16:29
dmsimardLetting web servers handle security is a good compromise to release the damn thing16:29
apollo13we should ensure that we have a way to at least pass basic auth to the client though16:31
openstackgerritDavid Moreau Simard proposed openstack/ara-server master: Add docs on how to use the API clients with ara-server  https://review.openstack.org/62694416:31
dmsimardapollo13: I don't think I've ever worked with basic-auth enabled in a client.. how does that work in practice ? It doesn't need to re-authenticate every time, does it ? It keeps a cookie ?16:32
apollo13I'd expect it to provide authentication on every request16:32
apollo13in the long run sessions might be a good idea, but initially…16:32
dmsimardouch, that's an extra roundtrip for every call16:32
apollo13why?16:32
apollo13(read: no)16:32
apollo13if you __know__ (which you will generally) that your server requires auth you can just send the basic auth header along16:33
apollo13ie if I configure my client to talk to http://user:password@some_loc I'd epxect it to send that along all the time16:33
dmsimardhmmm, I guess16:34
*** herald85 has quit IRC16:34
openstackgerritMerged openstack/ara-server master: Add documentation on how to configure ara-server  https://review.openstack.org/62693816:34
apollo13at least as long as we say "use your webserver for auth" :D16:35
dmsimardIt's a good compromise I think16:35
dmsimardLet me add it to the todo16:35
openstackgerritMerged openstack/ara-server master: Add docs on how to use the API clients with ara-server  https://review.openstack.org/62694416:54
dmsimardapollo13: 1.0.0a1 tagged in git repos and updated dev builds are on pypi17:17
apollo13well you are in a rush :D17:17
apollo13(congrats ;))17:17
dmsimardWell, it's just a good milestone because we can tell that ara-server/ara-plugins/ara-clients work with each other at this point17:18
dmsimardthe fact that it works at all is worthy of mention :D17:19
*** tristanC has quit IRC19:17
*** tristanC has joined #ara19:17
*** etienne has quit IRC21:14
*** etienne has joined #ara21:15
ara-slacknj.chandu: Hello folks, is there a way to cleanup the reports before executing a new job on the same jenkins machine (or after archiving the report).22:29
-openstackstatus- NOTICE: the gerrit service on review.openstack.org is being restarted to pick up new configuration changes, and will return momentarily22:55

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!