<html><head>
<link rel="stylesheet" href="../../default_style.css">
<title>Eclipse Foundation</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</b></span></b></h1>
      <p>The Eclipse Foundation will soon begin 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 are planning on moving in three phases. The first phase will involve 
        installing the backend servers and transition the Bugzilla and Download 
        servers to the new environment. This will also allow us to test our new 
        server backend while allowing for the least impact on the community, because 
        downloads will continue to be available from our mirrors. 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</li>
        <li>Saturday, February 26, 2005 - Phase II: Transition the web server</li>
        <li>Saturday, March 26, 2005 - Phase III: Transition dev.eclipse.org, 
          the mailing lists and CVS</li>
      </ul>
      <p><b>Phase I - Planned outage</b><br>
        In this phase, the central infrastucture for eclipse.org will be put in 
        place, as well as the Bugzilla and Download services. The projected outage 
        will begin on Saturday, February 19th at 11:59pm EST and complete by Sunday, 
        February 20th 11:59pm EST. During the outage, eclipse.org services will 
        be affected as follows: </p>
      <ul>
        <li>Bugzilla and the Main Eclipse Download server will be unavailable. 
        </li>
        <li>Mirror synchronization will be unavailable.</li>
        <li>CVS, Mailing lists and newsgroups will be unaffected. </li>
        <li>www.eclipse.org will be unaffected. </li>
      </ul>
      <p> We apologize for the inconvenience, and we appreciate your patience 
        during the transition! </p>
      <p><b>Phase II - III</b><br>
        More details about the planned outages for Phase II and III will be announced 
        early in the week of February 21st. <br>
      </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>
