Changeset 1852
- Timestamp:
- 01/05/12 13:43:14 (5 months ago)
- Location:
- trunk
- Files:
-
- 3 modified
-
jobqueue.c (modified) (3 diffs)
-
tcontainerfunc.h (modified) (4 diffs)
-
tnodefunc.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/jobqueue.c
r1830 r1852 1513 1513 unsigned uTargetDatacenter=0; 1514 1514 unsigned uIPv4=0; 1515 unsigned uStatus=0; 1515 1516 1516 1517 sscanf(cJobData,"uTargetNode=%u;",&uTargetNode); … … 1519 1520 logfileLine("MigrateContainer","Could not determine uTargetNode"); 1520 1521 tJobErrorUpdate(uJob,"uTargetNode==0"); 1522 return; 1523 } 1524 1525 if(GetContainerStatus(uContainer,&uStatus)) 1526 { 1527 logfileLine("MigrateContainer","GetContainerStatus() failed"); 1528 tJobErrorUpdate(uJob,"GetContainerStatus()"); 1521 1529 return; 1522 1530 } … … 1575 1583 sprintf(cSCPOptions,"-P 22 -c arcfour"); 1576 1584 1577 if(cSSHOptions[0]) 1578 sprintf(gcQuery,"export PATH=/usr/sbin:/usr/bin:/bin:/usr/local/bin:/usr/local/sbin;" 1585 1586 if(uStatus==uACTIVE) 1587 { 1588 if(cSSHOptions[0]) 1589 sprintf(gcQuery,"export PATH=/usr/sbin:/usr/bin:/bin:/usr/local/bin:/usr/local/sbin;" 1579 1590 "/usr/sbin/vzmigrate --ssh=\"%s\" --keep-dst --online -v %s %u", 1580 1591 cSSHOptions,cTargetNodeIPv4,uContainer); 1581 else1582 sprintf(gcQuery,"export PATH=/usr/sbin:/usr/bin:/bin;"1592 else 1593 sprintf(gcQuery,"export PATH=/usr/sbin:/usr/bin:/bin;" 1583 1594 "/usr/sbin/vzmigrate --keep-dst --online -v %s %u", 1584 1595 cTargetNodeIPv4,uContainer); 1596 } 1597 else 1598 { 1599 if(cSSHOptions[0]) 1600 sprintf(gcQuery,"export PATH=/usr/sbin:/usr/bin:/bin:/usr/local/bin:/usr/local/sbin;" 1601 "/usr/sbin/vzmigrate --ssh=\"%s\" --keep-dst -v %s %u", 1602 cSSHOptions,cTargetNodeIPv4,uContainer); 1603 else 1604 sprintf(gcQuery,"export PATH=/usr/sbin:/usr/bin:/bin;" 1605 "/usr/sbin/vzmigrate --keep-dst -v %s %u", 1606 cTargetNodeIPv4,uContainer); 1607 } 1608 1585 1609 if(system(gcQuery)) 1586 1610 { 1587 1611 //We may not want this optional behavior may violate QoS for given migration 1588 logfileLine("MigrateContainer","Trying offline migration (check kernel compat)");1589 tJobErrorUpdate(uJob," Live failedtrying offline");1612 logfileLine("MigrateContainer","Trying offline migration"); 1613 tJobErrorUpdate(uJob,"Failed once trying offline"); 1590 1614 1591 1615 if(cSSHOptions[0]) -
trunk/tcontainerfunc.h
r1828 r1852 2726 2726 { 2727 2727 ProcesstContainerVars(entries,x); 2728 if( uStatus==uACTIVE&& uAllowMod(uOwner,uCreatedBy))2728 if( (uStatus==uACTIVE || uStatus==uSTOPPED ) && uAllowMod(uOwner,uCreatedBy)) 2729 2729 { 2730 2730 guMode=0; … … 2744 2744 { 2745 2745 ProcesstContainerVars(entries,x); 2746 if( uStatus==uACTIVE&& uAllowMod(uOwner,uCreatedBy))2746 if( (uStatus==uACTIVE || uStatus==uSTOPPED ) && uAllowMod(uOwner,uCreatedBy)) 2747 2747 { 2748 2748 unsigned uTargetDatacenter=0; … … 3979 3979 { 3980 3980 htmlHealth(uContainer,3); 3981 printf("<p><input title='Migrate container to another hardware node'" 3982 " type=submit class=largeButton" 3983 " name=gcCommand value='Migration Wizard'><br>\n"); 3984 printf("<input title='Migrate container to another datacenter node'" 3981 printf("<p><input title='Migrate container to another datacenter node'" 3985 3982 " type=submit class=largeButton" 3986 3983 " name=gcCommand value='Remote Migration'><br>\n"); … … 4031 4028 if( uStatus==uSTOPPED || uStatus==uACTIVE ) 4032 4029 { 4030 printf("<input title='Migrate container to another hardware node'" 4031 " type=submit class=largeButton" 4032 " name=gcCommand value='Migration Wizard'><br>\n"); 4033 4033 printf("<input title='Change current container name and hostname'" 4034 4034 " type=submit class=largeButton" -
trunk/tnodefunc.h
r1851 r1852 593 593 "<td><u>clone hostname</u></td>" 594 594 "<td><u>seconds since rsync</u></td>" 595 "<td><u>job created</u></td>"596 595 "</tr>"); 597 596 sprintf(gcQuery,"SELECT tContainer.uContainer,tContainer.cLabel,tContainer.cHostname," … … 611 610 MYSQL_RES *res2; 612 611 MYSQL_ROW field2; 612 long unsigned luTotalDiskSpace=0; 613 long unsigned luDiskSpace; 613 614 614 615 while((field=mysql_fetch_row(res))) … … 644 645 mysql_free_result(res2); 645 646 printf("</tr>\n"); 647 648 sprintf(gcQuery,"SELECT cValue FROM tProperty" 649 " WHERE cName='1k-blocks.luUsage' AND uType=3 AND uKey=%s",field[0]); 650 mysql_query(&gMysql,gcQuery); 651 if(mysql_errno(&gMysql)) 652 htmlPlainTextError(mysql_error(&gMysql)); 653 res2=mysql_store_result(&gMysql); 654 if((field2=mysql_fetch_row(res2))) 655 { 656 luDiskSpace=0; 657 sscanf(field2[0],"%lu",&luDiskSpace); 658 luTotalDiskSpace+=luDiskSpace; 659 } 660 mysql_free_result(res2); 661 646 662 } 647 //printf("<tr><td><input type=checkbox name=all onClick='checkAll(document.formMain,this)'>" 648 // " Check all</td></tr>\n"); 663 printf("<tr><td>Total disk space used: %lu</td></tr>",luTotalDiskSpace); 649 664 } 650 665 printf("</table>");
