WARNING: This is the _old_ Lustre wiki, and it is in the process of being retired. The information found here is all likely to be out of date. Please search the new wiki for more up to date information.

Difference between revisions of "Accessing Lustre Code"

From Obsolete Lustre Wiki
Jump to navigationJump to search
 
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
We welcome and encourage contributions to the development and testing of a more robust, feature-rich Lustre. Three options are available for accessing Lustre code:
+
<small>''(Updated: Jan 2010)''</small>
* ''Anonymous access''. You can obtain Lustre source code by [[#Checking out code from the Open CVS repository|Accessing the Open CVS repository]]. When using this option, you will have read-only access to the code. See [[Contribute]] for how to submit code.
 
  
* ''Authorized access''. Obtaining Lustre source code by [[#Accessing the Internal Lustre CVS repository|Accessing the Internal Lustre CVS repository]] requires a password-protected account and authorization from Sun Microsystems.
+
'''''NOTICE:'''''  The transition from CVS to Git took place on Monday, December 14.  For more information about the transition, see the [[Git Transition Notice]]. For details about how to migrate to Git, see [[Migrating to Git]].
  
For all these options, the Concurrent Versions System (CVS) must be installed on your local system. For more information about CVS, see [http://www.nongnu.org/cvs CVS - Concurrent Versions System].
+
----
  
'''''Note:''''' If you have questions or experience problems with using any of these options, send email to the [mailto:lustre-wiki-feedback@sun.com CVS Administrator].
+
We welcome and encourage contributions to the development and testing of a more robust, feature-rich Lustre™. You can obtain the latest bleeding-edge Lustre source code by anonymous Git access.
  
=== Naming conventions ===
+
git clone git://git.lustre.org/prime/lustre.git
  
Stable development branches are named b''{major}''_''{minor}'' (for example, b1_6 and b1_8). Even-numbered minor releases are considered stable releases. Odd-numbered minor releases correspond to alpha and beta releases and will sometimes be given v''{major}''_''{minor}''_''{patch}'' tags to provide a point of reference for internal and external testing.
+
'''''Note:''''' For more information about using Git, including tutorials and guides to help you get started, see the [http://git-scm.com/documentation Git documentation] page. ''For descriptions of the commands you are most likely to need, see the Commands section  at the bottom of this page.''
  
A release branch is created an official release to isolate it from further development and named b_release_''{major}''_''{minor}''_''{patch}'' (for example, b_release_1_8_0).  A final release gets a tag in the form v''{major}''_''{minor}''_''{patch}'' (for example, v1_8_0 or v1_6_7_1).
+
See [[Contribute]] for more information about developing, testing, and submitting a patch to the Lustre code.
  
Long-range development is done on the HEAD branch.
+
'''''Note:''''' If you have questions or experience problems, send email to the [mailto:lustre-wiki-feedback@sun.com Admins].
  
=== Lustre Modules ===
+
For more information about Git, see the [http://git-scm.com/ Git home]
  
These Lustre modules are needed to build Lustre. They are automatically checked out when the ''lustrecvs'' script is run for a specified Lustre branch or tag, such as HEAD, b1_8, or v1_8_1:
+
=== Naming conventions ===
*lustre (top-level directory)
 
*ldiskfs (at lustre/ldiskfs)
 
*libsysio (at lustre/libsysio)
 
*lnet (at lustre/lnet)
 
*libcfs (at lustre/libcfs)
 
*lustre-build (at lustre/build)
 
*lustre-core (at lustre/lustre)
 
*lustre-snmp (at lustre/snmp)
 
  
See the following sections for details.
+
Stable development branches are named b''{major}''_''{minor}'' (for example, b1_6 and b1_8). Even-numbered minor releases are considered stable releases.  Odd-numbered minor releases correspond to alpha and beta releases and will sometimes be given v''{major}''_''{minor}''_''{patch}'' tags to provide a point of reference for internal and external testing. 
  
Lustre [http://wiki.lustre.org/index.php/Subsystem_Map Subsystem Map] describes each of the subsystems in the Lustre code.
+
A release branch is created an official release to isolate it from further development and named b_release_''{major}''_''{minor}''_''{patch}'' (for example, b_release_1_8_0).  A final release gets a tag in the form v''{major}''_''{minor}''_''{patch}'' (for example, v1_8_0 or v1_6_7_1).
 
 
== Accessing Lustre Code ==
 
This section describes how to access Lustre Code.  See [[Contribute]] for more information about developing, testing, and submitting a patch to the Lustre code.
 
 
 
=== Checking out code from the Open CVS repository===
 
To check out Lustre source code from the Open CVS repository, complete these steps.  The Open CVS repository is used for anonymous, read-only, public access to Lustre and is synced from the internal CVS repository several times a day.
 
 
 
1.  Set CVSROOT in your environment by entering one of these commands:
 
export CVSROOT=":pserver:anonymous@cvs.lustre.org:/lustre"
 
:or
 
cvs -d :pserver:anonymous@cvs.lustre.org:/lustre login
 
 
 
:No password is needed.
 
 
 
2.  Check out the lustre source.
 
cvs co lustre
 
 
 
3.  Check out lustre modules.
 
cd lustre
 
./lustrecvs b1_8
 
:In this example, modules for Release 1.8 are checked out.
 
 
 
==== Example ====
 
In this example, Lustre sources are checked out into ''~/src/lustre-1_8''.  This directory can be called anything. The directory name will default to "lustre" if nothing is specified.
 
 
 
<code>
 
user@host:~$ '''cd src'''
 
user@host:~src$ '''cvs -d :pserver:anonymous@cvs.lustre.org:/lustre login'''
 
Logging in to :pserver:anonymous@cvs.lustre.org:2401/lustre
 
CVS password:      <font color="red">''(Leave blank, hit <Enter>)''</font>
 
</code>
 
<code>
 
user@host:~/src$ '''cvs -d :pserver:anonymous@cvs.lustre.org:/lustre co -d lustre-1_8 lustre'''
 
  cvs checkout: Updating lustre
 
U lustre/.cvsignore
 
U lustre/COPYING
 
U lustre/ChangeLog
 
U lustre/Makefile.in
 
U lustre/README
 
U lustre/README.lustrecvs
 
U lustre/autoMakefile.am
 
U lustre/autogen.sh
 
U lustre/configure.ac
 
U lustre/lustre.spec.in
 
U lustre/lustrecvs
 
</code>
 
<code>
 
user@host:~/src$ '''cd lustre-1_8'''
 
user@host:~/src/lustre-1_8$ '''./lustrecvs b1_8'''
 
 
 
lustrecvs: updating lustrecvs
 
cvs update: Updating .
 
lustrecvs: Checking out build from b1_8
 
cvs checkout: Updating build
 
U build/.cvsignore
 
U build/Makefile
 
U build/README.kernel-source
 
U build/Rules.in
 
U build/autoMakefile.am
 
U build/autoMakefile.am.toplevel
 
:
 
:
 
</code>
 
To check out the most recent code for the release currently in development, replace b1_8 with HEAD.
 
 
 
=== Checking out code from Internal Lustre CVS ===
 
 
 
The Internal Lustre CVS repository gives access by authorized users to the internal Lustre repository.
 
 
 
==== Legal Notice ====
 
 
 
: All software obtained from this CVS repository is considered pre-release proprietary software and is therefore confidential information.  You may not redistribute any software obtained from this CVS repository and must destroy all copies upon request.
 
 
 
: Unless otherwise authorized, you have a limited license to read, modify, compile, and use software obtained from this CVS repository in a non-production test environment.
 
 
 
: If you do not agree with these restrictions, ''do not use this CVS repository''. Please email us to have your account disabled.
 
 
 
==== Procedure ====
 
To check out Lustre source code from the Internal Lustre CVS repository, complete these steps.
 
 
 
1. Set the ''CVS_RSH'' environment variable.
 
 
 
: For bash users, enter: <pre>export CVS_RSH=ssh</pre> 
 
: For csh users, enter: <pre>setenv CVS_RSH ssh</pre>
 
 
 
: Consider setting ''CVS_RSH'' permanently in your .bashrc or .cshrc.
 
 
 
2. Check out the Lustre code by running the following (change ''youraccountname'' to your cvs account name):
 
 
 
<pre>
 
$ cvs -d :ext:youraccountname@cvs.lustre.org:/cvsroot/cfs co lustre
 
$ cd lustre
 
$ ./lustrecvs b1_8
 
</pre>
 
  
 +
Work for the next upcoming version is done on the ''master'' branch.
  
'''''Note''''': To update the tree or to change branches, run the "lustrecvs &lt;tag&gt;" command again. Using "cvs update" is not always reliable if there have been layout changes in the repository.
+
The Lustre [[Subsystem Map]] describes each of the subsystems in the Lustre code.

Latest revision as of 12:10, 20 January 2011

(Updated: Jan 2010)

NOTICE: The transition from CVS to Git took place on Monday, December 14. For more information about the transition, see the Git Transition Notice. For details about how to migrate to Git, see Migrating to Git.


We welcome and encourage contributions to the development and testing of a more robust, feature-rich Lustre™. You can obtain the latest bleeding-edge Lustre source code by anonymous Git access.

git clone git://git.lustre.org/prime/lustre.git 

Note: For more information about using Git, including tutorials and guides to help you get started, see the Git documentation page. For descriptions of the commands you are most likely to need, see the Commands section at the bottom of this page.

See Contribute for more information about developing, testing, and submitting a patch to the Lustre code.

Note: If you have questions or experience problems, send email to the Admins.

For more information about Git, see the Git home

Naming conventions

Stable development branches are named b{major}_{minor} (for example, b1_6 and b1_8). Even-numbered minor releases are considered stable releases. Odd-numbered minor releases correspond to alpha and beta releases and will sometimes be given v{major}_{minor}_{patch} tags to provide a point of reference for internal and external testing.

A release branch is created an official release to isolate it from further development and named b_release_{major}_{minor}_{patch} (for example, b_release_1_8_0). A final release gets a tag in the form v{major}_{minor}_{patch} (for example, v1_8_0 or v1_6_7_1).

Work for the next upcoming version is done on the master branch.

The Lustre Subsystem Map describes each of the subsystems in the Lustre code.