Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-3750

Pax-Web port conflict when running container-upgrade

XMLWordPrintable

    • % %
    • Hide

      The following steps reproduce the problem:

      fabric:create --wait-for-provisioning
      container-create-ssh --host XXX --user XXX --password XXX fred_it_cisl-adapter
      fabric:profile-create fred_Commons-8182
      fabric:profile-edit --pid org.ops4j.pax.web/org.osgi.service.http.port=8182 fred_Commons-8182
      fabric:container-add-profile fred_it_cisl-adapter fred_Commons-8182
      version-create --default 1.3
      profile-edit --pid io.fabric8.version/fred_it_adapter=0.4.17 fred_Commons-8182
      container-upgrade 1.3 fred_it_cisl-adapter
      

      There will be messages like the following in the logs of the child container:

      21 15:42:30,491 | WARN  | pool-9-thread-2  | NIOSocketConnectorWrapper        | ternal.NIOSocketConnectorWrapper   40 | 103 - org.ops4j.pax.web.pax-web-jetty - 3.0.6 | Connection on port 8182 cannot be open. Exception:java.net.BindException: Address already in use Reason: Address already in use
      

      Port 8182 should not be in use at the time, since nothing is using that port except the container whose version is being upgraded.

      Show
      The following steps reproduce the problem: fabric:create --wait- for -provisioning container-create-ssh --host XXX --user XXX --password XXX fred_it_cisl-adapter fabric:profile-create fred_Commons-8182 fabric:profile-edit --pid org.ops4j.pax.web/org.osgi.service.http.port=8182 fred_Commons-8182 fabric:container-add-profile fred_it_cisl-adapter fred_Commons-8182 version-create -- default 1.3 profile-edit --pid io.fabric8.version/fred_it_adapter=0.4.17 fred_Commons-8182 container-upgrade 1.3 fred_it_cisl-adapter There will be messages like the following in the logs of the child container: 21 15:42:30,491 | WARN | pool-9-thread-2 | NIOSocketConnectorWrapper | ternal.NIOSocketConnectorWrapper 40 | 103 - org.ops4j.pax.web.pax-web-jetty - 3.0.6 | Connection on port 8182 cannot be open. Exception:java.net.BindException: Address already in use Reason: Address already in use Port 8182 should not be in use at the time, since nothing is using that port except the container whose version is being upgraded.

      When containers in a fabric are manually set by profiles to use a Pax-Web port just above 8181, there can be port conflicts when running "container-upgrade" to a new version, even though the new version does not itself contain any changes to the Pax-Web port number. This leads to containers needing to be restarted administratively after a profile change.

              pantinor@redhat.com Paolo Antinori
              rhn-support-kboone Kevin Boone
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: