IRC bot to manage official channel settings

Bug #1190296 reported by Jeremy Stanley
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Core Infrastructure
Fix Released
Medium
James E. Blair

Bug Description

It would be great to have an IRC bot which is able to negotiate a declarative set of configuration parameters with Freenode's ChanServ for official OpenStack channels. It should probably work in a manner similar to jeepyb's manage-projects script: read channel configuration from a YAML file, log in and set things when that file changes.

Using #openstack-dev as a template, it looks like we'll need...

    Founder : mtaylor, jeblair, clarkb, fungi
    Successor : freenode-staff
    Mode lock : +ntc-slk
    Flags : GUARD
    +AFRfiorstv access for all Founders
    +Aiortv for channel-specific operators
    +t for openstackstatus(statusbot), openstack(meetbot)
    set a per-channel configured topic

[additional settings?]

Revision history for this message
Julien Danjou (jdanjou) wrote :

Took a quick look on that; the main problem that I don't know how to resolve easily, is to negotiate user flags.

Adding new founder or operators is easy, but removing them requires to request the list of access from ChanServ and parses it… Not really handy to implement considering the async nature of IRC.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to statusbot (master)

Fix proposed to branch: master
Review: https://review.openstack.org/43263

Changed in openstack-ci:
assignee: nobody → Julien Danjou (jdanjou)
status: Triaged → In Progress
Revision history for this message
Elizabeth K. Joseph (lyz) wrote :

This change was Abandoned due to inactivity, but it has elements which could be pulled from statusbot and put in a separate bot.

Revision history for this message
Elizabeth K. Joseph (lyz) wrote :

The openstackinfra account on freenode has been created and password managed by infra core to run this bot once it exists.

+AFRfiorstv should be given to openstackinfra in OpenStack channels.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to config (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/78061

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to config (master)

Fix proposed to branch: master
Review: https://review.openstack.org/78483

Changed in openstack-ci:
assignee: Julien Danjou (jdanjou) → James E. Blair (corvus)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to config (master)

Reviewed: https://review.openstack.org/78061
Committed: https://git.openstack.org/cgit/openstack-infra/config/commit/?id=becdd4b1ebe030e1d3699f44155d6b0043d0efd1
Submitter: Jenkins
Branch: master

commit becdd4b1ebe030e1d3699f44155d6b0043d0efd1
Author: James E. Blair <email address hidden>
Date: Tue Mar 4 17:30:58 2014 -0800

    Add a job to check IRC channel access

    Add an IRC channel config file with some stub access information
    for a few channels. A new tool can read this file and verify
    that openstackinfra has founder access on all the channels listed
    in the file.

    Run a job on changes to that file to verify that access is correct.

    Later, other tools (like statusbot or gerritbot) may read that
    file directly to determine which channels to join. Or we can at
    least add checks that all channels referenced by another tool
    (like eavesdrop) are also listed in this file.

    Related-Bug: 1190296
    Change-Id: I38440e745402af5bbc3f0d0cc04a150c0a4bb47c

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to config (master)

Reviewed: https://review.openstack.org/78483
Committed: https://git.openstack.org/cgit/openstack-infra/config/commit/?id=9dad326acc6ea500616e82e33b2ea4cd8a7466e2
Submitter: Jenkins
Branch: master

commit 9dad326acc6ea500616e82e33b2ea4cd8a7466e2
Author: James E. Blair <email address hidden>
Date: Wed Mar 5 16:46:44 2014 -0800

    Add a script to manage IRC perms

    Run it whenever there is a change to the YAML channel config.

    The script will ensure everyone listed in global has those perms
    and anyone else found with access on a channel will be left as-is
    except that their access will be limited to the relevant mask.

    Move it and the previous change to add a permission checking
    script into a new module, 'accessbot'.

    Support SSL in both scripts.

    Add a 1 second sleep in the check script to avoid flood protection.

    Add all known channels to the channel config.

    Closes-Bug: 1190296
    Change-Id: I5072cb56ae83a70f4fa955362b8db909b2956d70

Changed in openstack-ci:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.