diff --git a/ligoauth/migrations/0010_add_nagios_gracedb_robot_and_cert.py b/ligoauth/migrations/0010_add_nagios_gracedb_robot_and_cert.py new file mode 100644 index 0000000000000000000000000000000000000000..7f0873bcfb223b04db57d8faab956e87a67e2d4a --- /dev/null +++ b/ligoauth/migrations/0010_add_nagios_gracedb_robot_and_cert.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +# Default imports +from __future__ import unicode_literals +from django.db import migrations, models +from django.conf import settings + +ROBOT = {'username': 'nagios', + 'first_name': '', + 'last_name': 'Nagios Monitor', + 'email': 'admins@phys.uwm.edu', + 'is_active': True, + 'is_staff': False, + 'is_superuser': False +} +# Certificate for nagios user on gracedb. +CERT_SUBJ = '/DC=org/DC=ligo/O=LIGO/OU=Services/CN=nagios/gracedb.cgca.uwm.edu' + +def create_robot(apps, schema_editor): + LocalUser = apps.get_model('ligoauth','LocalUser') + X509Cert = apps.get_model('ligoauth','X509Cert') + Group = apps.get_model('auth','Group') + lvc_group = Group.objects.get(name=settings.LVC_GROUP) + + # get or create user + user, created = LocalUser.objects.get_or_create(username=ROBOT['username']) + if created: + for key in ROBOT.keys(): + setattr(user, key, ROBOT[key]) + user.save() + + # Add user to LVC group. + if not lvc_group in user.groups.all(): + lvc_group.user_set.add(user) + lvc_group.save() + + # get or create certificate, add user + cert, c_created = X509Cert.objects.get_or_create(subject=CERT_SUBJ) + cert.users.add(user) + cert.save() + +def delete_robot(apps, schema_editor): + LocalUser = apps.get_model('ligoauth','LocalUser') + X509Cert = apps.get_model('ligoauth','X509Cert') + + # Delete user. + LocalUser.objects.get(username=ROBOT['username']).delete() + + # Delete cert. + X509Cert.objects.get(subject=CERT_SUBJ).delete() + +class Migration(migrations.Migration): + + dependencies = [ + ('ligoauth', '0009_add_pankow_robot_and_cert'), + ] + + operations = [ + migrations.RunPython(create_robot, delete_robot) + ] + +# End of file diff --git a/ligoauth/migrations/0011_add_O2_hwinj_logger_account.py b/ligoauth/migrations/0011_add_O2_hwinj_logger_account.py new file mode 100644 index 0000000000000000000000000000000000000000..479eb869db0275cf7a310e0fe5542d155dbde285 --- /dev/null +++ b/ligoauth/migrations/0011_add_O2_hwinj_logger_account.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +# Default imports +from __future__ import unicode_literals +from django.db import migrations, models +from django.conf import settings + +ROBOT = {'username': 'hinj', + 'first_name': '', + 'last_name': 'HWINJ Monitor', + 'email': 'mhulko@caltech.edu', + 'is_active': True, + 'is_staff': False, + 'is_superuser': False +} +# Certificate for nagios user on gracedb. +CERT_SUBJ = '/DC=org/DC=ligo/O=LIGO/OU=Services/CN=hinj/ldas-grid.ligo.caltech.edu' + +def create_robot(apps, schema_editor): + LocalUser = apps.get_model('ligoauth','LocalUser') + X509Cert = apps.get_model('ligoauth','X509Cert') + Group = apps.get_model('auth','Group') + lvc_group = Group.objects.get(name=settings.LVC_GROUP) + + # get or create user + user, created = LocalUser.objects.get_or_create(username=ROBOT['username']) + if created: + for key in ROBOT.keys(): + setattr(user, key, ROBOT[key]) + user.save() + + # Add user to LVC group. + if not lvc_group in user.groups.all(): + lvc_group.user_set.add(user) + lvc_group.save() + + # get or create certificate, add user + cert, c_created = X509Cert.objects.get_or_create(subject=CERT_SUBJ) + cert.users.add(user) + cert.save() + +def delete_robot(apps, schema_editor): + LocalUser = apps.get_model('ligoauth','LocalUser') + X509Cert = apps.get_model('ligoauth','X509Cert') + + # Delete user. + LocalUser.objects.get(username=ROBOT['username']).delete() + + # Delete cert. + X509Cert.objects.get(subject=CERT_SUBJ).delete() + +class Migration(migrations.Migration): + + dependencies = [ + ('ligoauth', '0010_add_nagios_gracedb_robot_and_cert'), + ] + + operations = [ + migrations.RunPython(create_robot, delete_robot) + ] + +# End of file