This page gives an overview of the service, describing its current status, where and how it's developed and deployed, and who is responsible for maintaining it.
Jackdaw provides a database that holds consolidated user administration records for staff and students in the University. Jackdaw get daily feeds from CamSIS, CHRIS, the Card Office and daily feeds out to a variety of services/systems.
Jackdaw is currently live.
Technical queries and support should be directed to firstname.lastname@example.org and will be picked up by a member of the team working on the service. To ensure that you receive a response, always direct requests to email@example.com rather than reaching out to team members directly.
Issues discovered in the service or new feature requests should be opened as GitLab issues here (DevOps and Service Manager only).
Jackdaw is being re-development. During this time, the application has been moved to more stable hardware, and the database has been split away from the application.
The source code for future Jackdaw development is under the https://gitlab.developers.cam.ac.uk/uis/devops/iam/jackdaw-sunset group.
The following gives an overview of the technologies Jackdaw is built on.
|Server||Perl PerlToolKit PLSQL||Apache mod_perl|
Operational and other documentation¶
The following gives and overview of how Jackdaw is deployed and maintained.
How and where Jackdaw is deployed¶
Jackdaw is deployed to a pair of servers and uses Keepalived to manage a VIP:
graph LR A[Client] ---> B[Keepalived<br/>188.8.131.52] subgraph Application B -- "http(s)" --> C["jackdaw-live1<br/>184.108.40.206"] B -- ssh --> C["jackdaw-live1<br/>220.127.116.11"] B -- "http(s)" --> D[jackdaw-live2<br />18.104.22.168] B -- ssh --> D[jackdaw-live2<br />22.214.171.124] end subgraph Database C --> E[(Oracle)] D --> E[(Oracle)] end
Deploying a new release¶
New releases are deployed via
server should be set to maintenance mode then the
run-ansible-playbook.sh should be run limited to
the node in maintenance mode. e.g.
# On jackdaw-live1 touch /maintenance_mode # On client machine eval $(op signin) source ./jackdaw-live-setup ./run-ansible-playbook.sh -i jackdaw-live jackdaw-useradmin-playbook.yml --diff --limit jackdaw-live1 # On jackdaw-live1 rm /maintenance_mode # On jackdaw-live2 touch /maintenance_mode # On client machine ./run-ansible-playbook.sh -i jackdaw-live jackdaw-useradmin-playbook.yml --diff --limit jackdaw-live2 # On jackdaw-live2 rm /maintenance_mode
- Jackdaw on Confluence
- Jackdaw - service definition
- Jackdaw UIS JIRA
- Jackdaw HPC JIRA
- UIS help site documentation
- Web service API
Service Management and tech lead¶
The service owner for Jackdaw is Vijay Samtani
The service manager for Jackdaw is Dr Ujjwal Das
The following DevOps engineers have access to the Jackdaw service: