Environment Migration
-
- MVP
- Posts: 2832
- Joined: Tue Feb 16, 2010 2:39 pm
- OLAP Product: TM1, Palo
- Version: Beginning of time thru 10.2
- Excel Version: 2003-2007-2010-2013
- Location: Atlanta, GA
- Contact:
Environment Migration
Hi All, I'm looking for ideas concerning migrating TM1 models between DEV, QA and PROD. I have a good understanding of the contents of the data folder, as well as the TM1Web folders and know what can be found in there. I have tried two different approaches to migrations and they both come up lacking. For discussion purposes let's say I have three TM1 services called DEV, QA and PROD and they are all on separate machines:
1. Copy the contents of the data folder from QA to PROD and recycyle PROD service. Works great except all my reports have the word "QA" in them so I have to open each report, rename "QA" to "PROD", and update.
2. Give QA and PROD services the same name. Then when I copy the data folder over reports don't have to be republished. Problem is now I can't be logged into both QA and PROD at the same time (to do validation) because both services have the same name.
Does anyone have any ideas or workarounds to solve these problems?
1. Copy the contents of the data folder from QA to PROD and recycyle PROD service. Works great except all my reports have the word "QA" in them so I have to open each report, rename "QA" to "PROD", and update.
2. Give QA and PROD services the same name. Then when I copy the data folder over reports don't have to be republished. Problem is now I can't be logged into both QA and PROD at the same time (to do validation) because both services have the same name.
Does anyone have any ideas or workarounds to solve these problems?
Re: Environment Migration
What you could do is create in each report three formulas:
A1: =TM1User("Prod")
A2: =TM1User("Dev")
A3: =TM1User("QA")
Then in in A4, just put an if statement like this:
A4: =IF( A1 <> "", "Prod:", IF( A2 <> "", "Dev:", IF( A3 <> "", "QA:", "" )))
A5: ="Financials"
Then in all your other report fomulas, just use something like:
=DBRW( $A$4 + $A$5, B1, B2, ... );
Now, whatever server you are logged into, will show up properly in the report!
A1: =TM1User("Prod")
A2: =TM1User("Dev")
A3: =TM1User("QA")
Then in in A4, just put an if statement like this:
A4: =IF( A1 <> "", "Prod:", IF( A2 <> "", "Dev:", IF( A3 <> "", "QA:", "" )))
A5: ="Financials"
Then in all your other report fomulas, just use something like:
=DBRW( $A$4 + $A$5, B1, B2, ... );
Now, whatever server you are logged into, will show up properly in the report!
- Martin Ryan
- Site Admin
- Posts: 1988
- Joined: Sat May 10, 2008 9:08 am
- OLAP Product: TM1
- Version: 10.1
- Excel Version: 2010
- Location: Wellington, New Zealand
- Contact:
Re: Environment Migration
My own way of handling it would be your first option (I like Blackhawk's idea though). Provided you don't have that many reports it's not too difficult to update it all and you can always write a VBA routine that opens up all the reports and makes the necessary changes (I think someone on the forum has this code, perhaps they might be able to share). Then the only slow part is adding them to the applications folder.
I don't like option 2, there's two much chance of someone stuffing up a live system by mistake.
Can't think of an option three either. I've always thought TM1 handles module promotion poorly. Cubewise's hot promote tool goes someway to addressing this, though I don't think it helps with your reports.
Martin
I don't like option 2, there's two much chance of someone stuffing up a live system by mistake.
Can't think of an option three either. I've always thought TM1 handles module promotion poorly. Cubewise's hot promote tool goes someway to addressing this, though I don't think it helps with your reports.
Martin
Please do not send technical questions via private message or email. Post them in the forum where you'll probably get a faster reply, and everyone can benefit from the answers.
Jodi Ryan Family Lawyer
Jodi Ryan Family Lawyer
Re: Environment Migration
I should probably mention that you may want to put the IF statement in order of precedence in the event that you are connected to more than one server. As a developer, I would suggest DEV, QA and then PROD, so you don't accidently change something in prod
As a user who has access to these other environments, the order may be different; so take that into consideration when you put them into your reports.
Good luck!
As a user who has access to these other environments, the order may be different; so take that into consideration when you put them into your reports.
Good luck!
Re: Environment Migration
I had to write a bit of VBA to go through my reports and update the server name references, in terms of internal TM1 stuff I put all my references in a cube but for the reports the only way I could do this was to use VBA.tomok wrote:Hi All, I'm looking for ideas concerning migrating TM1 models between DEV, QA and PROD. I have a good understanding of the contents of the data folder, as well as the TM1Web folders and know what can be found in there. I have tried two different approaches to migrations and they both come up lacking. For discussion purposes let's say I have three TM1 services called DEV, QA and PROD and they are all on separate machines:
1. Copy the contents of the data folder from QA to PROD and recycyle PROD service. Works great except all my reports have the word "QA" in them so I have to open each report, rename "QA" to "PROD", and update.
2. Give QA and PROD services the same name. Then when I copy the data folder over reports don't have to be republished. Problem is now I can't be logged into both QA and PROD at the same time (to do validation) because both services have the same name.
Does anyone have any ideas or workarounds to solve these problems?
As you are using TM1Web I have no idea how you would do this so think the second option is probably best - I thought you said you had these environments on different machines - do you have separate web services running for each? if so surely it would be a case of connecting to PROD on the dev server IP and connecting to PROD on the prod server IP using different browser sessions? I do tend to agree with blackhawk that its better to have unique names so you know where you are but know many would suggest keeping the names the same.
- Steve Vincent
- Site Admin
- Posts: 1054
- Joined: Mon May 12, 2008 8:33 am
- OLAP Product: TM1
- Version: 10.2.2 FP1
- Excel Version: 2010
- Location: UK
Re: Environment Migration
I like that solution but it doesn't cover everything. Where DIMIX, SUBNM, ELPAR etc are concerned you'll get varying results with that route. My main bug bare is that SUBNM looses its double click functionality when the dimension reference is a cell value and not hard coded. For that reason alone i stick with the good old find a replace. Shame...blackhawk wrote:What you could do is create in each report three formulas:
A1: =TM1User("Prod")
A2: =TM1User("Dev")
A3: =TM1User("QA")
Then in in A4, just put an if statement like this:
A4: =IF( A1 <> "", "Prod:", IF( A2 <> "", "Dev:", IF( A3 <> "", "QA:", "" )))
A5: ="Financials"
Then in all your other report fomulas, just use something like:
=DBRW( $A$4 + $A$5, B1, B2, ... );
Now, whatever server you are logged into, will show up properly in the report!
If this were a dictatorship, it would be a heck of a lot easier, just so long as I'm the dictator.
Production: Planning Analytics 64 bit 2.0.5, Windows 2016 Server. Excel 2016, IE11 for t'internet
Production: Planning Analytics 64 bit 2.0.5, Windows 2016 Server. Excel 2016, IE11 for t'internet
- Alan Kirk
- Site Admin
- Posts: 6606
- Joined: Sun May 11, 2008 2:30 am
- OLAP Product: TM1
- Version: PA2.0.9.18 Classic NO PAW!
- Excel Version: 2013 and Office 365
- Location: Sydney, Australia
- Contact:
Re: Environment Migration
In your version. This changed in 9.4 remember. In fact, it's a FAQ. (Under the heading "Functionality of SubNm, including change in 9.4.1" in the User Interface section.)Steve Vincent wrote:I like that solution but it doesn't cover everything. Where DIMIX, SUBNM, ELPAR etc are concerned you'll get varying results with that route. My main bug bare is that SUBNM looses its double click functionality when the dimension reference is a cell value and not hard coded. For that reason alone i stick with the good old find a replace. Shame...blackhawk wrote:What you could do is create in each report three formulas:
A1: =TM1User("Prod")
A2: =TM1User("Dev")
A3: =TM1User("QA")
Then in in A4, just put an if statement like this:
A4: =IF( A1 <> "", "Prod:", IF( A2 <> "", "Dev:", IF( A3 <> "", "QA:", "" )))
A5: ="Financials"
Then in all your other report fomulas, just use something like:
=DBRW( $A$4 + $A$5, B1, B2, ... );
Now, whatever server you are logged into, will show up properly in the report!
"To them, equipment failure is terrifying. To me, it’s 'Tuesday.' "
-----------
Before posting, please check the documentation, the FAQ, the Search function and FOR THE LOVE OF GLUB the Request Guidelines.
-----------
Before posting, please check the documentation, the FAQ, the Search function and FOR THE LOVE OF GLUB the Request Guidelines.
- Steve Vincent
- Site Admin
- Posts: 1054
- Joined: Mon May 12, 2008 8:33 am
- OLAP Product: TM1
- Version: 10.2.2 FP1
- Excel Version: 2010
- Location: UK
Re: Environment Migration
Now why would i read a FAQ on a version that i *still* can't this place to upgrade to?
[thanks Alan]
[thanks Alan]
If this were a dictatorship, it would be a heck of a lot easier, just so long as I'm the dictator.
Production: Planning Analytics 64 bit 2.0.5, Windows 2016 Server. Excel 2016, IE11 for t'internet
Production: Planning Analytics 64 bit 2.0.5, Windows 2016 Server. Excel 2016, IE11 for t'internet
-
- Posts: 25
- Joined: Mon Aug 24, 2009 11:13 am
- OLAP Product: TM1
- Version: 10.2
- Excel Version: 2010
Re: Environment Migration
Hi,
We have similar issue, need to migrate set of .pro files to qa/uat/prod. In TI Process , we are using ODBC Data source, providing usrid/pwd for dev enviornment. but when we migrate to different environment ,the usrid/pwd may be different, so everytime we need to modify this manually. Is there any we can automate the usid/pws udpation process based on some scripts ?
Thanks in advance
vsub
We have similar issue, need to migrate set of .pro files to qa/uat/prod. In TI Process , we are using ODBC Data source, providing usrid/pwd for dev enviornment. but when we migrate to different environment ,the usrid/pwd may be different, so everytime we need to modify this manually. Is there any we can automate the usid/pws udpation process based on some scripts ?
Thanks in advance
vsub
Thanks & Regards
vsu
vsu
-
- MVP
- Posts: 227
- Joined: Fri Mar 11, 2011 2:18 pm
- OLAP Product: TM1
- Version: 9.5.1
- Excel Version: 2003 2007
Re: Environment Migration
What about using the TI Local Variables DatasourceUsername and DatasourcePassword ?ub14 wrote:Is there any we can automate the usid/pws udpation process based on some scripts ?
See the manual TM1 9.5.2 Reference Guide ->
http://publib.boulder.ibm.com/infocente ... ceusername
TM1 9.5.2 Reference
TM1 TurboIntegrator Variables > TurboIntegrator Local Variables >
DatasourceUsername
http://publib.boulder.ibm.com/infocente ... cepassword
TM1 9.5.2 Reference
TM1 TurboIntegrator Variables > TurboIntegrator Local Variables >
DatasourcePassword
See the thread ->
http://www.tm1forum.com/viewtopic.php?f=3&t=3020
datasource username and password
-
- Posts: 25
- Joined: Mon Aug 24, 2009 11:13 am
- OLAP Product: TM1
- Version: 10.2
- Excel Version: 2010
Re: Environment Migration
where can i set the local variables DatasourceUserName and DatasourcePassword dynamically for ODBC Datasource. These local variables are temporary and will be deleted after every process run (Local variables exist only in the context of the process in which they are used, and are not available outside of the process. Local variables are destroyed when a process exits).
Thanks & Regards
vsu
vsu
- qml
- MVP
- Posts: 1094
- Joined: Mon Feb 01, 2010 1:01 pm
- OLAP Product: TM1 / Planning Analytics
- Version: 2.0.9 and all previous
- Excel Version: 2007 - 2016
- Location: London, UK, Europe
Re: Environment Migration
Each of your 3 server instances could have a "system parameters" cube that would store all the file paths, connection passwords and what not. Then your TIs could pull this data from the cube and use the mentioned TI local variables to change/set connection params to those that would be right for the given server.
Kamil Arendt
-
- MVP
- Posts: 195
- Joined: Wed Jul 22, 2009 10:35 pm
- OLAP Product: TM1
- Version: 9.5.2 FP3
- Excel Version: 2010
Re: Environment Migration
The name of the ODBC connection - I agree that the best way is to put it in a cube (or attribute that in fact also is a cube).
I once had an issue, when TM1 administrators were not supposed to see user id and password for the ODBC (if you'd store those in TM1, they would).
It was a windows, so in this case we used regedit and stored password and ID in here (attachment) and in TI you left user id and password blank.
I once had an issue, when TM1 administrators were not supposed to see user id and password for the ODBC (if you'd store those in TM1, they would).
It was a windows, so in this case we used regedit and stored password and ID in here (attachment) and in TI you left user id and password blank.
- Attachments
-
- 20110706 - ODBC - id and psswd.JPG (63.58 KiB) Viewed 12531 times
-
- Posts: 25
- Joined: Mon Aug 24, 2009 11:13 am
- OLAP Product: TM1
- Version: 10.2
- Excel Version: 2010
Re: Environment Migration
Hi,
We are trying to call set of TI Process through master TI Process by passing DataSource,userid and Password as parameters. with below prolog statment in master ti and calling the child TI Process.
master TI Prolog statment:
=========================
ExecuteProcess(processName,'PDataSource',DataSourceNameForServer,'PUserName',DataSourceUsername,'Ppassword',DataSourcePassword);
Child TI Prolog statements
======================
DataSourceNameForServer=PDataSource;
DataSourceUsername=PUserName;
DataSourcePassword=Ppassword;
The Process is failing with unable to open DataSource error everytime, but when we go and update password odbc dsn in registry, the process working fine.
We would like to know is there any way we can avoid this since we can't frequently update the password change in other environments (lke Production).
We are trying to call set of TI Process through master TI Process by passing DataSource,userid and Password as parameters. with below prolog statment in master ti and calling the child TI Process.
master TI Prolog statment:
=========================
ExecuteProcess(processName,'PDataSource',DataSourceNameForServer,'PUserName',DataSourceUsername,'Ppassword',DataSourcePassword);
Child TI Prolog statements
======================
DataSourceNameForServer=PDataSource;
DataSourceUsername=PUserName;
DataSourcePassword=Ppassword;
The Process is failing with unable to open DataSource error everytime, but when we go and update password odbc dsn in registry, the process working fine.
We would like to know is there any way we can avoid this since we can't frequently update the password change in other environments (lke Production).
Thanks & Regards
vsu
vsu