# SIQ Execution Check List :spiral_note_pad:
## :memo: Where do I start?
### :checkered_flag: CheckPoint 1 - General Guidelines:rocket:
- [ ] Make sure change number is replaced with EPIC Number
- [ ] Make sure all occurrences of **Environment Reference:** are marked as PROD/Non-Prod as per PROD/QA SIQ Doc
- [ ] When migrating to QA make sure that SIQ states **<feature_branch> to develop** branch in migration steps
- [ ] When migrating to PROD make sure that SIQ states **develop to <release_YYYYMMDD>** branch in migration steps
- [ ] When migrating from QA to Prod make sure to mention correct date in release branch on the SIQ document. The migration takes place every **Wednesday**. Therefore, the release branch is created with following naming convention **release_YYYYMMDD** e.g. **release_20211123**.
***Note:-*** *Here date is the date of a Wednesday falling in the prod migration week*.
- [ ] Check system cofiguration variables for system name, repo name, build pipeline path, release pipeline path and deploy branch name
- [ ] Make sure to mention the service account in use and specific Ops team service account eg for Syndicated Projects we use **svc-cdls-p-patserv** as dev and **svc-cop-loadprod** for Ops service account similarly for MA-360 we use **svc-cdlma-p-dtag** as dev and **svc-cop-p-prod**
- [ ] Change deplyment group in accordance to the Repository and with respect to QA/PROD migrations e.g. *For Prod Migrations in Syndicated we write it as **CDL-SYNDICATED-PROD***
- [ ] Make sure all build and release pipelines are named as per standards:
```csv=
For Build Pipelines:
cdl-<repo-name>-build-<project_name>-<folder_name>
E.g.:-
cdl-syndicated-build-resolving-multiple-patient-id-sha-spsn-configuration
For Release Pipelines:
cdl-<repo-name>-release-<project_name>-<folder_name>
E.g.:-
cdl-syndicated-build-resolving-multiple-patient-id-sha-spsn-configuration
```
### :checkered_flag: CheckPoint 2: Build Pipelines
- [ ] Add build pipelines path from Azure devops till Yaml file. Make sure your PR is merged to avoid comments from Ops/Admin teams regarding unavailability of files in DevOps e.g. [Link](https://dev.azure.com/abbvie-devops-lab/Abbvie%20BTS/_apps/hub/ms.vss-build-web.ci-designer-hub?pipelineId=949&branch=develop)
- [ ] Only add pipelines path for folders that require migration
### :checkered_flag: CheckPoint 3: Release Pipelines
- [ ] Add release pipeline paths for all folders under migration. Make sure all paths end on the config page where all the path details are present, Refer: [Link](https://dev.azure.com/abbvie-devops-lab/Abbvie%20BTS/_releaseDefinition?definitionId=1369&_a=definition-tasks&environmentId=6026)
- [ ] Make sure All backup and rollback folders are dated as per release dates of the migration and are in **YYYYMMDD** format e.g. backup/rollback folder name: hive_20220216
- [ ] Make sure to provide rollback stages path in the rollback execution steps w.r.t rollback stage folders.
### :checkered_flag: CheckPoint 4: Steps To check when creating New DBs
- [ ] Create DB's for all raw,refined, work and consumption layers in all DEV, QA and PROD environments
- [ ] Make sure to include DB storage quota details when requesting DB creation in both CAB meetings and DB creation script
- [ ] Add grant all on uri command for all required groups
- [ ] Sample DB creation Shell script [Link](https://dev.azure.com/abbvie-devops-lab/Abbvie%20BTS/_git/CommercialDatalake-market-access?path=/src/arf/shell/prod/arf_prod_evoucher_db_creation_script.sh)
- [ ] Sample DB creation Hive Script [Link](https://dev.azure.com/abbvie-devops-lab/Abbvie%20BTS/_git/CommercialDatalake-market-access?path=/src/arf/hive/prod/arf_prod_accumulator_maximiser_db_creation_script.hql)
- [ ] Mention DB Creation scripts after release pipelines steps with execution command
- [ ] Mention in steps to execute Shell script e.g.:
```shell=
Execute below shell script for DB path creation
sh -v /code_repository/prod/comm/market-access/src/arf/shell/arf_prod_evoucher_db_creation_script.sh
```
- [ ] Mention in steps to execute Hive script e.g.:
```shell=
Execute below hive script for DB creation
hive -f /code_repository/prod/comm/market-access/src/arf/hive/arf_prod_evoucher_db_creation_script.hql
```
- [ ] On the newly created DB make sure to raise **rwx** accesses for OPS and Team service account
### :checkered_flag: Checkpoint 5: Steps To check when using Existing DBs
- [ ] If No New DB is created make sure to raise DB specific access as needed
- [ ] Make sure to raise requests for both Team and Ops service accounts
### :checkered_flag: Checkpoint 6: Steps To check when performing Ingestion
- [x] Raise **recursive** RX access to Ingestion framework folders i.e. **"/code_repository/prod/comm/framework/src/"**
- [x] Raise **landing path creation** request if not already present
- [ ] Make sure to **raise recursive RWX access** request steps for all DBs for both team and Ops service account
- [x] Make sure to **raise RWX access to audit db** if not already present
- [x] Create Config HDFS Paths as central location paths as part of configurations e.g. **/ConfigRepository/prod/comm/syndicated/src/caremark/adherence**
- [x] Raise recursive access on above mentioned paths for both Ops and team service account
- [x] Add **execution path creation step** and raise recursive RWX on the same for both team and Ops service account
- [x] Make sure team/Ops service account have **required access on JCEKS** file if not add the steps to raise the same
- [ ] Make sure the JCEKS being used has sufficent access to S3 buckets being used in the Ingestion framework
- [ ] Make sure team/Ops service account have required access on S3 if not add the steps to raise the same
### :checkered_flag: Checkpoint 7: Final Checks
- [x] Make sure to add **autosys logs and error path creation steps** in Prod SIQ
- [ ] Add **Alation portal DB Refresh** details if applicable
### :gift: SIQ Samples:
Folder Link: [Link to Documents](https://zsassociates.sharepoint.com/:f:/r/Sites/0153IL4484/Shared%20Documents/4.%20MA360%20(including%20Augmentation)/00_MA360_onboarding/SIQs?csf=1&web=1&e=Fffc8Y)
DOC 1: SIQ with DB Creation script execution
DOC 2: SIQ with Ingestion related Steps