Post-upgrade to 10.2409.0
After updating the service image to 10.2409.0, complete the migration steps to fully utilize certain enhancements.
Procedure
- Migrations steps for reservation feature enhancement The 10.2409.0 release introduces performance enhancements to the reservation feature. To fully utilize this feature, migrate the existing reservation records from the
inv_reserv_summarytable to theinv_reserv_summary_v2table. If no prior records exist, migration is not needed.- Note down the time when the deployment is complete.
- If you wait for the expiration of existing reservation records that are created before the upgrade, then do not call the migration API. For example, if the expiration timestamp of the existing records is within the next 24 hours, then waiting for 24 hours ensures that all these records expire automatically and no data needs to be migrated into the new table. After waiting for the existing records to expire, skip step 3.
- If the existing records that are created before the upgrade have a longer expiration
duration, waiting for them to expire may not be feasible. In such cases, call the migration API to
migrate records to the new table. You can still wait for 24 hours to let most of the records to
expire so that fewer records need migration.
- Call the migration API after 24 hours of the deployment to migrate records that are created
before the upgrade, based on the database write timestamp. Set the value of
modifiedBeforeto the deployment completion timestamp that is noted in step 1, as shown in the following example.
This API initiates a migration job and returns a job ID for tracking purposes. For more information, see the API documentation.POST : https://<sip-domain>/inventory/v1/migration/reserv_summary { "tenantId": "string", "filters": { "modifiedBefore" : "<ReleaseDeploymentTS>" }, "pageSize": 5000 } - To check the status of the migration, call the following API by using the job ID that is
obtained from the step 3a. When the job status is
complete, go to step 4.
For more information, see the API documentation.GET : https://<sip-domain>/inventory/v1/migration/reserv_summary/<Job_id>
- Call the migration API after 24 hours of the deployment to migrate records that are created
before the upgrade, based on the database write timestamp. Set the value of
- Update all the Inventory Visibility deployments with
RESERVE_SUMMARY_MIGRATION_COMPLETED environment variable to true.
- Define the environment variable in SIPEnvironment.
spec: serverProperties: envVars: - groupName: reservation propertyList: RESERVE_SUMMARY_MIGRATION_COMPLETED: 'true' - Apply the group name that is defined in step 4a in IVServiceGroup.
For more information, see serverProperties parameter.spec: property: envVars: reservation
- Define the environment variable in SIPEnvironment.
- Update the base rule to
ONLY_WRITE_NEWto disable writing to theinv_reserv_summarytable by calling the PATCH operations API. To validate the updated value you can then call the GET operations API.PATCH https://<sip-domain>/inventory/operations/v1/configuration/settings/default { "migration": { "reserveSummaryMigrationMode": "ONLY_WRITE_NEW", } }
- Delete the publisher for the productAvailability.v2 and productAvailabilitySnapshot.v2
events
- Get the publisher ID for the productAvailability.v2 event.
GET : https://<sip-domain>/{tenantId}/v1/configuration/events/productAvailability.v2/publishers - Call the delete API to delete the publisher for the event. Fetch the publisher ID
obtained from the step 1.
DELETE : https:///<sip-domain>/inventory/default/v1/configuration/events/productAvailability.v2/publishers/<publishers_id> - Repeat steps 1 and 2 for the productAvailabilitySnapshot.v2 event.
- After deleting the publishers, ensure that no subscribers for these two events are
available. For more information, see the API documentation.
- Get the publisher ID for the productAvailability.v2 event.
- Delete the
topic.{topicPrefix}-{environment}-prm-iv-breakup-sink-stream - Steps to help ensure effective synchronization of rules between Inventory Visibility and
the Rules services. The following steps applies only when Sterling Intelligent
Promising is
deployed in production or flexible modes. Hence, no action is required for development mode.
- Add the
RULES_TRIGGER_TOPICenvironment variable inserverPropertiesin the SIPEnvironment custom resource. The value for this environment variable is read from the existing configMap. Hence, use the same configMap value that is used in the existing configMap as shown in the following example.serverProperties: envVars: - groupName: ruletriggertopic propertyRef: - name: RULES_TRIGGER_TOPIC valueFrom: configMapKeyRef: key: rules-trigger-topic name: iv-kafka-configs - Save the changes that you configured in step 1.
- Set the
ruletriggertopicgroupNameunderpropertyin IVServiceGroup and then save the custom resource. This step helps ensure the RulesTriggerConsumer backend server uses theRULES_TRIGGER_TOPICenvironment variable.- active: true names: - 'RulesTriggerConsumer:5' property: envVars: ruletriggertopicThe RulesTriggerConsumer pod now restarts. - Verify that no errors exist in the RulesTriggerConsumer pod to proceed further.
- Add the