Browse Source

Cleanup eavesdrop puppet references

Cleanup documenation, puppet references and the eavesdrop_opendev
group.

Change-Id: I67096d8eced0be54db9b1ee277b24602d8c20f00
changes/14/795014/13
Ian Wienand 2 months ago
parent
commit
8a1f6d9764
  1. 2
      README.rst
  2. 2
      doc/source/afs.rst
  3. 72
      doc/source/irc.rst
  4. 2
      docker/gitea/custom/templates/home.tmpl
  5. 1
      hiera/common.yaml
  6. 30
      manifests/eavesdrop.pp
  7. 121
      modules/openstack_project/manifests/eavesdrop.pp
  8. 2
      playbooks/remote_puppet_else.yaml

2
README.rst

@ -73,7 +73,7 @@ will need new resources, it is best to coordinate this before review.
The `#opendev` IRC on OFTC
channel is the main place for interactive discussion. Feel free to
ask any questions and someone will try to help ASAP. The `OpenDev
meeting <http://eavesdrop.openstack.org/#OpenDev_Meeting>`__ is a
meeting <https://meetings.opendev.org/#OpenDev_Meeting>`__ is a
co-ordinated time to synchronize on infrastructure issues. Issues
should be added to the `agenda
<https://wiki.openstack.org/wiki/Meetings/InfraTeamMeeting>`__ for

2
doc/source/afs.rst

@ -224,7 +224,7 @@ Creating a Volume
..
See following for background on the issues
http://eavesdrop.openstack.org/irclogs/%23opendev/%23opendev.2020-06-10.log.html#t2020-06-10T22:13:43
http://meetings.opendev.org//irclogs/%23opendev/%23opendev.2020-06-10.log.html#t2020-06-10T22:13:43
https://review.opendev.org/#/c/735061/
.. warning::

72
doc/source/irc.rst

@ -14,23 +14,15 @@ At a Glance
===========
:Hosts:
* http://eavesdrop.openstack.org/
* https://review.opendev.org/
* http://eavesdrop01.opendev.org
* https://wiki.openstack.org/wiki/Infrastructure_Status
* http://ptg.openstack.org/
:Puppet:
* https://opendev.org/opendev/puppet-meetbot
* https://opendev.org/opendev/puppet-statusbot
* https://opendev.org/opendev/puppet-ptgbot
* :git_file:`modules/openstack_project/manifests/eavesdrop.pp`
* :git_file:`modules/openstack_project/manifests/review.pp`
:Configuration:
* :config:`gerritbot/channels.yaml`
* :config:`accessbot/channels.yaml`
:Projects:
* https://github.com/ProgVal/Limnoria
* https://wiki.debian.org/MeetBot
* https://sourceforge.net/projects/supybot/
* https://opendev.org/opendev/meetbot
* https://opendev.org/opendev/gerritbot
* https://opendev.org/opendev/statusbot
* https://opendev.org/openstack/ptgbot
@ -63,43 +55,22 @@ commands.
NOTE: Channel admin should issue the access commands above BEFORE adding
channel to gerritbot and accessbot, otherwise Zuul will fail tests.
Meetbot
=======
The OpenDev team runs a slightly modified
`Meetbot <https://wiki.debian.org/MeetBot>`_ to log IRC channel activity and
meeting minutes. Meetbot is a plugin for
`Supybot <https://sourceforge.net/projects/supybot/>`_ which adds meeting
support features to the Supybot IRC bot.
Supybot
-------
In order to run Meetbot you will need to get Supybot. You can find the latest
release `here <https://sourceforge.net/projects/supybot/files/>`_. Once you have
extracted the release you will want to read the ``INSTALL`` and
``doc/GETTING_STARTED`` files. Those two files should have enough
information to get you going, but there are other goodies in ``doc/``.
Service overview
================
Once you have Supybot installed you will need to configure a bot. The
``supybot-wizard`` command can get you started with a basic config, or you can
have the OpenStack meetbot puppet module do the heavy lifting.
The OpenDev team runs Limnoria `Limnoria
<https://github.com/ProgVal/Limnoria>`__ on `eavesdrop01.opendev.org`
to provide channel and meeting logs.
One important config setting is ``supybot.reply.whenAddressedBy.chars``, which
sets the prefix character for this bot. This should be set to something other
than ``#`` as ``#`` will conflict with Meetbot (you can leave the setting blank
if you don't want a prefix character).
Channel logs are provided by Limnoria's inbuilt channel logger.
Meeting logging is provided by the `Meetbot plugin
<https://opendev.org/opendev/meetbot>`__.
Meetbot
-------
The OpenDev Meetbot fork can be found at
https://opendev.org/opendev/meetbot. Manual installation of the Meetbot
plugin is straightforward and documented in that repository's README.
OpenDev installs and configures Meetbot through Puppet.
Running Meetings
================
Starting a Meeting
^^^^^^^^^^^^^^^^^^
------------------
To start a meeting, use the command ``#startmeeting`` followed by the
meeting name. For instance, if you are having a meeting of the
@ -114,7 +85,7 @@ meeting name to ensure logs are recorded to the same location.
This feature is specific to the OpenDev Meetbot fork.
Voting
^^^^^^
------
The OpenDev Meetbot fork adds simple voting features. After
a meeting has been started a meeting chair can begin a voting block with the
@ -163,17 +134,17 @@ A somewhat contrived voting example:
meetbot | No (1): foo
Logging
^^^^^^^
-------
Meetings are automatically logged and published at
http://eavesdrop.openstack.org/meetings/
https://meetings.opendev.org/meetings/
The bot also has the ability to sit in a channel for the sole purpose
of logging channel activity, not just meetings. Standard channel logs
are sent to http://eavesdrop.openstack.org/irclogs/
are sent to http://meetings.opendev.org/irclogs/
The configuration for specific channel logging can be found in the
public Hiera data file, :git_file:`hiera/common.yaml`.
The configuration for specific channel logging can be found in ,
:git_file:`inventory/service/group_vars/eavesdrop.yaml`.
.. _statusbot:
@ -268,12 +239,15 @@ Example::
PTG Bot
=======
.. note:: The PTG bot is currently pending conversion to run against
OFTC from the `eavesdrop01.opendev.org` server.
Bot that `Project Teams Gathering <https://www.openstack.org/ptg>`_
room moderators use to surface what's currently happening at the
event. Usage instructions are provided in its `README.rst file
<https://opendev.org/openstack/ptgbot/src/branch/master/README.rst>`_.
It writes some static content into ``/var/lib/ptgbot/www`` on the
eavesdrop.openstack.org server and then serves that from a
eavesdrop01.openstack.org server and then serves that from a
http://ptg.openstack.org/ Apache vhost.
Code for the PTG bot lives in the openstack/ptgbot respository

