Preserving configuration after a clone

If you are using Quality Clouds to scan a sub-production instance, and/or have the Quality Clouds ServiceNow app store application and the Live Check installed on a sub-production instance, cloning down from production into that sub-production instance will typically overwrite all of the configuration changes which are required for Quality Clouds to work.

To summarise, these changes fall into these categories:

  1. Configuration which allows a Quality Clouds scan on the instance (Quality Clouds user, ACLs access)
  2. Quality Clouds scoped application, installed from the store, and its data:

    • Scanned instances
    • Scans for each instance
    • Issues for each scan 
    • Any Agile development plugin defects or incidents created from the Quality Clouds issues
  3. Live Check Update Set - Global Scope

In order to re-enable the full Quality Clouds functionality on the sub-production instance, there are three options:

1. Re-apply all the Quality Clouds configuration from scratch

This is the option which needs to be used if you've done a clone without any specific configuration. It is equivalent to starting from scratch with the Quality Clouds configuration. This requires executing the following steps:

  1. Re-creating the Quality Clouds user and configuration as described here.
  2. Re-installing the Quality Clouds scoped application from the ServiceNow store.
  3. Re-installing the Live Check update set, available here

2. Exclude the whole Quality Clouds data and configuration from the clone

This can be achieved by configuring excluded tables and data preservers in your clone configuration to avoid overwriting the Quality Clouds data and configuration.

The full ServiceNow documentation to configure these settings in your clone process is available here.

In order to fully preserve the Quality Clouds configuration, the below tables would need to be excluded from the clone:

  1. sys_user (Users table)
  2. sys_security_acl (ACLs)
  3. sys_security_acl_role (ACL to Role mapping)
  4. sys_user_role (User Roles)
  5. sys_user_has_roles (User to Role mapping)
  6. sys_app (to preserve the Quality Clouds scoped application)

Once the clone has been executed with this configuration, it is still necessary to re-apply the  Live Check Update Set to re-enable the button on the Global Scope.

3. Exclude only the Quality Clouds application from the clone

This option preserves the Quality Clouds scoped application, in order to avoid having to re-install it from the store. It is equivalent to Option 2, with the difference that only the table sys_app is to be excluded from the clone. 

This option is not suitable if you want to bring other scoped applications down from Production to Pre-production.

Once the clone has been executed with this configuration, it is still necessary to re-apply the  Live Check Update Set to re-enable the button on the Global Scope.

Recommended approach

Even if option 2 is chosen, the Live Check Update set would need to be re-applied, as this affects a relatively large number of tables which is not practical to include in the exclusion list. Furthermore, doing so might prevent some changes in production from being available in the sub-production instance, defeating the purpose of the clone.

Due to this, and the fact that applying the Update sets is not a time consuming process, Option 3 is recommended, unless there are other scoped applications which need to be brought down from Production to Pre-production. If this is the case, Option 1 should be used.

What's here