From 393c7bef1167c7796ab8ccd5ae23f6331315dcd1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 28 Dec 2020 16:40:38 +0000 Subject: [PATCH] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- README.md | 2 - files/plugins/rockymsg.py | 70 +++++++++++----------- templates/etc/httpd/conf.d/kojihub.conf.j2 | 1 - templates/etc/httpd/conf.d/kojiweb.conf.j2 | 3 +- vars/main.yml | 2 +- 5 files changed, 37 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index e7124be..ddf2fcb 100644 --- a/README.md +++ b/README.md @@ -40,5 +40,3 @@ There are numerous other options within the [defaults/main.yml](./defaults/main. ## Changelog The [changelog](./CHANGELOG.md) is stored externally - - diff --git a/files/plugins/rockymsg.py b/files/plugins/rockymsg.py index c462f56..c8ea3c9 100644 --- a/files/plugins/rockymsg.py +++ b/files/plugins/rockymsg.py @@ -1,12 +1,12 @@ -# Koji callback sent to Rocky Linux mqtt -# +# Koji callback sent to Rocky Linux mqtt +# # Adapted from https://gitlab.cern.ch/linuxsupport/rpms/koji-hub-plugins-cern/blob/master/src/mash.py -# -# License: GPLv2 -# Authors: -# Alex (dot) Iribarren (at) cern (dot) ch (original script) +# +# License: GPLv2 +# Authors: +# Alex (dot) Iribarren (at) cern (dot) ch (original script) # Thomas (dot) Oulevey (at) cern (dot) ch (mqtt version) - + import koji from koji import PluginError from koji.context import context @@ -16,25 +16,25 @@ import ConfigParser import logging import base64, json import os - + # mqtt client import paho.mqtt.client as mqtt - + CONFIG_FILE = '/etc/koji-hub/plugins/rockymsg.conf' PLUGIN_NAME = 'koji.plugin.rockymsg' DEFAULT_ARCHES = 'x86_64' - + config = None tagCache = {} - + def get_config(): global config if config: return config - + config = ConfigParser.SafeConfigParser() config.read(CONFIG_FILE) - + if not config.has_section('rockymsg'): config.add_section('rockymsg') if not config.has_option('rockymsg', 'host'): @@ -61,33 +61,33 @@ def get_config(): config.set('rockymsg' 'tls_version', '2') if not config.has_option('rockymsg', 'exclude_tags'): config.set('rockymsg', 'exclude_tags', '') - + return config - + def mqtt_on_publish(client,userdata,result): - pass + pass def _dispatch_on_topic(payload): logger = logging.getLogger(PLUGIN_NAME) - + config = get_config() if not config: raise PluginError('Unable to use the bus, config not found') - + if not payload['tag']: logger.info('No tag specified') return None - + exclude_tags = config.get('rockymsg', 'exclude_tags') if exclude_tags: exclude_tags = [x.strip() for x in exclude_tags.split(',')] else: exclude_tags = [] - + if payload['tag'] in exclude_tags: logger.info('Tag %s excluded' % payload['tag']) return None - + mqtt_host = config.get('rockymsg', 'host') mqtt_port = config.get('rockymsg', 'port') mqtt_topic = config.get('rockymsg', 'topic') @@ -96,30 +96,30 @@ def _dispatch_on_topic(payload): mqtt_tls_key = config.get('rockymsg', 'tls_key') mqtt_tls_insecure = config.get('rockymsg', 'tls_insecure') mqtt_tls_version = config.get('rockymsg', 'tls_version') - + # Connect to the bus try: client = mqtt.Client() except Exception as e: - logger.error('mqtt client error: %s' % e.message) + logger.error('mqtt client error: %s' % e.message) client.tls_set(ca_certs=mqtt_cacert, certfile=mqtt_tls_cert, keyfile=mqtt_tls_key, tls_version=2) - + client.tls_insecure_set('False') try: client.on_publish = mqtt_on_publish client.connect(mqtt_host,mqtt_port) except Exception as e: logger.error('mqtt connection error: %s' % e.message) - + # Publish payload to the bus # ret = client.publish(mqtt_topic, json.dumps(payload)) - + # Disconnect from the bus client.disconnect() - + return ret - + def _get_build_target(task_id): try: task = kojihub.Task(task_id) @@ -135,27 +135,27 @@ def _get_build_target(task_id): return kojihub.get_build_target(request[2]) except Exception as e: logger.error('Exception: %s', e) - + return None - - + + @callback('postTag', 'postUntag') #@ignore_error def rockymsg(cbtype, *args, **kws): logger = logging.getLogger(PLUGIN_NAME) logger.debug('Called the %s callback, args: %s; kws: %s', cbtype, str(args), str(kws)) - + tag = kws['tag']['name'] build_task_id = kws['build']['task_id'] - + build_target = _get_build_target(build_task_id) logger.debug('Build target: %s', build_target) - + arches = DEFAULT_ARCHES if build_target: build_tag = kojihub.get_tag(build_target['build_tag_name']) arches = build_tag['arches'] - + payload = { 'action': cbtype, 'tag': tag, 'arches': arches } job = _dispatch_on_topic(payload) if job: diff --git a/templates/etc/httpd/conf.d/kojihub.conf.j2 b/templates/etc/httpd/conf.d/kojihub.conf.j2 index d7286de..616aabc 100644 --- a/templates/etc/httpd/conf.d/kojihub.conf.j2 +++ b/templates/etc/httpd/conf.d/kojihub.conf.j2 @@ -48,4 +48,3 @@ Alias /kojifiles "{{ koji_mount }}/" GssapiCredStore keytab:/etc/koji.keytab Require valid-user - diff --git a/templates/etc/httpd/conf.d/kojiweb.conf.j2 b/templates/etc/httpd/conf.d/kojiweb.conf.j2 index c8b06a5..2e79c8f 100644 --- a/templates/etc/httpd/conf.d/kojiweb.conf.j2 +++ b/templates/etc/httpd/conf.d/kojiweb.conf.j2 @@ -5,7 +5,7 @@ Alias /koji "/usr/share/koji-web/scripts/wsgi_publisher.py" RewriteEngine on RewriteCond %{HTTPS} off RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L] -RewriteRule ^/$ /koji [R,L] +RewriteRule ^/$ /koji [R,L] Header always set X-Frame-Options "SAMEORIGIN" Header always set X-Xss-Protection "1; mode=block" @@ -69,4 +69,3 @@ Alias /repos {{ koji_mount }}/repos Require all granted - diff --git a/vars/main.yml b/vars/main.yml index 0d75ed2..308637b 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -1,3 +1,3 @@ --- # vars file - Nothing should really go here but dynamic imports -# and truely static items \ No newline at end of file +# and truely static items