How to upgrade an Enterprise Managed Cloud service - c06429685
Pre- reqs :
-
Are there any custom drivers in use?
Make sure you have a copy of the installer - Download copy of License from Production Parent PONCONF
-
Update the license file with new Internal Service URL and new PONCONF Parent URL
This should reflect [client][instance ].[ networkstack ].printanywhere.com
eg. https://amatc.ohio-1.printanywhere.com/cps - Ensure your license file contains the License UUID
- Upload license to customer's S3 bucket
Update Step 1 Script
- Select ‘CloudFormation’ from the ‘Management Tools’ area
- Locate the Client name from the list
- Select the Client name and choose 'Update Stack' from the 'Actions' menu
- Select ‘Specify an Amazon S3 template URL’ and enter the current Step-1-Managed-Client.json URL
-
Select Next, then review fields
- EMAILREGION should reflect the best fit for the Region the servers are in. us-east-2 for Ohio, us-west-2 for Oregon and eu-west-1 for Ireland
- NETWORKSTACKNAME should not change
- PUBLICDOMAIN remains printanywhere.com
- SNSEmail remains as is
- Select Next
- Review Options - no changes should be needed
- Select Next to Review
- Acknowledge the agreement, then select ‘next’, this process will take about 10 minutes to complete
Create new Servers with newer version of PSIM
- Select ‘CloudFormation’ from the ‘Management Tools’ area
- Select ‘Create a New Stack’
-
Select ‘Specify an Amazon S3 template URL’
- If the customer has a basic setup, meaning they are just going to have 2 PAS and 2 PDH’s then run this script: Step-2-Managed-Opsworks-Base.json
- If the customer is enabling an advanced setup, meaning they are going to have more than 2 PAS/PDH then run this script: Step-2-Managed-Opsworks-Advanced.json
- Select Next, then populate the fields similar to below:
- Stack Name: [CLIENT][INSTANCE] (The instance reflects the iteration) eg. AMATC for the third iteration of AMAT's core servers
Parameters Bucketname :
[CLIENT]- pon-managedservices (name of customer's S3 bucket created during original deployment)
Clientstackname : [CLIENT]
EnvType : client ExternalCertName : printanywhere.com
Networkstackname : [NETWORK STACK] (the region where this will be setup for the customer eg. Ohio-1, Frankfurt, etc.)
OpsWorksVersion : Select highest/most recent available version
NOTE:
Machine names MUST be CAPITALIZED
Pas1name: [CLIENT][INSTANCE]-PAS1 eg. AMATC-PAS1
Enter PAS1 Serial Number
Pas2 name: [CLIENT][INSTANCE]-PAS2
Enter PAS2 Serial Number
Pdh1name: [CLIENT][INSTANCE]-PDH1
Enter PDH1 Serial Number
Pdh2name: [CLIENT][INSTANCE]-PDH2
Enter PDH2 Serial Number
PDHExpireTime : unless otherwise specified, leave this as the default value already populated
PDHRepositoryType : Choose File Share until further notice
Servicepassword : use same service password as was created originally (this information should be on the customer's AWS Deployment Information Confluence page)
SMTPPassword : use same SMTP Password as was created originally (if your current Production enviroment did not include an email service, use the same password as you used for the Service Account above)
SPAMASSASSINHOST: Was already populated with spamassassin.ohio-1.printanywhere.com
Select ‘Next’ then enter the tags:
Key | Value |
Client | [CLIENT] |
Project | Managed Services |
Network Stack | [NETWORK STACK] eg. Ohio-1 |
Expand the ‘Advanced’ section, then disable the rollback on failure option Acknowledge the agreement, then select ‘next’, this process will take about 40 minutes to complete.
Validate new servers & configuration before continuing with DNS cutover
- Visit the LBs directly as your DNS has not been cut over yet. To do this, go to OpsWorks and click on the new Stack you created. Go to the Instances and find the PONCONF Instance. Click the 'open in new tab' icon next to the ELB link. Once redirected you'll need to manually enter https:// & 8057 in the address bar to access it
- Set PONCONF password (use the same password as was set in the original deployment)
-
Enable Authentication. The configuration should be there once you select the correct dropdown, but you just need to select the right option and click Apply Settings.
NOTE:
If the customer is using Azure AD or another 3rd Party iDM , authentication cannot be tested prior to the DNS update in Script 3. The reply URLs in place on the customer side will redirect you back to their active stack which has not been updated yet. - Set PDH Password (use the same password as was set in the original deployment)
- Set RDP permissions See: [INTERNAL] - How to set RDP permissions for Enterprise Managed Cloud instances
- Install any custom drivers
-
Create a 'PON_CPS_APIKEY' environment variable on each CPS machine to address dual PDGs See: INTERNAL - Enterprise Managed Cloud Print PDG sync fails every other time
NOTE:
PDG can still only operate with a single server active -
Run through Test Plan
NOTE:
Create a new test printer and a new PDS serial number to be used for your testing. The PDH address will need to reflect the direct PDH LB and not the production PDH DNS ( eg. AMATC-PDHLoadBalan-1854PPT0SG0I5-1226882526.us-east-2.elb.amazonaws.com:443). Access CPS using the direct CPS LB and not the production DNS ( eg. AMATC-CPSLoadBalan-1D3ZC3DICBNNS-618132734.us-east-2.elb.amazonaws.com) -
Copy Job Files from [CLIENT
][
PREVIOUS INSTANCE]-FS1 to [CLIENT][NEWLY CREATED INSTANCE]-FS1
eg. If my new Instance is 'C', I would be copying files from [CLIENT]B-FS1 to [CLIENT]C-FS1 - STOP and Notify IT of the new server. Things like Anti-virus, Windows Updates & PagerDuty alerts will need to be enabled by them before we move the DNS over and make it live
Make DNS changes
- Select ‘CloudFormation’ from the ‘Management Tools’ area
- Locate the DNS Stack for your Client eg. [CLIENT]-DNS
- Select it and choose 'Update Stack' from the Actions drop down menu
- Select ‘Specify an Amazon S3 template URL’
- Enter the URL script 3: Step-3-Client-Networking.json
(Script URLs always updated here: https://tools.printeron.com/confluence/display/MAN/Steps+to+Create+a+Basic+Cluster
Parameters
Stack Name: [CLIENT]-DNS
CLIENTSTACKNAME: [CLIENT]
Companyname : [CLIENT]
Opsworksstackname : [CLIENT][INSTANCE] NOTE: This field will be pre-populated with the current stack. You need to update this to reflect your new Instance eg. AMATC
Key | Value |
Client | [CLIENT] |
Project | Managed Services |
Network Stack | [NETWORK STACK] eg. Ohio-1 |
Select ‘Next’
Select ‘Update’
Housekeeping items to be done once DNS has been moved:
- Validate a few more print jobs through Web upload and Mobile app
- Stop all the old instances for this client: In the archived Opsworks stack ( i.e. AMATB), go to the Instances tab, click the "Stop All Instances" button in the upper right corner
- Update Confluence page with new IPs, host names and versions. We want to keep a history, so don't override the last details, make a copy of the table and enter in new details.
- Add Change Request item to customer's Confluence Change Management page to say an upgrade was done and highlight any new additions ( ie . email, AirPrint , etc.)
- Disable any services not being used - email, PDG, etc. Set the service to Manual start and not Disabled