2
docker/gitea/custom/templates/home.tmpl

@ -177,7 +177,7 @@ functionality is limited.</p>
<h2 id="contact-info">Contact info</h2>
<ul>
<li>IRC #opendev on OFTC (<a href="http://eavesdrop.openstack.org/irclogs/%23opendev/">logs</a>)</li>
<li>IRC #opendev on OFTC (<a href="https://meetings.opendev.org/irclogs/%23opendev/">logs</a>)</li>
<li>Mailing list: service-discuss@lists.opendev.org (<a href="http://lists.opendev.org/cgi-bin/mailman/listinfo/service-discuss">subscribe</a>)</li>
<li>Important announcements: service-announce@lists.opendev.org (<a href="http://lists.opendev.org/cgi-bin/mailman/listinfo/service-announce">subscribe</a>)</li>
</ul>

1
hiera/common.yaml

@ -98,7 +98,6 @@ cacti_hosts:
- backup02.ca-ymq-1.vexxhost.opendev.org
- bridge.openstack.org
- cacti.openstack.org
- eavesdrop.openstack.org
- eavesdrop01.opendev.org
- elasticsearch02.openstack.org
- elasticsearch03.openstack.org

30
manifests/eavesdrop.pp

@ -1,30 +0,0 @@
# Node-OS: xenial
node /^eavesdrop\d*\.open.*\.org$/ {
$group = "eavesdrop"
class { 'openstack_project::eavesdrop':
nickpass => hiera('openstack_meetbot_password'),
statusbot_nick => 'opendevstatus',
statusbot_password => hiera('statusbot_nick_password'),
statusbot_server => 'irc.oftc.net',
statusbot_channels => hiera_array('statusbot_channels', ['openstack_infra']),
statusbot_auth_nicks => hiera_array('statusbot_auth_nicks'),
statusbot_wiki_user => hiera('statusbot_wiki_username', 'username'),
statusbot_wiki_password => hiera('statusbot_wiki_password'),
statusbot_wiki_url => 'https://wiki.openstack.org/w/api.php',
# https://wiki.openstack.org/wiki/Infrastructure_Status
statusbot_wiki_pageid => '1781',
statusbot_wiki_successpageid => '7717',
statusbot_wiki_successpageurl => 'https://wiki.openstack.org/wiki/Successes',
statusbot_wiki_thankspageid => '37700',
statusbot_wiki_thankspageurl => 'https://wiki.openstack.org/wiki/Thanks',
statusbot_irclogs_url => 'http://eavesdrop.openstack.org/irclogs/%(chan)s/%(chan)s.%(date)s.log.html',
statusbot_twitter => true,
statusbot_twitter_key => hiera('statusbot_twitter_key'),
statusbot_twitter_secret => hiera('statusbot_twitter_secret'),
statusbot_twitter_token_key => hiera('statusbot_twitter_token_key'),
statusbot_twitter_token_secret => hiera('statusbot_twitter_token_secret'),
meetbot_channels => hiera('meetbot_channels', ['openstack-infra']),
ptgbot_nick => hiera('ptgbot_nick', 'username'),
ptgbot_password => hiera('ptgbot_password'),
}
}

