How do I submit a Managed Fusion promotion request from Staging to Production?
Managed Fusion Production environments, post go-live.
Prior to submitting the promotion request, the following steps should be followed:
- Implement and test changes in your Development environment
- Promote the tested changes to your Staging environment
- Confirm the tested changes in your Staging environment are stable and complete, and ready for promotion to Production
Promotion request steps:
Submit a ticket to Support by following these steps:
Note: Promotion requests are typically fulfilled within 3 business days, assuming all of the required information (see below) has been included in the ticket description.
Note: Everything in Staging will be promoted to Production at the time of request unless specifically indicated as a partial promotion in the ticket description.
- Once the pre-promotion steps have been completed, visit the Support Portal and click Sign in in the upper-right corner
- Once signed in, click Submit a request:
- Select the Managed Services Promotion Request form from the list, and fill out the subject and description fields per the template below:
Ticket Subject: Promotion Request - [High level summary]
Example: Promotion Request - Add new datasource
- Ticket Template:
- Nature of the change completed in lower environments:
- If multiple apps, which app(s) does the change apply to?:
- What part of the system is impacted?: (i.e. specific datasources/index vs query pipeline, files, rules, or profiles)
- Has this been tested in all lower environments?
- How was the new feature tested and validated? (e.g. set of queries this change was tested with, or set of fields that populated as expected)
- Is the Staging/Pre-prod environment in sync with Production for the area of the system being changed?
- Is this a partial promotion? (e.g. making a change just to a stage rather than entire pipeline)
- How should Lucidworks Managed Services validate the change after promotion? (e.g. set of queries this change was tested with, or set of fields that populated as expected)
- Does this change impact performance? Was any load testing done? (e.g. substantial increase in the index with adding a new collection or introducing wildcards)
Promotion fulfillment steps:
Managed Services promotes outlined changes from Staging to Production.
- The standard SLA for promotion requests is 3 business days. Platinum Support clients may have a different SLA and can check in with their Client Success Manager regarding this SLA.
- Managed Services notifies client that changes are live in Production.
- Client confirms and Managed Services closes ticket.
- A request to clear collection without an outage may require scheduling the delete for off-hours or weekends depending on how long it would take to repopulate the collection.
- If there is a special request to do a promotion request during “off-hours”, please specify what the window of time is considered to be “off-hours”.
- If the environments (Staging and Production) are out of sync, Managed Services will typically need confirmation for the promotion. This promotion may be delayed so that Managed Services can verify that the proper components are being promoted.
- If the request is a large promotion with multiple changes to multiple pipelines, datasources, and collections, or part of a new feature implementation, Managed Services will reach out and alert that the promotion may be delayed because it may require more time to review the changes before merging.
- If the request includes a schema field type change, this needs to be specifically called out. See special notes section below.
- If Managed services identifies code that may cause risk to the environment, we may choose to delay the promotion to discuss such risk.
- If Managed Services finds components that are not identified in the promotion request, Managed Services will need confirmation for how to proceed with the promotion. The promotion may be delayed in order to work through the concerns.
- Certain requests may not fit into the criteria for promotions and may require a formal handoff to Support and Managed Services:
- Full App promotions - These may impact performance of the current environment and need to be reviewed by Cloud Operations.
- Promotion of multiple collections and/or pipelines - Better described as a partial app promotion.
- Large code promotions - Possibly part of a Phase 2 implementation or include multiple pipelines that considerably alter the current functionality.
- On rare occasions, the promotion may cause issues in the environment that will need troubleshooting and time to resolve.
Special implementation notes
In general, with any schema changes, the safe recommendation is to clear and reindex the complete collection but here are some guidelines for changing existing field definitions in production as this can lead to schema incompatibility in cases where the index is not properly cleared.
- Adding or deleting a field
This is fairly simple, and MS can promote the change after confirming that the client has tested it in lower environments. Note that it is recommended that clients reindex the data fully since old documents will not have the new field, which may cause unexpected results.
Addition of documents with the new field without full reindexing typically should not produce any solr error.
- Changing a field or fieldtype
Recommended approaches to changing a field would be:
Approach 1: This can be adopted by clients who are using collections in their applications without aliases
- Add a new field in schema with required changes and retire the old field after verification that the new field is indexing the field value as expected
- Reindex all documents for this datasource
Approach 2: This can be adopted by clients using collection aliasing in their applications
- Create a new collection with the updated schema.
- Fully Index all data to the new collection.
- Point collection alias to new collection once it has been verified that the new collection is populated with the expected data.
Approach 3: If the two previous approaches are not available
This approach also requires to fully reindex the data to ensure no traces of fields with old definition exist in the index. To ensure proper reindexing of documents, we recommend the following steps:
Clear the collection by deleting all documents.
Perform a hard commit
Apply updated schema with schema changes and reload schema
Index few sample documents and ensure that the new fields are properly indexed in solr.