Home Help Center

iceserviceinstall icegridnode does not load IceSSL Plugin

bernhardbernhard Member Bernhard TittelbachOrganization: Technical University of GrazProject: Communication Networks and Satellite Communication
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

  • bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    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
  • bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    You should also check the Windows EventLog for any error message.

    Bernard
  • mesmes CaliforniaAdministrators, ZeroC Staff Mark SpruiellOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff
    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
  • bernhardbernhard Member Bernhard TittelbachOrganization: Technical University of GrazProject: Communication Networks and Satellite Communication
    [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!
  • mesmes CaliforniaAdministrators, ZeroC Staff Mark SpruiellOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff
    Glad that worked for you. We'll address this in the next release.

    Regards,
    Mark
Sign In or Register to comment.