[FOLIO-3080] expose edge-connexion's via a network load balancer Created: 16/Mar/21  Updated: 12/Apr/21  Resolved: 31/Mar/21

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Task Priority: P2
Reporter: Jakub Skoczen Assignee: Wayne Schneider
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Relates
relates to FOLIO-3068 add edge-connexion to reference envir... Closed
relates to FOLIO-3112 edge-nlb create NLB target groups: re... Closed
Sprint: DevOps Sprint 110, DevOps Sprint 111
Development Team: FOLIO DevOps

 Description   

Edge-connexion uses non-HTTP protocol hence the regular load balancer does not support it.

We need this to verify that the edge-connexion works (steps to verify are here: https://github.com/folio-org/edge-connexion#testing-and-running)



 Comments   
Comment by Wayne Schneider [ 24/Mar/21 ]

John Malconian I have a PR up for you to review. Does it seem like the right approach? https://github.com/folio-org-priv/folio-infrastructure/pull/270

Comment by Wayne Schneider [ 24/Mar/21 ]

In testing, I can make a connection with edge-connexion and pass it a MARC record, but I get this error in the log:

02:09:48 WARN  MainVerticle         POST /copycat/imports returned status 400: {
  "errors" : [ {
    "message" : "POST http://10.36.1.38:9130/change-manager/jobExecutions: Connection was closed",
    "parameters" : [ ]
  } ]
}
02:09:48 WARN  MainVerticle         /copycat/imports returned status 400
io.vertx.core.impl.NoStackTraceThrowable: /copycat/imports returned status 400

And the mod-copycat log:

02:09:28 [] [] [] [] INFO  RestRouting          invoking postCopycatImports
02:09:28 [] [] [] [] INFO  CopycatImpl          converted MARC record {
  "leader" : "00366nam a22001698a 4500",
  "fields" : [ {
    "001" : "   11224466 "
  }, {
    "003" : "DLC"
  }, {
    "005" : "00000000000000.0"
  }, {
    "008" : "910710c19910701nju           00010 eng  "
  }, {
    "040" : {
      "subfields" : [ {
        "a" : "DLC"
      }, {
        "c" : "DLC"
      } ],
      "ind1" : " ",
      "ind2" : " "
    }
  }, {
    "050" : {
      "subfields" : [ {
        "a" : "123-xyz"
      } ],
      "ind1" : "0",
      "ind2" : "0"
    }
  }, {
    "100" : {
      "subfields" : [ {
        "a" : "Jack Collins"
      } ],
      "ind1" : "1",
      "ind2" : "0"
    }
  }, {
    "245" : {
      "subfields" : [ {
        "a" : "How to program a computer"
      } ],
      "ind1" : "1",
      "ind2" : "0"
    }
  }, {
    "260" : {
      "subfields" : [ {
        "a" : "Penguin"
      } ],
      "ind1" : "1",
      "ind2" : " "
    }
  }, {
    "263" : {
      "subfields" : [ {
        "a" : "8710"
      } ],
      "ind1" : " ",
      "ind2" : " "
    }
  }, {
    "300" : {
      "subfields" : [ {
        "a" : "p. cm."
      } ],
      "ind1" : " ",
      "ind2" : " "
    }
  }, {
    "010" : {
      "subfields" : [ {
        "a" : "   11224466 "
      } ],
      "ind1" : " ",
      "ind2" : " "
    }
  } ]
}
02:09:28 [] [] [] [] INFO  CopycatImpl          Importing {
  "leader" : "00366nam a22001698a 4500",
  "fields" : [ {
    "001" : "   11224466 "
  }, {
    "003" : "DLC"
  }, {
    "005" : "00000000000000.0"
  }, {
    "008" : "910710c19910701nju           00010 eng  "
  }, {
    "040" : {
      "subfields" : [ {
        "a" : "DLC"
      }, {
        "c" : "DLC"
      } ],
      "ind1" : " ",
      "ind2" : " "
    }
  }, {
    "050" : {
      "subfields" : [ {
        "a" : "123-xyz"
      } ],
      "ind1" : "0",
      "ind2" : "0"
    }
  }, {
    "100" : {
      "subfields" : [ {
        "a" : "Jack Collins"
      } ],
      "ind1" : "1",
      "ind2" : "0"
    }
  }, {
    "245" : {
      "subfields" : [ {
        "a" : "How to program a computer"
      } ],
      "ind1" : "1",
      "ind2" : "0"
    }
  }, {
    "260" : {
      "subfields" : [ {
        "a" : "Penguin"
      } ],
      "ind1" : "1",
      "ind2" : " "
    }
  }, {
    "263" : {
      "subfields" : [ {
        "a" : "8710"
      } ],
      "ind1" : " ",
      "ind2" : " "
    }
  }, {
    "300" : {
      "subfields" : [ {
        "a" : "p. cm."
      } ],
      "ind1" : " ",
      "ind2" : " "
    }
  }, {
    "010" : {
      "subfields" : [ {
        "a" : "   11224466 "
      } ],
      "ind1" : " ",
      "ind2" : " "
    }
  } ]
}
02:09:28 [] [] [] [] INFO  RecordImporter       POST http://10.36.1.38:9130/change-manager/jobExecutions: {
  "userId" : "4bc512ce-d29a-52df-a1a6-3413b24db00f",
  "sourceType" : "ONLINE",
  "jobProfileInfo" : {
    "id" : "c8f98545-898c-4f48-a494-3ab6736a3243",
    "name" : "Default job profile",
    "dataType" : "MARC"
  }
}
02:09:48 [] [] [] [] WARN  CopycatImpl          POST http://10.36.1.38:9130/change-manager/jobExecutions: Connection was closed
io.vertx.core.impl.NoStackTraceThrowable: POST http://10.36.1.38:9130/change-manager/jobExecutions: Connection was closed
02:09:48 [] [] [] [] INFO  LogUtil              10.36.1.38:53362 POST /copycat/imports null HTTP_1_1 400 148 20123 tid=diku Bad Request 
02:09:48 [] [] [] [] ERROR ?                    io.vertx.core.VertxException: Connection was closed

The mod-source-record-manager log is silent.

Comment by Wayne Schneider [ 24/Mar/21 ]

Probably better to create an NLB than a classic ELB using the elb_network_lb module, will refactor.

Comment by Wayne Schneider [ 25/Mar/21 ]

This has been done. edge-connexion will be available for any given reference environment at the address <environment>-edge.dev.folio.org:9000 :

$ curl -w '\n' -D - http://folio-snapshot-test-edge.dev.folio.org:9000/admin/health
HTTP/1.0 200 OK

This will be effective with the next environment build.

Comment by Wayne Schneider [ 29/Mar/21 ]

This is now available for folio-snapshot-edge and folio-snapshot-load-edge, but not for folio-testing-edge, for some reason.

Comment by Wayne Schneider [ 30/Mar/21 ]

Found and fixed typo in playbook, should be right tomorrow on all reference environments.

Comment by Wayne Schneider [ 31/Mar/21 ]

Now accessible on all reference environments.

Generated at Thu Feb 08 23:25:27 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.