Archived

This forum has been archived. Please start a new discussion on GitHub.

iceserviceinstall icegridnode does not load IceSSL Plugin

Hi,
I'm trying to install icegridregistry and icegridnode as windows services using iceserviceinstall.
Ice version is 3.4.2, installed using the .msi installer.

Installing icegridregistry works ok (no errors even in windows system logs):
C:\com>iceserviceinstall icegridregistry registry_ssl_windows.cfg

but installing icegridnode fails with the following error:
C:\com>iceserviceinstall icegridnode node1_ssl_windows.cfg --DependOnRegistry=1

Error: ReferenceFactory.cpp:447: Ice::EndpointParseException:
error while parsing endpoint `invalid endpoint `ssl -h iceregistry.ourdomain.at' in `IceGrid/Locator:ssl -h iceregistry.ourdomain.at''
Press any key to continue . . .

Starting icegridnode as normal user with --Ice.Config=node1_ssl_windows.cfg works without any problems.

I've encountered this problem on both Windows XP (C: is Fat32) and Windows 7 (C: is NTFS).
After trying several things, It looks like a bug to me now, but I'm still hoping it might just be some misconfiguration on my part.
In any case I'm out of ideas and any help would be greatly appreciated !

Config Files:
C:\com>cat registry_ssl_windows.cfg
# SSL
PermissionsVerifier.Endpoints=ssl -p 11112
Ice.Plugin.IceSSL=IceSSL:createIceSSL
IceSSL.CertAuthFile=ca_cert.pem
IceSSL.CertFile=registry_cert.pem
IceSSL.KeyFile=registry_key.pem
IceSSL.DefaultDir=C:\com\icessl

IceSSL.VerifyPeer=1

IceSSL.TrustOnly.Client=CN="IceGrid Registry";CN="IceGrid Node";CN="Glacier2"
IceSSL.TrustOnly.Server.IceGrid.Registry.Server=CN="Server"
IceSSL.TrustOnly.Server.IceGrid.Registry.Internal=CN="IceGrid Node";CN="IceGrid Registry"

# Registry properties
IceGrid.Registry.Client.Endpoints=ssl -h iceregistry.ourdomain.at -p 4061
IceGrid.Registry.Server.Endpoints=ssl
IceGrid.Registry.Internal.Endpoints=ssl
IceGrid.Registry.AdminPermissionsVerifier=IceGrid/NullPermissionsVerifier
IceGrid.Registry.AdminSSLPermissionsVerifier=IceGrid/NullSSLPermissionsVerifier
IceGrid.Registry.Data=C:\com\registry

#Ice properties
Ice.RetryIntervals=0 100 500 1000
C:\com>cat node1_ssl_windows.cfg
# SSL
PermissionsVerifier.Endpoints=ssl -p 11112
Ice.Plugin.IceSSL=IceSSL:createIceSSL
IceSSL.CertAuthFile=ca_cert.pem
IceSSL.CertFile=node_cert.pem
IceSSL.KeyFile=node_key.pem
IceSSL.DefaultDir=C:\com\icessl

IceSSL.TrustOnly.Client=CN="Server";CN="IceGrid Registry";CN="Client"
IceSSL.TrustOnly.Server=CN="IceGrid Registry"

# Node properties
IceGrid.Node.Endpoints=ssl
IceGrid.Node.Name=Node1
IceGrid.Node.Data=C:\com\node
IceGrid.Node.Output=C:\com\nodestdout
IceGrid.Node.CollocateRegistry=0
Ice.Default.Locator=IceGrid/Locator:ssl -h iceregistry.ourdomain.at -p 4061

#Ice properties
Ice.RetryIntervals=0 100 500 1000

Comments

  • bernard
    bernard Jupiter, FL
    Hi Bernhard,

    It could be a permissions problem, although it's strange you would have this problem for the icegridnode but not the icegridregistry.

    I assume you're installing both the icegridregistry and icegridnode on the same machine (otherwise the DependOnRegistry would be meaningless).

    Could you try the following:

    - pass "--Debug" to iceserviceinstall, to get some additional debug info

    - remove the optional --DependOnRegistry, to see if it's related to this optional dependency

    - register your icegridnode as your normal user, instead of LocalService (the default)
    (pass --ObjectName=<username>)

    and let us know the results!

    Thanks,
    Bernard
  • bernard
    bernard Jupiter, FL
    You should also check the Windows EventLog for any error message.

    Bernard
  • mes
    mes California
    Hi,

    I think the problem here is that iceserviceinstall is not configured to load the IceSSL plug-in, and therefore it cannot parse the value of Ice.Default.Locator. You can work around this by defining Ice.Plugin.IceSSL for iceserviceinstall:

    C:\> iceserviceinstall --Ice.Plugin.IceSSL=IceSSL:createIceSSL icegridnode \
    node1_ssl_windows.cfg --DependOnRegistry=1

    Let us know if that solves the problem for you.

    Thanks,
    Mark
  • [solved] iceserviceinstall icegridnode does not load IceSSL Plugin
    mes wrote: »

    C:\> iceserviceinstall --Ice.Plugin.IceSSL=IceSSL:createIceSSL icegridnode \
    node1_ssl_windows.cfg --DependOnRegistry=1

    Let us know if that solves the problem for you.

    Thank you Mark !!!
    The missing --Ice.Plugin.IceSSL=IceSSL:createIceSSL for iceserviceinstall was the problem exactly. Everything works perfectly now :-)
    Thanks again for the quick help!
  • mes
    mes California
    Glad that worked for you. We'll address this in the next release.

    Regards,
    Mark