Digital Thread Project Deletion

Overview

A Syndeia Digital Thread Project cannot be deleted using the Syndeia client if it has any children (Relations, Queries & Collections, Baselines, and Permissions). In order to delete a Digital Thread Project and all its children recursively, the Digital Thread Project delete command can be used. This action will trigger a cascading delete starting from the Digital Thread Project whose Syndeia key is provided in the command parameters. It will remove all the below “owned” by that Digital Thread Project:

  • Relations,

  • Queries,

  • Collections,

  • Baselines, &

  • Privileges

This action is irreversible.

Prerequisites

  1. The user performing the deletion must be super.user and

  2. The user must have the following privileges on the project below:

    • Digital Thread Project Privileges

      1. READ

      2. RELATION_WRITE

      3. BASELINE_WRITE

      4. QUERY_WRITE

      5. PRIVILEGE_MANAGE

  3. If you have enabled HTTPS only, please ensure you have updated the web-gateway URL in the lagom.services section of the devops' conf/application.conf file beforehand (see Securing Syndeia Cloud for more details)

Deleting Digital Thread Project

The delete digital thread (cascade) can only be run from the Syndeia installation server.

  1. Login to the server where Syndeia Cloud is installed.

  2. Navigate to the folder $SC_HOME/devops-3.6/bin (eg. /opt/icx/syndeia-cloud-current/devops-3.6/bin)

  3. Run the command to start the cascading delete of the repository.

    ./devops -Dsyndeia.client.action=delete-dtp -Dsyndeia.delete.dtpKey=<digitalthread_project_sKey> -Dsyndeia.client.username=<username> -Dsyndeia.client.password=<password> -Dconfig.file=/opt/icx/syndeia-cloud-current/devops-$SC_snapshot_version/conf/application.conf

    … where,

    • digitalthread_sKey: the Syndeia key (sKey) of the Digital Thread that you want to delete (eg. DT1, DT2, DT3, etc.)

    • username: Username of the user with appropriate privileges

    • password: Password for the username provided.

The digital thread key of any project can be retrieved from the Digital Thread Explorer or using the Syndeia Cloud REST APIs

  1. Once the command is run, the Syndeia DevOps client will systematically start deleting the contents of the given Digital Thread Project:

