Discussion:
[CI] CI reorg mostly done
Brian J. Watson
2003-06-04 02:50:04 UTC
Permalink
Aneesh-

The new CI repository is ready for you to fix up the cluster-tools build
system. It should be relatively easy, since most of the changes involved
removing files. Only the cmd, libcluster, and man directories remain,
and some of the stuff from cmd and man have been removed. As I described
in a previous e-mail, they're moving to the OpenSSI repository.

One significant change is that I removed the include directory. This
stuff should be fetched from the kernel source so that we don't have two
copies to keep in sync. The kernel directory of the CI repository
contains these header files, although for better generality the
configure script could allow the user to override this kernel source
location.

Note that my original e-mail about the reorg envisioned configure.ac
being in the root of the CI repository. I now think I prefer to have it
in cluster-tools, like it was. The only thing it's used for building is
cluster-tools, anyway. I'm not sure we want to automatically build the
kernel with it.

I'm also concerned about the precedent it would set for the OpenSSI
repository. Originally I thought it could have a configure.ac that
configured and built all of the OpenSSI utilities (openssi-tools,
util-linux, ipvsadm, etc.), but I'm afraid it would get too complicated
to deal with the various configuration options each of them have.
Besides, I think in the long-term that most developers and users will
install binary packages and just build from source the stuff they want
to customize or enhance.

The new CI repository can be checked out with this command:
cvs -d:ext:***@cvs.openssi.org:/cvsroot/ci-linux co ci

The OpenSSI repository will be ready tommorrow or the following day.

Thanks for helping me out with this,

Brian
Aneesh Kumar K.V
2003-06-04 05:07:11 UTC
Permalink
Post by Brian J. Watson
Aneesh-
The new CI repository is ready for you to fix up the cluster-tools build
system. It should be relatively easy, since most of the changes involved
removing files. Only the cmd, libcluster, and man directories remain,
and some of the stuff from cmd and man have been removed. As I described
in a previous e-mail, they're moving to the OpenSSI repository.
One significant change is that I removed the include directory. This
stuff should be fetched from the kernel source so that we don't have two
This required some changes to cluster.h ssisys.h in the kernel
directory. I am not committing changes for the same. But once we have
openssi repository also reorganised I guess we can fix these issues.
Also we need to make sure we don't keep the same files in both the
repository.
Post by Brian J. Watson
copies to keep in sync. The kernel directory of the CI repository
contains these header files, although for better generality the
configure script could allow the user to override this kernel source
location.
yes user can override the kernel source directory when configuring by

./configure --with-linux_srcdir=<linux-src-dir>
Post by Brian J. Watson
Note that my original e-mail about the reorg envisioned configure.ac
being in the root of the CI repository. I now think I prefer to have it
in cluster-tools, like it was. The only thing it's used for building is
cluster-tools, anyway. I'm not sure we want to automatically build the
kernel with it.
We need to keep configure.ac in ci directory since running

automake --add-missing in the ci/cluster-tools will throw this error.

***@gfsserv:~/SSI-reorg/ci-test/cluster-tools$ automake
--add-missing
Makefile.am: required file `./NEWS' not found
Makefile.am: required file `./README' not found
Makefile.am: required file `./AUTHORS' not found
Makefile.am: required file `./ChangeLog' not found


I have modified ci/configure.ac. We need to delete
ci/cluster-tools/configure.ac. Once you confirm on the above changes we
can delete the same.As you can also see from the changes i did, no
Makefiles are generated in ci/ directory. configure creates related
Makefiles under ci/cluster-tools/ directory only . So the procedure to
build is

cd ci
< All the steps need to configure >
cd cluster-tools
make
make install
Post by Brian J. Watson
I'm also concerned about the precedent it would set for the OpenSSI
repository. Originally I thought it could have a configure.ac that
configured and built all of the OpenSSI utilities (openssi-tools,
util-linux, ipvsadm, etc.), but I'm afraid it would get too complicated
to deal with the various configuration options each of them have.
Besides, I think in the long-term that most developers and users will
install binary packages and just build from source the stuff they want
to customize or enhance.
I will look into this once openssi repository reorganisation is
finished. Ideally i would expect one make install to install the entire
set of utilities for me.


