From ac56aa62ea5c8976cae31d09518b71e85bd9cbae Mon Sep 17 00:00:00 2001 From: Branson Stephens <branson.stephens@ligo.org> Date: Wed, 9 Nov 2016 12:34:29 -0600 Subject: [PATCH] adding old migrations which haven't been included --- ligoauth/migrations/0004_add_grdinj.py | 67 ++++++++++++++++++ ligoauth/migrations/0005_add_robot_grdinj.py | 69 ++++++++++++++++++ .../migrations/0006_readd_gstlalcbc_test.py | 69 ++++++++++++++++++ .../migrations/0007_add_pycbclive_robot.py | 70 +++++++++++++++++++ ligoauth/migrations/0008_add_exttrig.py | 68 ++++++++++++++++++ .../0009_add_pankow_robot_and_cert.py | 57 +++++++++++++++ 6 files changed, 400 insertions(+) create mode 100644 ligoauth/migrations/0004_add_grdinj.py create mode 100644 ligoauth/migrations/0005_add_robot_grdinj.py create mode 100644 ligoauth/migrations/0006_readd_gstlalcbc_test.py create mode 100644 ligoauth/migrations/0007_add_pycbclive_robot.py create mode 100644 ligoauth/migrations/0008_add_exttrig.py create mode 100644 ligoauth/migrations/0009_add_pankow_robot_and_cert.py diff --git a/ligoauth/migrations/0004_add_grdinj.py b/ligoauth/migrations/0004_add_grdinj.py new file mode 100644 index 000000000..f3cc60320 --- /dev/null +++ b/ligoauth/migrations/0004_add_grdinj.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models +from django.conf import settings + +ROBOTS = [ + { + 'username' : 'GRDINJ', + 'first_name' : '', + 'last_name' : 'GRDINJ', # Note that the last_name acts as a display + 'email' : 'cmbiwer@syr.edu', + 'dns' : [ + "/DC=org/DC=ligo/O=LIGO/OU=Services/CN=GRD_INJ/h1guardian0.cds.ligo-wa.caltech.edu", + ] + }, +] + +def create_robots(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) + + for entry in ROBOTS: + user, created = LocalUser.objects.get_or_create(username=entry['username']) + if created: + user.first_name = entry['first_name'] + user.last_name = entry['last_name'] + user.email = entry['email'] + user.is_active = True + user.is_staff = False + user.is_superuser = False + user.save() + + # Create the cert objects and link them to our user. + for dn in entry['dns']: + cert, created = X509Cert.objects.get_or_create(subject=dn) + if created: + cert.save() + cert.users.add(user) + + # Add our user to the LVC group. This permission is required to + # do most things, but may *NOT* always be appropriate. It may + # also be necessary to give the robotic user permission to populate + # a particular pipeline. + lvc_group.user_set.add(user) + +def delete_robots(apps, schema_editor): + LocalUser = apps.get_model('ligoauth', 'LocalUser') + X509Cert = apps.get_model('ligoauth', 'X509Cert') + + for entry in ROBOTS: + for dn in entry['dns']: + X509Cert.objects.get(subject=dn).delete() + LocalUser.objects.get(username=entry['username']).delete() + + +class Migration(migrations.Migration): + + dependencies = [ + ('ligoauth', '0003_auto_20150819_1201'), + ] + + operations = [ + migrations.RunPython(create_robots) + ] diff --git a/ligoauth/migrations/0005_add_robot_grdinj.py b/ligoauth/migrations/0005_add_robot_grdinj.py new file mode 100644 index 000000000..6e4b4af43 --- /dev/null +++ b/ligoauth/migrations/0005_add_robot_grdinj.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models +from django.conf import settings + +ROBOTS = [ + { + 'username' : 'GRD_INJ', + 'first_name' : '', + 'last_name' : 'GRD Injection', # Note that the last_name acts as a display + 'email' : 'cmbiwer@syr.edu', + 'dns' : [ + "/DC=org/DC=ligo/O=LIGO/OU=Services/CN=GRD_INJ/h1guardian0.cds.ligo-wa.caltech.edu", + ] + }, +] + +def create_robots(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) + + for entry in ROBOTS: + user, created = LocalUser.objects.get_or_create(username=entry['username']) + if created: + user.first_name = entry['first_name'] + user.last_name = entry['last_name'] + user.email = entry['email'] + user.is_active = True + user.is_staff = False + user.is_superuser = False + user.save() + + # Create the cert objects and link them to our user. + for dn in entry['dns']: + cert, created = X509Cert.objects.get_or_create(subject=dn) + if created: + cert.save() + cert.users.add(user) + + # Add our user to the LVC group. This permission is required to + # do most things, but may *NOT* always be appropriate. It may + # also be necessary to give the robotic user permission to populate + # a particular pipeline. + lvc_group.user_set.add(user) + print "Added User GRD_INJ" + +def delete_robots(apps, schema_editor): + LocalUser = apps.get_model('ligoauth', 'LocalUser') + X509Cert = apps.get_model('ligoauth', 'X509Cert') + + for entry in ROBOTS: + for dn in entry['dns']: + X509Cert.objects.get(subject=dn).delete() + LocalUser.objects.get(username=entry['username']).delete() + + + +class Migration(migrations.Migration): + + dependencies = [ + ('ligoauth', '0004_add_grdinj'), + ] + + operations = [ + migrations.RunPython(create_robots) + ] diff --git a/ligoauth/migrations/0006_readd_gstlalcbc_test.py b/ligoauth/migrations/0006_readd_gstlalcbc_test.py new file mode 100644 index 000000000..6e36f12d7 --- /dev/null +++ b/ligoauth/migrations/0006_readd_gstlalcbc_test.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models +from django.conf import settings + + +ROBOTS = [ + { + 'username' : 'gstlalcbc', + 'first_name' : '', + 'last_name' : 'gstlalcbc', # Note that the last_name acts as a display + 'email' : 'crh184@psu.edu', + 'dns' : [ + "/DC=org/DC=ligo/O=LIGO/OU=Services/CN=gstlalcbc/cbc.ligo.caltech.edu", + ] + }, +] + +def create_robots(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) + + for entry in ROBOTS: + user, created = LocalUser.objects.get_or_create(username=entry['username']) + if created: + user.first_name = entry['first_name'] + user.last_name = entry['last_name'] + user.email = entry['email'] + user.is_active = True + user.is_staff = False + user.is_superuser = False + user.save() + + # Create the cert objects and link them to our user. + for dn in entry['dns']: + cert, created = X509Cert.objects.get_or_create(subject=dn) + if created: + cert.save() + cert.users.add(user) + + # Add our user to the LVC group. This permission is required to + # do most things, but may *NOT* always be appropriate. It may + # also be necessary to give the robotic user permission to populate + # a particular pipeline. + lvc_group.user_set.add(user) + print "Added User gstlalcbc!" + +def delete_robots(apps, schema_editor): + LocalUser = apps.get_model('ligoauth', 'LocalUser') + X509Cert = apps.get_model('ligoauth', 'X509Cert') + + for entry in ROBOTS: + for dn in entry['dns']: + X509Cert.objects.get(subject=dn).delete() + LocalUser.objects.get(username=entry['username']).delete() + +class Migration(migrations.Migration): + + dependencies = [ + ('ligoauth', '0005_add_robot_grdinj'), + ] + + + operations = [ + migrations.RunPython(create_robots) + ] diff --git a/ligoauth/migrations/0007_add_pycbclive_robot.py b/ligoauth/migrations/0007_add_pycbclive_robot.py new file mode 100644 index 000000000..91389fd9f --- /dev/null +++ b/ligoauth/migrations/0007_add_pycbclive_robot.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models +from django.conf import settings + +ROBOTS = [ + { + 'username' : 'pycbclive', + 'first_name' : '', + 'last_name' : 'PyCBC Live', # Note that the last_name acts as a display + 'email' : 'alex.nitz@aei.mpg.de', + 'dns' : [ + "/DC=org/DC=ligo/O=LIGO/OU=Services/CN=pycbclive/pycbclive.atlas.aei.uni-hannover.de", + ] + }, +] + + +def create_robots(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) + + for entry in ROBOTS: + user, created = LocalUser.objects.get_or_create(username=entry['username']) + if created: + user.first_name = entry['first_name'] + user.last_name = entry['last_name'] + user.email = entry['email'] + user.is_active = True + user.is_staff = False + user.is_superuser = False + user.save() + + # Create the cert objects and link them to our user. + for dn in entry['dns']: + cert, created = X509Cert.objects.get_or_create(subject=dn) + if created: + cert.save() + cert.users.add(user) + + # Add our user to the LVC group. This permission is required to + # do most things, but may *NOT* always be appropriate. It may + # also be necessary to give the robotic user permission to populate + # a particular pipeline. + lvc_group.user_set.add(user) + + +def delete_robots(apps, schema_editor): + LocalUser = apps.get_model('ligoauth', 'LocalUser') + X509Cert = apps.get_model('ligoauth', 'X509Cert') + + for entry in ROBOTS: + for dn in entry['dns']: + X509Cert.objects.get(subject=dn).delete() + LocalUser.objects.get(username=entry['username']).delete() + + + +class Migration(migrations.Migration): + + dependencies = [ + ('ligoauth', '0006_readd_gstlalcbc_test'), + ] + + operations = [ + migrations.RunPython(create_robots), + ] diff --git a/ligoauth/migrations/0008_add_exttrig.py b/ligoauth/migrations/0008_add_exttrig.py new file mode 100644 index 000000000..f225d5744 --- /dev/null +++ b/ligoauth/migrations/0008_add_exttrig.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models +from django.conf import settings + +ROBOTS = [ + { + 'username' : 'exttrig', + 'first_name' : '', + 'last_name' : 'exttrig', # Note that the last_name acts as a display + 'email' : 'kthorne@ligo-la.caltech.edu', + 'dns' : [ + "/DC=org/DC=ligo/O=LIGO/OU=Services/CN=exttrig/cds-output.ligo-la.caltech.edu", + ] + }, +] + + +def create_robots(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) + + for entry in ROBOTS: + user, created = LocalUser.objects.get_or_create(username=entry['username']) + if created: + user.first_name = entry['first_name'] + user.last_name = entry['last_name'] + user.email = entry['email'] + user.is_active = True + user.is_staff = False + user.is_superuser = False + user.save() + + # Create the cert objects and link them to our user. + for dn in entry['dns']: + cert, created = X509Cert.objects.get_or_create(subject=dn) + if created: + cert.save() + cert.users.add(user) + + # Add our user to the LVC group. This permission is required to + # do most things, but may *NOT* always be appropriate. It may + # also be necessary to give the robotic user permission to populate + # a particular pipeline. + lvc_group.user_set.add(user) + + +def delete_robots(apps, schema_editor): + LocalUser = apps.get_model('ligoauth', 'LocalUser') + X509Cert = apps.get_model('ligoauth', 'X509Cert') + + for entry in ROBOTS: + for dn in entry['dns']: + X509Cert.objects.get(subject=dn).delete() + LocalUser.objects.get(username=entry['username']).delete() + +class Migration(migrations.Migration): + + dependencies = [ + ('ligoauth', '0007_add_pycbclive_robot'), + ] + + operations = [ + migrations.RunPython(create_robots), + ] diff --git a/ligoauth/migrations/0009_add_pankow_robot_and_cert.py b/ligoauth/migrations/0009_add_pankow_robot_and_cert.py new file mode 100644 index 000000000..89cb35435 --- /dev/null +++ b/ligoauth/migrations/0009_add_pankow_robot_and_cert.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +# Default imports +from __future__ import unicode_literals +from django.db import migrations, models +from django.conf import settings + +ROBOT = {'username': 'pankow', + 'first_name': '', + 'last_name': 'Pankow Robot', + 'email': 'pankow@gravity.phys.uwm.edu', + 'is_active': True, + 'is_staff': False, + 'is_superuser': False +} +CERT_SUBJ = '/DC=org/DC=ligo/O=LIGO/OU=Services/CN=pankow/pcdev2.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. + 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', '0008_add_exttrig'), + ] + + operations = [ + migrations.RunPython(create_robot, delete_robot) + ] -- GitLab