$./devops -Dsyndeia.client.action=delete-dtp -Dsyndeia.delete.dtpKey=S2404A -Dsyndeia.client.username=super.user -Dsyndeia.client.password=mySCpw123 -Dconfig.file=/opt/icx/syndeia-cloud-current/devops-3.6/conf/application.conf 20:31:06.703 [info] com.intercax.syndeia.cli.core.DevopsConfig [] - root dir arg: None 20:31:06.714 [info] com.intercax.syndeia.cli.core.DevopsConfig [] - root dir config: Map() 20:31:06.910 [info] com.intercax.syndeia.cli.SyndeiaCli [] - Lagom Syndeia client 20:31:06.911 [info] com.intercax.syndeia.cli.SyndeiaCli [] - Action: delete-dtp 20:31:06.912 [info] com.intercax.syndeia.cli.SyndeiaCli [] - User: super.user 20:31:06.912 [info] com.intercax.syndeia.cli.SyndeiaCli [] - Mode: Prod 20:31:06.914 [info] com.intercax.syndeia.action.ClientAction [] - devops properties in clientAction: S2404A 20:31:07.287 [info] akka.event.slf4j.Slf4jLogger [] - Slf4jLogger started 20:31:07.789 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Creating StandaloneLagomClientFactory. Running mode found in devops config: Prod 20:31:07.789 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Creating StandaloneLagomClientFactory with ConfigurationServiceLocatorComponents. 20:31:07.802 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [web-gateway :: "https://mySCserver.domain.tld:9443"] 20:31:07.802 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [graph :: "http://127.0.0.1:56180"] 20:31:07.802 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [store :: "http://127.0.0.1:56120"] 20:31:07.805 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [doors :: "http://127.0.0.1:56113"] 20:31:07.805 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [jama :: "http://127.0.0.1:56114"] 20:31:07.805 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [kafka_native :: "http://localhost:9092"] 20:31:07.805 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [gitlab :: "http://127.0.0.1:56123"] 20:31:07.805 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [windchill :: "http://127.0.0.1:56170"] 20:31:07.805 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [auth :: "http://127.0.0.1:56110"] 20:31:07.805 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [bitbucket :: "http://127.0.0.1:56124"] 20:31:07.805 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [aras :: "http://127.0.0.1:56111"] 20:31:07.805 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [sysmlv2 :: "http://127.0.0.1:56118"] 20:31:07.805 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [cas_native :: "http://mySCserver.domain.tld:9042"] 20:31:07.805 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration entry: [teamworkcloud :: "http://127.0.0.1:56160"] 20:31:07.805 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Service locator configuration value for web-gateway: https://mySCserver.domain.tld:9443 20:31:07.821 [info] akka.event.slf4j.Slf4jLogger [] - Slf4jLogger started 20:31:09.537 [info] com.intercax.syndeia.api.AuthApi [] - Sign in to Syndeia Cloud for super.user successful. 20:31:09.546 [info] com.intercax.syndeia.delete.DigitalThreadDelete [] - Validating if the user super.user has necessary privileges on digital thread project with key S2404A 20:31:09.584 [info] com.intercax.syndeia.delete.DigitalThreadDelete [] - UserKey for super.user is: U1 20:31:09.587 [info] com.intercax.syndeia.delete.DigitalThreadDelete [] - Global permission/s received for user super.user are: READ,TYPE_DELETE,CONTAINER_CREATE,REPOSITORY_DELETE,USER_CREATE,RESTFUL_WRITE,TYPE_MODIFY,CONTAINER_MODIFY,USER_MODIFY,CONTAINER_DELETE,USER_READ,REPOSITORY_CREATE,USER_REMOVE,ARTIFACT_RELATION_WRITE,GLOBAL_GRAPH_QUERY,REPOSITORY_MODIFY,TYPE_CREATE 20:31:09.622 [info] com.intercax.syndeia.delete.DigitalThreadDelete [] - Digital thread project permission/s received for user super.user are: READ,RELATION_WRITE,BASELINE_WRITE,QUERY_WRITE,PRIVILEGE_MANAGE 20:31:09.623 [info] com.intercax.syndeia.delete.DigitalThreadDelete [] - User super.user has sufficient permissions to perform this action 20:31:10.011 [info] com.intercax.syndeia.delete.DigitalThreadDelete [] - Validating if a digital thread project exists with key as S2404A 20:31:10.038 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Getting page 1 of relations with digital thread key: S2404A 20:31:10.040 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Getting page 1 of baselines with digital thread key: S2404A 20:31:10.041 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Getting page 1 of graph query collections with digital thread key: S2404A 20:31:10.043 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Getting page 1 of user privileges with digital thread key: S2404A 20:31:10.154 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Deleting relations in digital thread project (S2404A)... List(S2404A-R24, S2404A-R25, S2404A-R26, S2404A-R27, S2404A-R28, S2404A-R29, S2404A-R30, S2404A-R31, S2404A-R32, S2404A-R33, S2404A-R34, S2404A-R35, S2404A-R36, S2404A-R37, S2404A-R38, S2404A-R39, S2404A-R40, S2404A-R41, S2404A-R42, S2404A-R43, S2404A-R44, S2404A-R45, S2404A-R46) 20:31:10.155 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Deleting relation with id: S2404A-R24 20:31:10.753 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Relation with id S2404A-R24 deleted successfully. 20:31:10.753 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Deleting relation with id: S2404A-R25 20:31:11.342 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Relation with id S2404A-R25 deleted successfully. 20:31:11.342 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Deleting relation with id: S2404A-R26 20:31:11.930 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Relation with id S2404A-R26 deleted successfully. 20:31:11.930 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Deleting relation with id: S2404A-R27 20:31:12.522 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Relation with id S2404A-R27 deleted successfully. 20:31:12.522 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Deleting relation with id: S2404A-R28 20:31:13.108 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Relation with id S2404A-R28 deleted successfully. 20:31:13.108 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Deleting relation with id: S2404A-R29 [...]

 

  1. On a successful run of the command, the following message will be seen at the end of execution in the console:

    [...] 16:54:42.391 [info] com.intercax.syndeia.api.DigitalThreadApi [] - Deleting digital thread project with key: S2404A 16:54:43.280 [info] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - delete digital thread project action is successful 16:54:43.280 [debug] com.intercax.syndeia.delete.CloudDTPDeleteAction [] - Shutting down SyndeiaCloudDTPDeleteAction client factory. 16:54:43.364 [info] com.intercax.syndeia.cli.SyndeiaCli [] - Action ran successfully (with a return code: 0).