glassfish
  1. glassfish
  2. GLASSFISH-18449

Cluster start overwrites config on SSH node and keeps DAS IP address

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Works as designed
    • Affects Version/s: 3.1.2_b23
    • Fix Version/s: None
    • Component/s: configuration
    • Labels:
      None
    • Environment:

      Linux CentOS 6.2 x86_64

      Description

      When setting up a Cluster with SSH nodes, attempting to start the cluster will copy cluster's config, both domain.xml and overall /config folder.
      This mean local files such as glassfish-jk.properties are being deleted on remote nodes.
      The domain.xml config is also pushed unchanged, meaning any binding which is not 0.0.0.0 or

      {default-localhost}

      will keep the DAS' IP address.

        Activity

        Hide
        Tom Mueller added a comment -

        What you describe is the expected behavior. An instance is not supposed to have any configuration information that does not come from the DAS. If you have additional files that should be synced from the DAS, these can be specified in a config-files file or in a config-specific directory. See

        http://docs.oracle.com/cd/E18930_01/html/821-2426/gkrdd.html#gksaz

        Show
        Tom Mueller added a comment - What you describe is the expected behavior. An instance is not supposed to have any configuration information that does not come from the DAS. If you have additional files that should be synced from the DAS, these can be specified in a config-files file or in a config-specific directory. See http://docs.oracle.com/cd/E18930_01/html/821-2426/gkrdd.html#gksaz
        Hide
        benjamin_m added a comment -

        Being able to specify extra config files is good but I hardly see how overwriting binding IP addresses on remote nodes can be considered as the right function.

        Show
        benjamin_m added a comment - Being able to specify extra config files is good but I hardly see how overwriting binding IP addresses on remote nodes can be considered as the right function.
        Hide
        Tom Mueller added a comment -

        Please provide information about the configuration that you are trying to achieve.

        The domain.xml contains instance- and cluster-specific configuration, so IP bindings for each instance can be put into the domain.xml file that is on the DAS. Here is how it is typically done.

        When a cluster is created, a named config for the cluster is created too. So for cluster c1, we have config c1-config. Within that config, the network bindings are defined, such as:

        <network-listener port="${HTTP_LISTENER_PORT}" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener>
        

        The above is what is generated by default. To bind the address too, make this:

        <network-listener address="${HTTP_LISTENER_ADDR}" port="${HTTP_LISTENER_PORT}" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener>
        

        Then, for each instance, the ports and IP addresses are defined in the server element as system properties:

            <server name="i2" node-ref="localhost-domain1" config-ref="c1-config">
              <property name="rendezvousOccurred" value="true"></property>
              <system-property name="JMX_SYSTEM_CONNECTOR_PORT" value="28687"></system-property>
              <system-property name="JMS_PROVIDER_PORT" value="27677"></system-property>
              <system-property name="ASADMIN_LISTENER_PORT" value="24849"></system-property>
              <system-property name="HTTP_LISTENER_PORT" value="28081"></system-property>
              <system-property name="HTTP_LISTENER_ADDR" value="123.123.123.123"></system-property>
              <system-property name="IIOP_LISTENER_PORT" value="23701"></system-property>
              <system-property name="IIOP_SSL_LISTENER_PORT" value="23821"></system-property>
              <system-property name="JAVA_DEBUGGER_PORT" value="29010"></system-property>
              <system-property name="OSGI_SHELL_TELNET_PORT" value="26667"></system-property>
              <system-property name="HTTP_SSL_LISTENER_PORT" value="28182"></system-property>
              <system-property name="IIOP_SSL_MUTUALAUTH_PORT" value="23921"></system-property>
            </server>
        

        Thus, all of the configuration information for the entire cluster is centrally stored on the DAS.

        Show
        Tom Mueller added a comment - Please provide information about the configuration that you are trying to achieve. The domain.xml contains instance- and cluster-specific configuration, so IP bindings for each instance can be put into the domain.xml file that is on the DAS. Here is how it is typically done. When a cluster is created, a named config for the cluster is created too. So for cluster c1, we have config c1-config. Within that config, the network bindings are defined, such as: <network-listener port= "${HTTP_LISTENER_PORT}" protocol= "http-listener-1" transport= "tcp" name= "http-listener-1" thread-pool= "http-thread-pool" ></network-listener> The above is what is generated by default. To bind the address too, make this: <network-listener address= "${HTTP_LISTENER_ADDR}" port= "${HTTP_LISTENER_PORT}" protocol= "http-listener-1" transport= "tcp" name= "http-listener-1" thread-pool= "http-thread-pool" ></network-listener> Then, for each instance, the ports and IP addresses are defined in the server element as system properties: <server name= "i2" node-ref= "localhost-domain1" config-ref= "c1-config" > <property name= "rendezvousOccurred" value= " true " ></property> <system-property name= "JMX_SYSTEM_CONNECTOR_PORT" value= "28687" ></system-property> <system-property name= "JMS_PROVIDER_PORT" value= "27677" ></system-property> <system-property name= "ASADMIN_LISTENER_PORT" value= "24849" ></system-property> <system-property name= "HTTP_LISTENER_PORT" value= "28081" ></system-property> <system-property name= "HTTP_LISTENER_ADDR" value= "123.123.123.123" ></system-property> <system-property name= "IIOP_LISTENER_PORT" value= "23701" ></system-property> <system-property name= "IIOP_SSL_LISTENER_PORT" value= "23821" ></system-property> <system-property name= "JAVA_DEBUGGER_PORT" value= "29010" ></system-property> <system-property name= "OSGI_SHELL_TELNET_PORT" value= "26667" ></system-property> <system-property name= "HTTP_SSL_LISTENER_PORT" value= "28182" ></system-property> <system-property name= "IIOP_SSL_MUTUALAUTH_PORT" value= "23921" ></system-property> </server> Thus, all of the configuration information for the entire cluster is centrally stored on the DAS.

          People

          • Assignee:
            Tom Mueller
            Reporter:
            benjamin_m
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: