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.

Accessing Lustre Code: Difference between revisions

From Obsolete Lustre Wiki
Jump to navigationJump to search
No edit summary
 
(111 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Content from Open CVS, Lustre CVS and Lustre External CVS
<small>''(Updated: Jan 2010)''</small>


As an open-source product, we encourage contributions to develop and test a more robust, feature-rich Lustre by trying out the software while it is under development. To obtain Lustre code from the source repository, you must have CVS (Concurrent Versioning System) installed.  
'''''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]].


== Accessing the Open CVS repository ==
----
[[Intro]]


Check out Lustre source code as follows:
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.


1. Set CVSROOT in your environment by entering one of these commands:
  git clone git://git.lustre.org/prime/lustre.git
  :pserver:anonymous@cvs.lustre.org:/lustre
or
cvs -d :pserver:anonymous@cvs.lustre.org:/lustre login


2. Run
'''''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.''
  cvs login
If a password is requested, hit enter to continue.


3. Check out the lustre source by entering:
See [[Contribute]] for more information about developing, testing, and submitting a patch to the Lustre code.
cvs co lustre
4. Check out the lustre modules by entering:
cd lustre
./lustrecvs b1_6
In this example, modules for Release 1.6 are checked out.


Stable development branches are named b''{major}''_''{minor}'' (for example, b1_6 and b1_8).  [[Release branches are cut for making an official release to isolate it from further development]], 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).
'''''Note:''''' If you have questions or experience problems, send email to the [mailto:lustre-wiki-feedback@sun.com Admins].


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.  Long-range development is done on the HEAD branch.
For more information about Git, see the [http://git-scm.com/ Git home]


=== Example ===
=== Naming conventions ===
In this example, all sources are checked out into ''~/tmp''.


<code>
Stable development branches are named b''{major}''_''{minor}'' (for example, b1_6 and b1_8). Even-numbered minor releases are considered stable releasesOdd-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.   
[[cfaber@atitude]]:~$ '''cd tmp'''
cfaber@atitude:~/tmp$ '''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>
cfaber@atitude:~/tmp$ '''cvs -d :pserver:anonymous@cvs.lustre.org:/lustre co 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>
cfaber@atitude:~/tmp$ '''cd lustre'''
cfaber@atitude:~/tmp/lustre$ '''./lustrecvs b1_6'''
<font color=red> ''(You may also use '''lustrecvs HEAD''' for the HEAD release)''</font><br>
lustrecvs: updating lustrecvs
cvs update: Updating .
  lustrecvs: Checking out build from b1_6
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>


=== CVS Modules ===
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).
The following modules are provided via the anonymous pserver:
*lustre
*ldiskfs
*libsysio
*lnet
*lustre-build (as .../build)
*lustre-core (as .../lustre)
*lustre-snmp (as .../snmp)


= Accessing the Lustre CVS repository =
Work for the next upcoming version is done on the ''master'' branch.


This page contains instructions for obtaining CVS versions of Lustre, as well as migrating checkouts from sourceforge to the new CVS server.
The Lustre [[Subsystem Map]] describes each of the subsystems in the Lustre code.
 
== Anonymous (Read-Only) CVS Access ==
 
See the [[Open_CVS]] document for detailed information.
 
== Read/Write CVS Access ==
 
* Check that you can log in to bugzilla
 
: CVS and bugzilla share the same account information.  Try to log in to [https://bugzilla.lustre.org/userprefs.cgi bugzilla] to make sure your account is working.
 
* Upload a public ssh key
 
: You can use an ssh key so that you don't have to keep typing in your password.  This is done in bugzilla's [http://bugzilla.lustre.org/userprefs.cgi user preferences].  If there is no "Change Public SSH key" field, please send mail to the address below.
 
: Currently, only SSH2 keys are supported.
 
* Set the CVS_RSH environment variable.
 
: For bash users, this is <pre>export CVS_RSH=ssh</pre>.  For csh users, <pre>setenv CVS_RSH ssh</pre>.
 
: You should probably put this in your .bashrc or .cshrc.
 
* You can now check out lustre by running the following (changing <pre>youraccountname</pre> to your cvs account name, as specified on the [https://bugzilla.lustre.org/userprefs.cgi user preferences page]):
 
: <pre>
: $ cvs -d :ext:youraccountname@cvs.lustre.org:/cvsroot/cfs co lustre
: $ cd lustre
: $ ./lustrecvs b1_4
</pre>
 
= Problems =
 
Not working as you expected?  Do you think you should have CVS access, but don't?  Send email to cvs-admin@cvs.lustre.org

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.