121
modules/openstack_project/manifests/eavesdrop.pp

@ -1,121 +0,0 @@
# Eavesdrop server
class openstack_project::eavesdrop (
$nickpass = '',
$statusbot_nick = '',
$statusbot_password = '',
$statusbot_server = '',
$statusbot_channels = '',
$statusbot_auth_nicks = '',
$statusbot_wiki_user = '',
$statusbot_wiki_password = '',
$statusbot_wiki_url = '',
$statusbot_wiki_pageid = '',
$statusbot_wiki_successpageid = '',
$statusbot_wiki_successpageurl = '',
$statusbot_wiki_thankspageid = '',
$statusbot_wiki_thankspageurl = '',
$statusbot_irclogs_url = '',
$statusbot_twitter = undef,
$statusbot_twitter_key = '',
$statusbot_twitter_secret = '',
$statusbot_twitter_token_key = '',
$statusbot_twitter_token_secret = '',
$meetbot_channels = [],
$ptgbot_nick = '',
$ptgbot_password = '',
) {
include ::httpd
include meetbot
$vhost_extra = '
<Location /alert>
Header set Access-Control-Allow-Origin "*"
</Location>
'
meetbot::site { 'openstack':
nick => 'opendevmeet',
nickpass => $nickpass,
network => 'OFTC',
server => 'irc4.oftc.net:6697',
use_ssl => 'True',
vhost_extra => $vhost_extra,
vhost_name => 'eavesdrop.openstack.org',
manage_index => false,
channels => $meetbot_channels,
}
class { 'statusbot':
nick => $statusbot_nick,
password => $statusbot_password,
server => $statusbot_server,
channels => $statusbot_channels,
auth_nicks => $statusbot_auth_nicks,
wiki_user => $statusbot_wiki_user,
wiki_password => $statusbot_wiki_password,
wiki_url => $statusbot_wiki_url,
wiki_pageid => $statusbot_wiki_pageid,
wiki_successpageid => $statusbot_wiki_successpageid,
wiki_successpageurl => $statusbot_wiki_successpageurl,
wiki_thankspageid => $statusbot_wiki_thankspageid,
wiki_thankspageurl => $statusbot_wiki_thankspageurl,
irclogs_url => $statusbot_irclogs_url,
twitter => $statusbot_twitter,
twitter_key => $statusbot_twitter_key,
twitter_secret => $statusbot_twitter_secret,
twitter_token_key => $statusbot_twitter_token_key,
twitter_token_secret => $statusbot_twitter_token_secret,
}
file { '/srv/meetbot-openstack/alert':
ensure => link,
target => '/var/lib/statusbot/www',
require => Class['statusbot'],
}
if ! defined(Httpd::Mod['headers']) {
httpd::mod { 'headers':
ensure => present,
}
}
file { '/srv/yaml2ical':
ensure => directory,
owner => 'zuul',
group => 'zuul',
}
file { '/srv/yaml2ical/calendars':
ensure => directory,
owner => 'zuul',
group => 'zuul',
require => File['/srv/yaml2ical'],
}
file { '/srv/meetbot-openstack/index.html':
ensure => link,
target => '/srv/yaml2ical/index.html',
require => File['/srv/yaml2ical'],
}
file { '/srv/meetbot-openstack/irc-meetings.ical':
ensure => link,
target => '/srv/yaml2ical/irc-meetings.ical',
require => File['/srv/yaml2ical'],
}
file { '/srv/meetbot-openstack/calendars/':
ensure => link,
target => '/srv/yaml2ical/calendars/',
require => File['/srv/yaml2ical'],
}
class { 'ptgbot':
nick => $ptgbot_nick,
password => $ptgbot_password,
channel => '#openinfra-events',
vhost_name => 'ptg.openstack.org',
}
}

2
playbooks/remote_puppet_else.yaml

@ -4,7 +4,7 @@
roles:
- puppet-setup-ansible
- hosts: 'puppet:!review:!afs:!afsdb:!puppetmaster*:!nb*:!codesearch:!eavesdrop:!disabled'
- hosts: 'puppet:!review:!afs:!afsdb:!puppetmaster*:!nb*:!codesearch:!disabled'
name: "Puppet-else: run puppet on all other servers"
strategy: free
roles:

Loading…
Cancel
Save