-aneesh
Brian J. Watson
2003-06-05 00:41:05 UTC
Permalink
Post by Aneesh Kumar K.V
This required some changes to cluster.h ssisys.h in the kernel
directory.
I checked the differences for cluster.h into the new CI repository. I
didn't see any relevant differences for ssisys.h.
Post by Aneesh Kumar K.V
Also we need to make sure we don't keep the same files in both the
repository.
I've fixed this. I've made an attempt to make sure OpenSSI code is
turned off if the files are just built for CI.
Post by Aneesh Kumar K.V
yes user can override the kernel source directory when configuring by
./configure --with-linux_srcdir=<linux-src-dir>
Excellent.
Post by Aneesh Kumar K.V
We need to keep configure.ac in ci directory since running
automake --add-missing in the ci/cluster-tools will throw this error.
--add-missing
Makefile.am: required file `./NEWS' not found
Makefile.am: required file `./README' not found
Makefile.am: required file `./AUTHORS' not found
Makefile.am: required file `./ChangeLog' not found
Isn't there a way to override this behavior if we had to? Nevertheless,
I like your argument that 'make install' should install all of the
OpenSSI utilities. I'm just concerned about problems passing
configuration options to all the various third-party utilities.
Post by Aneesh Kumar K.V
We need to delete ci/cluster-tools/configure.ac.
I've put in a request for SF to do this.
Post by Aneesh Kumar K.V
As you can also see from the changes i did, no
Makefiles are generated in ci/ directory. configure creates related
Makefiles under ci/cluster-tools/ directory only . So the procedure to
build is
cd ci
< All the steps need to configure >
cd cluster-tools
make
make install
Maybe we can put a simple Makefile.am in the root that passes along
'make' and 'make install' to cluster-tools. This behavior would be even
more useful in the OpenSSI repository.

Brian
Aneesh Kumar K.V
2003-06-05 02:22:17 UTC
Permalink
Post by Brian J. Watson
Post by Aneesh Kumar K.V
This required some changes to cluster.h ssisys.h in the kernel
directory.
I checked the differences for cluster.h into the new CI repository. I
didn't see any relevant differences for ssisys.h.
I made these changes for cluster-tools to build

--- /home/kvaneesh/SSI-reorg/ci/kernel/include/cluster/ssisys.h Wed Jun
4 03:52:31 2003
+++ ssisys.h Thu Jun 5 18:22:58 2003
@@ -21,8 +21,11 @@
*
*/
#ifndef _CLUSTER_SSISYS_H
#define _CLUSTER_SSISYS_H
+/* JAG - Linux version ???? */
+#define FSTYPSZ 16
+

#include <linux/types.h>

#ifdef __KERNEL__
@@ -154,8 +157,9 @@

extern long do_ssisys(ssisys_iovec_t *);
extern long do_discover_mounts(const char *, int);

+#endif /* __KERNEL__ */
/*
* IN argument structure used for SSISYS_LDLVL_INIT
*/
struct ts_ldinit_inargs {
@@ -371,9 +375,8 @@
};
typedef struct ts_get_primary_inargs ts_get_primary_inargs_t;


-#endif /* __KERNEL__ */

#ifndef __KERNEL__

/*
Brian J. Watson
2003-06-05 21:05:09 UTC
Permalink
Post by Aneesh Kumar K.V
I made these changes for cluster-tools to build
--- /home/kvaneesh/SSI-reorg/ci/kernel/include/cluster/ssisys.h Wed Jun
4 03:52:31 2003
+++ ssisys.h Thu Jun 5 18:22:58 2003
@@ -21,8 +21,11 @@
*
*/
#ifndef _CLUSTER_SSISYS_H
#define _CLUSTER_SSISYS_H
+/* JAG - Linux version ???? */
+#define FSTYPSZ 16
+
This value is now defined in kernel/include/cluster/nsc.h. Grep'ing the
source, I see it's only used in the CFS kernel code. I don't think it
needs to be redefined here.
Post by Aneesh Kumar K.V
@@ -154,8 +157,9 @@
extern long do_ssisys(ssisys_iovec_t *);
extern long do_discover_mounts(const char *, int);
+#endif /* __KERNEL__ */
/*
* IN argument structure used for SSISYS_LDLVL_INIT
*/
struct ts_ldinit_inargs {
@@ -371,9 +375,8 @@
};
typedef struct ts_get_primary_inargs ts_get_primary_inargs_t;
-#endif /* __KERNEL__ */
It looks like there are only two structures in this block that are used
by cluster-tools. The rest of it doesn't need to be exposed outside the
kernel. I've checked in a fix that only exposes what is needed. I've
tested it to make sure it builds.

Brian

Loading...