When using mock services or the proxy recorder on a Private Location (formerly known as OPL - On-Premise Location), sometimes limiting the port range that is open to the mock service or proxy recorder is necessary. Every Mock Service uses its own port, so consider that defining a port range limits the number of Mock Services that you can create and run on a particular agent (ship).
Static Endpoints for Mock Services
This behavior only applies to transaction based Mock Services on Docker-based agents.
If a transactional Mock Service is stopped and re-deployed on a Docker Private Location, the same port number will be reused when possible. If the port is not available and taken by another process on the Agent host, the Mock Service finds a new port from the allowed port range of the Agent and uses that. In this case, the notification message indicates that the end point has changed.
Set a Custom Port Range
The following API lets you to limit the range of ports available on a specific agent (ship):
URL
https://a.blazemeter.com/api/v4/private-locations/<HarborId>/ships/<ShipId>
Request Parameters
Parameter | Description |
---|---|
Api Key | Identifies the user (--user 'id:secret' ). How to get the API Key? |
Patch Body | "portRange" is the only parameter needed. |
HarborId | Harbor ID of the private location. How to get Harbor ID? |
ShipId | Ship ID of the agent within the private location. How to get Ship ID? |
cURL
curl -X PATCH https://a.blazemeter.com/api/v4/private-locations/<HarborId>/ships/<ShipId> -H "Content-Type: application/json" --user 'id:secret' -d '{"portRange":"2000-2500"}'
Example PATCH Body
{ "portRange":"2000-2500" }
Example Response
{ "api_version": 4, "error": null, "result": { "id": "5abe9cde63cb0e3e0a7b24ca", "name": "My OPL", "address": "1.1.1.1", "publicIpAddress": "2.2.2.2", "state": "idle", "lastHeartBeat": 1534529255, "lastCommandOutput": "", "isLocked": false, "hostInfo": { "containerManager": { "type": "DockerManager", "info": { "operatingSystem": "Ubuntu 16.04.4 LTS", "operatingSystemType": "linux", "memory": 8370008064, "cpus": 2, "dockerRootDir": "/var/lib/docker", "dockerVersion": "18.03.0-ce", "images": [ { "Created": 1533577200, "Labels": null, "VirtualSize": 3875773553, "SharedSize": -1, "ParentId": "", "Size": 3875773553, "RepoDigests": null, "Id": "sha256:777390077be6370e1ac1d5426a6f208a8f7244357a3439ca758e20341309e081", "Containers": -1, "RepoTags": [ "taurus-cloud:1.0.12-413", "taurus-cloud:latest" ] }, { "Created": 1532378534, "Labels": null, "VirtualSize": 1126812353, "SharedSize": -1, "ParentId": "", "Size": 1126812353, "RepoDigests": null, "Id": "sha256:2b188b359b0aedcc33c2f4ded7e85934ca86db97a21b50ce9a66cd65f9db52ea", "Containers": -1, "RepoTags": [ "blazemeter/proxy-recorder:1.3.3-345", "blazemeter/proxy-recorder:latest" ] }, { "Created": 1530052739, "Labels": null, "VirtualSize": 256493329, "SharedSize": -1, "ParentId": "", "Size": 256493329, "RepoDigests": null, "Id": "sha256:ca5cc016dcf11c4b702eb3780d199b5bd27ce42178b65be0aeb36c9a8036e560", "Containers": -1, "RepoTags": [ "blazemeter/crane:2.0.10-307", "blazemeter/crane:latest" ] }, { "Created": 1526891640, "Labels": null, "VirtualSize": 282881488, "SharedSize": -1, "ParentId": "", "Size": 282881488, "RepoDigests": null, "Id": "sha256:8f5ec4edbf9f891d68031a4456fed401179ef68b907ae3cf52f5f7664d1fd499", "Containers": -1, "RepoTags": [ "apm-image:1.1.0-154", "apm-image:latest" ] }, { "Created": 1522443674, "Labels": null, "VirtualSize": 98099521, "SharedSize": -1, "ParentId": "", "Size": 98099521, "RepoDigests": null, "Id": "sha256:df3cce743a98d60e3ebab387a374829abe72cb0f5f766eb1fab03c16988fbd8f", "Containers": -1, "RepoTags": [ "blazemeter-quicktest:1.0.2", "blazemeter-quicktest:latest" ] }, { "Created": 1522443581, "Labels": null, "VirtualSize": 5457394747, "SharedSize": -1, "ParentId": "", "Size": 5457394747, "RepoDigests": null, "Id": "sha256:74bfdc5600d05aeb99717755c24411509bd081cbc188de8354ec583fe45a98be", "Containers": -1, "RepoTags": [ "blazemeter:1.0.16", "blazemeter:latest" ] } ] } }, "diskSpace": { "/var/lib/docker": { "present": false }, "/home/blazemeter": { "present": false }, "/tmp": { "freeSpace": 26885898240, "present": true } } }, "isAutoUpdate": true, "uptime": 607952, "portRange": "2000-2500", "created": 0, "updated": 1534794529, "updaterStatus": { "status": "success", "lastUpdateCheck": 1534529254, "nextUpdateCheck": 1534532854 }, "ts": 1534529255 } }
0 Comments