From dd39dd4421285fceaf2eeb967744ba9356bc4ba4 Mon Sep 17 00:00:00 2001 From: Tanner Prestegard <tanner.prestegard@ligo.org> Date: Tue, 14 May 2019 13:45:26 -0500 Subject: [PATCH] Create robot account and cert for gweventlistener --- ...32_create_gweventlistener_acct_and_cert.py | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 gracedb/ligoauth/migrations/0032_create_gweventlistener_acct_and_cert.py diff --git a/gracedb/ligoauth/migrations/0032_create_gweventlistener_acct_and_cert.py b/gracedb/ligoauth/migrations/0032_create_gweventlistener_acct_and_cert.py new file mode 100644 index 000000000..d4a54c91b --- /dev/null +++ b/gracedb/ligoauth/migrations/0032_create_gweventlistener_acct_and_cert.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.20 on 2019-05-14 17:48 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations + +ACCOUNT = { + 'username': 'gweventlistener', + 'email': 'rachel.scrandis@ligo.org', + 'first_name': '', + 'last_name': 'GwEventListener', +} +CERT = '/DC=org/DC=cilogon/C=US/O=LIGO/OU=Robots/CN=ldas-pcdev2.ligo.caltech.edu/CN=gweventlistener/CN=Rachel Scrandis/CN=UID:rachel.scrandis.robot' + + +def create_acct_and_cert(apps, schema_editor): + RobotUser = apps.get_model('ligoauth', 'RobotUser') + Group = apps.get_model('auth', 'Group') + + # Create user + user = RobotUser.objects.create(**ACCOUNT) + + # Add user to LVC group + group = Group.objects.get(name=settings.LVC_GROUP) + group.user_set.add(user) + + # Create new certificate + user.x509cert_set.create(subject=CERT) + + +def delete_acct_and_cert(apps, schema_editor): + RobotUser = apps.get_model('ligoauth', 'RobotUser') + + # Get user + user = RobotUser.objects.get(username=ACCOUNT['username']) + + # Delete new certificate + cert = user.x509cert_set.get(subject=CERT) + cert.delete() + + # Delete full User object + user.user_ptr.delete() + + +class Migration(migrations.Migration): + + dependencies = [ + ('ligoauth', '0031_add_cwb_cert'), + ] + + operations = [ + migrations.RunPython(create_acct_and_cert, delete_acct_and_cert), + ] -- GitLab