7 Replies Latest reply on Oct 21, 2003 11:00 AM by juha

    netboot 3.2.2RC1 with the 'all' server, or cloning servers

    diesel

      Greetings,

      My objective is to configure one master server with a number of web services and then to have a bunch of other servers clone themselves from the master.

      When a service is deployed to the master i want it to automagically deploy to all clones.

      Am I correct in assuming that netboot is what I want to do?

      Because I want to use JBoss.NET services (axis and such) am I correct that I want to netboot the 'all' server from the master?

      I am unable to do this. Can someone tell me what I am doing wrong?

      Here is the procedure I used:
      1. on the webserver, unzip jboss-3.2.2RC1_tomcat-4.1.24 into the url http://server/jboss . I will refer to this directory as $URL.
      2. cd $URL/lib
      3. find ../server/all/lib/*.jar -exec ln -s {} . \;

      4. on the client, unzip the same archive and cd bin.
      5. ./run.sh -c all --netboot http://server/jboss

      I get a gazillion exceptions starting with this one:
      java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.management.j2ee.LocalJBossServerDomain

      other exceptions include:
      java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.logging.Log4jService
      java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.web.WebService

      So I understand that these are services being loaded from server/all/conf/jboss-service.xml .

      The question is, how can I configure the netboot server to tell the client where to find these?

      Am I even on the right track?

      Chad

        • 1. Re: netboot 3.2.2RC1 with the 'all' server, or cloning serve

          Yes netboot is what you want to do.

          One problem with netboot is that it does not support unpacked deployments, so you need to zip up those that are by default unpacked in the ALL configuration.

          -- Juha

          • 2. Re: netboot 3.2.2RC1 with the 'all' server, or cloning serve
            diesel

            Hello,


            > One problem with netboot is that it does not support
            > unpacked deployments, so you need to zip up those
            > that are by default unpacked in the ALL
            > configuration.

            OK, that will apply to things like jboss-net.sar and things? Can I simply zip them and put them in server/all/lib ?

            The problems I am seeing are not unique to the 'all' configuration- I cannot even get minimal to boot. For the rest of this message I will refer to the minimal configuration to reduce ambiguity.

            I follow the procedure previously described to set up the server and client. When I run the command:
            ./run.sh -c minimal --netboot http://server/jboss/jboss-3.2.2RC1_tomcat-4.1.24
            on the client I get a bunch of exceptions that start like this:
            WARN [ServiceConfigurator] Failed to complete install
            java.lang.ClassNotFoundException: No ClassLoaders found for:

            These exceptions occur for each of the means listed at the bottom of this message. All of these services are listed in server/minimal/conf/jboss-service.xml and each of those classes seem to come in a jar that is already in the $URL/lib directory I described above.

            Why can't netboot find them? Do I need to hardcode a path to them somewhere? I tried to replicate the jboss-service.xml file I found at http://jboss.sourceforge.net/demo/netboot/server/j2ee/conf/jboss-service.xml but I get the same problem.

            Is this a versioning thing? Has anybody actually gotten 3.2.2RC1 to netboot? What am I missing?

            Perhaps it would be best for me to follow somebody else's procedure rather then trying to troubleshoot my own. Is there any documentation? At the demo site above I saw the instructions "mimic the directory structure..." but that isn't really accurate, is it? Changes in the server configuration files are also required.

            Chad Matsalla

            No classloaders found for:
            org.jboss.logging.Log4jService
            org.jboss.naming.NamingService
            org.jboss.naming.JNDIView

            • 3. Re: netboot 3.2.2RC1 with the 'all' server, or cloning serve
              admin

              Do you have WebDAV enabled?

              -- Juha

              • 4. Re: netboot 3.2.2RC1 with the 'all' server, or cloning serve
                diesel


                Do you mean on the server? No, the server is an Apache server.

                Does the webserver need to be a JBoss server?

                This brings up a potentially stupid question to which I have not found an answer: Does the netboot server need to be running JBoss?

                I volunteer to write documentation on this when I'm done if it helps.

                Thanks,

                Chad

                • 5. Re: netboot 3.2.2RC1 with the 'all' server, or cloning serve

                  No, the server doesn't have to be JBoss, it can be any HTTP server. But without WebDAV, remote directory scanning won't work, so you will have to give specific URLs for each jar in the lib directory for instance (by default it uses '*' to get all).

                  With webDAV you can use directory scanning. There's a WebDAV servlet as part of the JBoss distro if you want to use JBoss as your netboot server. There should be WebDAV for Apache as well but I have never set it up.

                  Anyhow, I heavily recommend you go with the WebDAV setup.

                  -- Juha

                  • 6. Re: netboot 3.2.2RC1 with the 'all' server, or cloning serve
                    diesel

                    Thanks Juha!

                    I have it at least booting now- that's a lot further then before. I made this happen by enabling WebDAV on $URL . Excellent.

                    Now I have come to the unpacked deployment 'issue'. Can you give me any tips on the best way to package the unpacked deployments?

                    1. Do they have to be done one by one?
                    http-invoker.sar, jboss-net.sar,jbossha-httpsession.sar and so on?
                    2. Can I get these from somewhere where they are already packaged? Please? haha.
                    3. What should the jboss-service.xml file look like when I package these?

                    I have to admit, this whole process looks like a whole lot of work with little promise of eventual success. What can I do to maximize my success?

                    • 7. Re: netboot 3.2.2RC1 with the 'all' server, or cloning serve

                      You just need to zip up the files and make sure you've got jboss-service.xml in your root META-INF directory.

                      You can use ant to do it:

                      ant -buildfile zip.xml -Darchive=jmx-console.war
                      
                      <project name="Make zip" default="zip" basedir=".">
                       <target name="zip">
                       <move todir="${archive}.orig">
                       <fileset dir="${archive}"/>
                       </move>
                       <zip destfile="${archive}" basedir="${archive}.orig"/>
                       <delete dir="${archive}.orig" />
                       </target>
                      </project>