Results 1 to 8 of 8

Thread: Server Update

  1. #1
    jeevaraj is offline Registered User
    Name: Jeevaraj Dhanaraj
    Organization: Ishi Systems Inc
    Project: R & D
    Join Date
    Aug 2008
    Posts
    9

    Server Update

    Hi,

    Here is my scenario. I have 3 nodes running version 1.0 application. Now, I want to migrate the application to version 2.0. However, we want the migration to be seamless, meaning,

    a. Update node1 with version 2.0, while the nodes 2 and 3 are still serving with version 1.0.
    b. Node1 has application 2.0, Nodes 2 and 3 have application 1.0
    c. Now update node 2 with version 2.0
    d. Node1 and 2 have application 2.0, node 3 has 1.0
    e. Continue for remaining node/s


    Can this be accomplished using icegrid admin or programmatically?

    Thanks,
    Jeeva

  2. #2
    michi's Avatar
    michi is offline Registered User
    Name: Michi Henning
    Organization: Triodia Technologies
    Project: I have a passing interest in Ice :-)
    Join Date
    Feb 2003
    Location
    Brisbane, Australia
    Posts
    1,055
    You will probably find "Can a Leopard Change its Spots?" in Issue 8 of Connections useful reading.

    Cheers,

    Michi.

  3. #3
    jeevaraj is offline Registered User
    Name: Jeevaraj Dhanaraj
    Organization: Ishi Systems Inc
    Project: R & D
    Join Date
    Aug 2008
    Posts
    9
    Thanks.

    I understand that we could use facets if there are any changes/updates to the ice interfaces.

    However, in our case, the interface remains the same and the implementation changes/updates with enhancements and fixes.

    I was wondering if we could use IcePatch2client. But I get error as below,

    E:\Ice-3.3.0>icepatch2client --IcePatch2.Endpoints="tcp -h <server host> -p 55599" E:\Ice-3.3.0\IceGrid\TestIceNode4\distrib
    icepatch2client: Outgoing.cpp:422: Ice::ObjectNotExistException:
    object does not exist:
    identity: `IcePatch2/server'
    facet:
    operation: ice_isA

    In the server side I see the object as below:
    >>> object list
    <app-name>.IcePatch2/server

    Any guidelines?

    Thanks,
    Jeeva

  4. #4
    jeevaraj is offline Registered User
    Name: Jeevaraj Dhanaraj
    Organization: Ishi Systems Inc
    Project: R & D
    Join Date
    Aug 2008
    Posts
    9
    The following command worked:

    E:\Ice-3.3.0>icepatch2client --IcePatch2.Endpoints="tcp -h <server host> -p 55599" --IcePatch2.InstanceName=<app-name>.IcePatch2 E:\Ice-3.3.0\IceGrid\TestIceNode4\distrib

    This way, we re able to update only a particular applications binaries in one node at a time.

    The other approach we are thinking of is: disable, stop server on node1, recalc sum for the new binaries, patch the node (path on other running nodes should fail while it succeeds on node1), enable, start the server on node1.

    Do we have other/better approaches ?

    Thanks,
    Jeeva

  5. #5
    benoit's Avatar
    benoit is offline ZeroC Staff
    Name: Benoit Foucher
    Organization: ZeroC, Inc.
    Project: Ice
    Join Date
    Feb 2003
    Location
    Rennes, France
    Posts
    2,196
    Hi,

    Did you try the icegridadmin server patch command? It should take care of stopping the server (and eventually other servers running on the node that depend on the same application if you use application distributions) and updating the application and server distribution. See the Ice manual (here) for more information on server and application distributions.

    Cheers,
    Benoit.

  6. #6
    jeevaraj is offline Registered User
    Name: Jeevaraj Dhanaraj
    Organization: Ishi Systems Inc
    Project: R & D
    Join Date
    Aug 2008
    Posts
    9
    Thanks Benoit. Your input helped. We used,
    >>>server patch <servername> -f
    One more thing to note is: the patch server has to be stopped before patching the server
    >>>server stop <appname>.IcePatch2

    So the sequence is:
    1. Recalculate icepatch sum (icepatch2calc)
    2. Stop icepatch2 server for the application (server stop <appname>.IcePatch2),
    3. Patch the server (server patch <servername> -f)

    Thanks again,
    Jeeva

  7. #7
    benoit's Avatar
    benoit is offline ZeroC Staff
    Name: Benoit Foucher
    Organization: ZeroC, Inc.
    Project: Ice
    Join Date
    Feb 2003
    Location
    Rennes, France
    Posts
    2,196
    Hi,

    It would be best to stop the IcePatch2 server while running icepatch2calc. Otherwise, if an IceGrid node tries to patch a server or application while icepatch2calc is running, the IcePatch2 server might send it invalid data. So I would recommend to do the following instead:

    • server disable <appname>.IcePatch2
    • server stop <appname>.IcePatch2
    • run icepatch2calc
    • server enable <appname>.IcePatch2
    • server patch -f <servername>

    Disabling the IcePatch2 server while icepatch2calc is running will ensure that it's not started on-demand.

    Cheers,
    Benoit.

  8. #8
    alan_rbc is offline Registered User
    Name: Alan Afif
    Organization: Royal Bank of Canada
    Project: IceGrid-based Data repository and associated apps
    Join Date
    Aug 2011
    Posts
    5

    How can I diagnose IcePatch2 'patch' problem

    Hi Benoit,

    I wonder if you can advise on how I can get more diagnostic information on a patch problem I'm having.


    I have this setup -

    Host 1 - IceGrid with 'DataServicePatcher.IcePatch2' specifying endpoints "tcp -p 6501' and local source distribution directory 'D'
    Host 2 - IceGrid with one application 'A' configured to get its distribution from above IcePatch2Server (via endpoints "tcp -h Host1 -p 6501") to an identical local directory 'D'

    Sequence of events -
    1. Stop DataServicePatcher.IcePatch2 on Host 1
    2. Run IcePatch2Calc on directory D of Host 1
    3. Restart DataServicePatcher.IcePatch2 on Host 1
    4. run icegridadmin (from any host - shouldn't matter) targeting IceGrid of Host 2 with command to patch application 'A'

    This does not seem to work though no error is shown on the IceGridAdmin console output.

    I have carefully checked my setup but cannot spot what I'm doing wrong.

    Thanks for any pointers you can give me to get more diagnostic information so I can solve this.

    Regards,
    Alan

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 0
    Last Post: 02-26-2009, 10:04 AM
  2. Should slice2py --prefix update imports?
    By joshmoore in forum Bug Reports
    Replies: 1
    Last Post: 06-07-2007, 04:27 PM
  3. Please, update FSF address at ICE_LICENSE
    By fmoya in forum Bug Reports
    Replies: 1
    Last Post: 11-06-2006, 05:00 PM
  4. Ice 2.1.2 update to 3.0 in FC3 ??
    By surfer in forum Help Center
    Replies: 1
    Last Post: 11-18-2005, 08:14 AM
  5. Replies: 3
    Last Post: 11-15-2004, 09:04 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •