<html><head>
<link rel="stylesheet" href="../../default_style.css">
<title>Eclipse Foundation - Hardware Migration</title></head>
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b" alink="#ff0000">
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align=left width="72%"> <font class=indextop> Eclipse.org <br>
      infrastructure migration</font><br>
      <font class=indexsub>&nbsp; </font></td>
    <td width="28%"><img src="../../images/Idea.jpg" height=86 width=120></td>
  </tr>
</table>
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Eclipse 
      Community Bulletin </font></b></td>
  </tr>
  <tr> 
    <td> <br>
      <h1 ALIGN="CENTER"><b><span style='font-size:16.0pt;font-family:Arial;"Times New Roman"'><b> 
        Eclipse.org Hardware Migration - Phase III</b></span></b></h1>
      <p>Updated: March 24, 2005 - New outage times!</p>
      <p>The Eclipse Foundation has begun a hardware migration. The key goals 
        of this migration are to move the existing eclipse.org infrastructure 
        to powerful new servers, as well as reorganize the technical layout of 
        the resources. We want to make sure that everyone is aware of the key 
        dates, because there will be impacts on the site's availability as the 
        transition is done. </p>
      <p>We have planned the move in three phases. The first phase involved installing 
        the backend servers and transitioning the Bugzilla and Download servers 
        to the new environment. In the second phase we will move the web server 
        and the newsgroups, and in the third phase, the remaining servers will 
        be migrated, including our mailing lists and CVS. </p>
      <p>Questions about this migration can be directed to <a href="mailto:webmaster@eclipse.org">webmaster@eclipse.org</a>. 
      </p>
      <p><b>Key Dates:</b></p>
      <ul>
        <li>Sunday, February 20, 2005 - Phase I: Install backend servers and transition 
          download and bugzilla servers - <b>Complete</b></li>
        <li>Saturday, March 19, 2005 - Phase II: Transition the web server - <b>Complete</b></li>
        <li>Saturday, March 26, 2005 - Phase III: Transition dev.eclipse.org, 
          the mailing lists and CVS</li>
      </ul>
      <p><b>Phase I - Complete</b><br>
        Phase I of the hardware migration has completed successfully. This phase 
        involved the central infrastucture for eclipse.org as well as the Bugzilla 
        and Download services.</p>
      <p><b>Phase II - Complete</b><br>
        Phase II of the hardware migration has completed successfully.</p>
      <p><b>Phase III</b><br>
        The transition of dev.eclipse.org, the mailing lists and CVS will begin 
        on Saturday, March 26th at 00:00 EST and complete by Sunday, March 27th 
        at 09:00 EST. During the outage, eclipse.org services will be affected 
        as follows: <br>
      </p>
      <ul>
        <li>CVS and viewCVS will be unavailable. </li>
        <li>Mailing lists and eclipse.org mail will be unavailable. </li>
        <li>Newsgroups will be unaffected.</li>
        <li>www.eclipse.org will be unaffected.</li>
        <li>Bugzilla and the Main Eclipse Download server will be unaffected. 
        </li>
        <li>Mirror synchronization will be unaffected.</li>
      </ul>
      <p> We apologize for the inconvenience, and we appreciate your patience 
        during the transition! </p>
      <P><br>
      </p>
    </td>
  </tr>
  </table>
  &nbsp; 
	<TABLE  width="100%" CELLSPACING=0 CELLPADDING=3>
		
  <tr> 
    <td> 
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <hr width="85%">
      <blockquote> 
        <blockquote> 
          <blockquote>
            <p><font size="1">Brand or product names are registered trademarks 
              or trademarks of their respective holders. Java and all Java-based 
              trademarks are trademarks or registered trademarks of Sun Microsystems, 
              Inc. in the United States and other countries.</font><br>
              <br>
            </p>
          </blockquote>
        </blockquote>
      </blockquote>
      <hr width="85%">
    </td>
		</tr>
        </table>&nbsp;        
&nbsp;
</body></html>
