Uploaded image for project: 'OpenIDM'
  1. OpenIDM
  2. OPENIDM-7141

Updating connector info provider failover settings is ignored

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • OpenIDM 4.5.0, OpenIDM 5.0.0
    • OpenIDM 5.5.0
    • dependencies
    • groovy connector 1.4.2.1 rev.b433afe57a32a5d8e43506f2177cced052875312, OpenJDK 1.8.0_102, OpenIDM 5.0.0-SNAPSHOT (8efb0db), OpenICF connector server 1.5.3.0-SNAPSHOT

    Description

      After commit 0a776d741df which only updates felix version to 2.0.6, update of connectorinfprovider configuration with failover is ignored

      Steps to reproduce

      1. configure openidm to use only one remote ICF server (connectorinfoprovider should look like below) with groovy connector
        {
           "connectorsLocation" : "connectors",
           "remoteConnectorServers" :
              [
                 {
                    "name" : "remote",
                    "host" : "127.0.0.1",
                    "port" : 8759,
                    "useSSL" : false,
                    "timeout" : 0,
                    "key" : "changeit",
                    "heartbeatInterval" : 10,
                    "protocol": "websocket"
                 }
              ]
        }
        
      2. after successful test of configuration, *shutdown OpenIDM*, add another remote ICF server and update connectorinfoprovider
        {
            "connectorsLocation" : "connectors",
            "remoteConnectorServers" : [
                {
                    "name" : "java1",
                    "host" : "127.0.0.1",
                    "port" : 8759,
                    "protocol" : "websocket",
                    "useSSL" : false,
                    "timeout" : 0,
                    "key" : "changeit"
                },
                {
                    "name" : "java2",
                    "host" : "127.0.0.1",
                    "port" : 8760,
                    "protocol" : "websocket",
                    "useSSL" : false,
                    "timeout" : 0,
                    "key" : "changeit"
                 }
            ],
            "remoteConnectorServersGroups" : [
                {
                    "name" : "remote",
                    "algorithm" : "failover",
                    "serversList" : [
                        {"name":  "java1"},
                        {"name":  "java2"}
                    ]
                }
            ]
        }
        
      3. *Startup* OpenIDM again
      4. then test groovy system endpoint, which will fail if first server is down
      5. check configuration endpoint (old configuration is still in endpoint)
        curl -S -u openidm-admin:openidm-admin -X GET localhost:8080/openidm/config/provisioner.openicf.connectorinfoprovider
        
        {
            "_id": "provisioner.openicf.connectorinfoprovider", 
            "connectorsLocation": "connectors", 
            "remoteConnectorServers": [
                {
                    "heartbeatInterval": 10, 
                    "host": "127.0.0.1", 
                    "key": {
                        "$crypto": {
                            "type": "x-simple-encryption", 
                            "value": {
                                "cipher": "AES/CBC/PKCS5Padding", 
                                "data": "UzQwjooiVEtVKUyAhRrWUA==", 
                                "iv": "PNevdwWmGkqRhC5fwbebwQ==", 
                                "key": "openidm-sym-default", 
                                "mac": "yMjlm3hqxiIp3wD1V2c5mg==", 
                                "salt": "EWqP0pXh8PeSbhxAyEVObg=="
                            }
                        }
                    }, 
                    "name": "remote", 
                    "port": 8759, 
                    "protocol": "websocket", 
                    "timeout": 0, 
                    "useSSL": false
                }
            ]
        }
        

      Tests

      1. Link to jenkins test failing run: https://ci.forgerock.org/view/OpenIDM/job/OpenIDM-Tests-Master-ICF-Core-Linux-OrientDB/1097/robot/report/log.html#s1-s1-s2-s2-s1-s6-t1
      2. Command to run failover tests in pyforge
        ./run-pybot.py --suite *.*java*.*failover*  --test failover_algorithm OpenIDM
        

      Attachments

        Issue Links

          Activity

            People

              alin Alin Brici
              michal.orlik@profiq.cz Michal Orlik
              Michal Orlik Michal Orlik
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: