The Community Forums

Interact with an entire community of cPanel & WHM users!
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

New "transfer assistance"

Discussion in 'General Discussion' started by ffeingol, Sep 13, 2007.

  1. ffeingol

    ffeingol Well-Known Member
    PartnerNOC

    Joined:
    Nov 9, 2001
    Messages:
    215
    Likes Received:
    1
    Trophy Points:
    18
    cPanel Access Level:
    DataCenter Provider
    Hello Every,

    I just saw the post the new "Transfer Assistance" program (http://www.cpanel.net/products/cPanelandWHM/linux/transfer-asst.htm). Can you give me a bit more details about what kind of assistance is offered? We'd love to finish our migration off of Ensim but (as of the last transfers we've done) databases still don't come across so there is a large manual effort involved.

    Thanks,

    Frank
     
  2. cPanelDavidG

    cPanelDavidG Technical Product Specialist

    Joined:
    Nov 29, 2006
    Messages:
    11,279
    Likes Received:
    8
    Trophy Points:
    38
    Location:
    Houston, TX
    cPanel Access Level:
    Root Administrator
    Essentially the Transfer Assistance Program entails helping you move off your old control panel to cPanel/WHM. What's new is the ability to actually phone our techs for assistance with regards to the migration process. If you are experiencing any issues with migrations, please don't hesitate to call or submit a ticket.
     
  3. ffeingol

    ffeingol Well-Known Member
    PartnerNOC

    Joined:
    Nov 9, 2001
    Messages:
    215
    Likes Received:
    1
    Trophy Points:
    18
    cPanel Access Level:
    DataCenter Provider
    I'll have someone test again, but basically the cPanel transfer simply did not move the MySQL db's. I just looked at the /scripts/pkgacct-enXim file and it "might" work "some of the time". The script assumes a prefix_suffix for the database name and prefix in ensim can be configured by the admin. The script is looking for the default.

    We detailed all this in a bug report, so I'll have to dig up the bug number, re-test and then re-submit as necessary.

    Not to get off track, but the biggest problem with Ensim xfers is that Ensim (by default) names databases domain_tld_-_suffix while cPanel uses login_.

    - If the db's come across "exactly as is" (name wise) I'm sure this would break cpanels db listing routines

    - If the db's are renamed to cPanel standards, then you have to hunt through all the client scripts to find where the db name is embedded.

    Frank
     
  4. cPanelNick

    cPanelNick Administrator
    Staff Member

    Joined:
    Mar 9, 2015
    Messages:
    3,426
    Likes Received:
    2
    Trophy Points:
    38
    cPanel Access Level:
    DataCenter Provider
    Make sure you are using CURRENT as the transfer scripts got a major overhaul in this build set.
     
  5. ffeingol

    ffeingol Well-Known Member
    PartnerNOC

    Joined:
    Nov 9, 2001
    Messages:
    215
    Likes Received:
    1
    Trophy Points:
    18
    cPanel Access Level:
    DataCenter Provider
    I'm sorry but we run Release not Current. Can we simply grab the pkgacct-enXim from the current tree? I know it might get overwritten, but it's easy to keep putting it back.

    Frank
     
  6. cPanelNick

    cPanelNick Administrator
    Staff Member

    Joined:
    Mar 9, 2015
    Messages:
    3,426
    Likes Received:
    2
    Trophy Points:
    38
    cPanel Access Level:
    DataCenter Provider
  7. ffeingol

    ffeingol Well-Known Member
    PartnerNOC

    Joined:
    Nov 9, 2001
    Messages:
    215
    Likes Received:
    1
    Trophy Points:
    18
    cPanel Access Level:
    DataCenter Provider
    My perl is not perfect, but I still don't think this code will work:

    Code:
    while(my $db = readdir(MYSQL)) {
    		my $realdb = $srcpath .  "/${db}";
    		
    		next if (! -d $realdb || $db =~ /^\./ || $db eq 'mysql');
    		if ($srcpath =~ /^\/var/) {
    			if ($db !~ /^(${user}|${ucdns})_/) { next; }
    		}
    		while (-l $realdb) {
    			$realdb = readlink($realdb);
    		}
    
    If I read this correctly, it:

    - looks though the db's in the mysql dir
    - checks that it's a directory and not ".", ".." or mysql
    - It then looks if it's in the format userid_ or domain_

    If it passes all those tests, the it goes into the backup route (which is not really a backup but just a copy of the actual database files)

    There are a couple of problems here:

    - The prefix for Ensim is Admin configurable on a per domain basis
    - If there is any mis-match in the MySQL version this may not work (copying files vs dump/load)
    - I don't see anything to copy across the db users/permissions

    Sorry to make this into a "Ensim does not convert properly" thread, but getting it working is where we need the most assistance. If you need more details on exactly how to get the database prefix etc. let me know and I'm happy to share.

    Frank
     
  8. RobertF

    RobertF Member

    Joined:
    May 22, 2006
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    1
    Looking at it now...
     
  9. RobertF

    RobertF Member

    Joined:
    May 22, 2006
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    1
    QA was able to transfer mysql databases from ensim 4 to cPanel 11 current. The changes made to the tranfer system effect pkgacct-enXim, unpkgacct and the WHM so just using /scripts/pkgacct-enXim will not give you access to all the fixes in current.

    Robert
     
  10. ffeingol

    ffeingol Well-Known Member
    PartnerNOC

    Joined:
    Nov 9, 2001
    Messages:
    215
    Likes Received:
    1
    Trophy Points:
    18
    cPanel Access Level:
    DataCenter Provider
    Hello Robert,

    I totally believe that QA was able to xfer a "default" Ensim account. Can you tell me if I'm interpreting the code above correctly? I believe this code is going to work for us for our shared accounts (I know how we set the database prefix) but I'm less confident for resellers who could have made the prefix anything (as long as it's unique). Can you also tell me two other things:

    - Does it change the db name from Ensim standards to cPanel standards?

    - ETA on getting to release.

    Thanks,

    Frank
     
  11. RobertF

    RobertF Member

    Joined:
    May 22, 2006
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    1
    Sorry for taking so long to get back to you.

    Yes I believe you are interpreting the code above correctly although $user has different meaning between the release and current. And you're right if users choose a prefix we can't can't predict there are going to be issues. We well need to think of a way to handle that. On current the ensim username is converted to the siteNum to be consistent with cPanel username requirements. And as for when it will be in release, I'm not sure, I would think at the same time ea3 hits release but I can't say that for sure.

    Robert
     
  12. ffeingol

    ffeingol Well-Known Member
    PartnerNOC

    Joined:
    Nov 9, 2001
    Messages:
    215
    Likes Received:
    1
    Trophy Points:
    18
    cPanel Access Level:
    DataCenter Provider
    you don't have to "guess" at the prefix. It's a few lines of code to look it up. I'm happy to supply. Unfortunately changing the db name and / or user name makes converted sites useless. You have to hunt (we use find with a grep) and change the clients code all over the place. Can be quite messy.

    Frank
     
  13. RobertF

    RobertF Member

    Joined:
    May 22, 2006
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    1
    One thing that is possible is that you can still set the "Local Username" to the old username that way it will be run through the cpanel username checks.

    Also, I would be will to look at any code that you have that deals with ensim user lookups.

    Robert
     
  14. ffeingol

    ffeingol Well-Known Member
    PartnerNOC

    Joined:
    Nov 9, 2001
    Messages:
    215
    Likes Received:
    1
    Trophy Points:
    18
    cPanel Access Level:
    DataCenter Provider
    Sorry for the delay, but here is how you would look up the database prefix:

    Code:
    /usr/local/bin/sitelookup -d DOMAIN.TLD site_handle
    that looks up the side_id for DOMAIN.TLD and will return something like site###. You then need to examine:

    Code:
    /home/virtual/site###/info/current/mysql
    
    There will be a line there in the form:

    Code:
    dbaseprefix = XXX
    
    The value give for dbaseprefix in the database prefix for the site.

    I hope this helps,

    Frank
     
Loading...

Share This Page