Test agenty¶
Pobieranie listy test agentów zainicjowanych przez użytkownika¶
Aby otrzymać listę test agentów należy wysłać wiadomość GET na adres /api/user/test_agents/.
W odpowiedzi powinniśmy otrzymać wiadomość o treści z taką strukturą danych:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 1,
"uuid": "cff00f91-c2ad-44b1-ac75-80eebff50feb",
"name": "test-agent-1",
"ip_local": "172.30.30.176",
"ip_external": "172.30.30.176",
"status": 2,
"last_status_change": "2021-04-20T13:12:45.136280+02:00",
"authorized": true,
"timestamp_created": "2018-06-07T12:11:22.356223+02:00",
"version": "2020.12",
"geo_location_lon": 18.072509765625,
"geo_location_lat": 51.7265745970059,
"running_monitoring_count": 0,
"additional_data": {
"interfaces": {
"lo": {
"ip": [
"127.0.0.1",
"::1"
],
"mac": "00:00:00:00:00:00",
"name": "lo"
},
"ens3": {
"ip": [
"172.30.30.176",
"fe80::f816:3eff:fe39:8fcb%ens3"
],
"mac": "fa:16:3e:39:8f:cb",
"name": "ens3"
}
},
"network_config": "network:\n ethernets:\n ens3:\n dhcp4: true\n match:\n macaddress: fa:16:3e:39:8f:cb\n set-name: ens3\n version: 2\n renderer: networkd"
},
"release": "0.2.0.dev146"
}
]
}
Pobieranie danych test agenta¶
Aby otrzymać dane szczegółowe test agenta należy wysłać wiadomość GET na adres /api/user/test_agents/<id>/, gdzie <id> jest id test agenta, którego dane chcemy pobrać.
W odpowiedzi powinniśmy otrzymać wiadomość o treści z taką strukturą danych:
{
"id": 3,
"uuid": "e54b8c98-57b1-4d04-95bc-9dbcb2be45bc",
"name": "vutp-test-agent",
"ip_local": "172.30.30.176",
"ip_external": "172.30.30.176",
"status": 2,
"last_status_change": "2021-04-20T13:22:49.354480+02:00",
"authorized": true,
"timestamp_created": "2021-01-05T17:51:32.692002+01:00",
"version": "2020.12",
"geo_location_lon": 19.8972702026367,
"geo_location_lat": 50.0760912565959,
"running_monitoring_count": 0,
"additional_data": {
"interfaces": {
"lo": {
"ip": [
"127.0.0.1",
"::1"
],
"mac": "00:00:00:00:00:00",
"name": "lo"
},
"ens3": {
"ip": [
"172.30.30.174",
"fe80::f816:3eff:fe39:8fcb%ens3"
],
"mac": "fa:16:3e:39:8f:cb",
"name": "ens3"
}
},
"network_config": "network:\n ethernets:\n ens3:\n dhcp4: true\n match:\n macaddress: fa:16:3e:39:8f:cb\n set-name: ens3\n version: 2\n renderer: networkd"
},
"release": "0.2.0.dev146"
}
Aktualizacja danych test agenta¶
Aby zaktualizować dane test agenta należy wysłać wiadomość PATCH na adres /api/user/test_agents/<id>/, gdzie <id> jest id test agenta, którego dane chcemy zmienić.
Wiadomość powinna zawierać treść (może też zawierać tylko te pola, które chcemy zaktualizować):
{
"name": "openstack-test-agent",
"authorized": true,
"geo_location_lon": 19.8972702026367,
"geo_location_lat": 50.0760912565959
}
W odpowiedzi powinniśmy otrzymać wiadomość o treści z taką strukturą danych:
{
"id": 3,
"uuid": "e54b8c98-57b1-4d04-95bc-9dbcb2be45bc",
"name": "openstack-test-agent",
"ip_local": "172.30.30.176",
"ip_external": "172.30.30.176",
"status": 2,
"last_status_change": "2021-04-20T13:22:49.354480+02:00",
"authorized": true,
"timestamp_created": "2021-01-05T17:51:32.692002+01:00",
"version": "2020.12",
"geo_location_lon": 19.8972702026367,
"geo_location_lat": 50.0760912565959,
"running_monitoring_count": 0,
"additional_data": {
"interfaces": {
"lo": {
"ip": [
"127.0.0.1",
"::1"
],
"mac": "00:00:00:00:00:00",
"name": "lo"
},
"ens3": {
"ip": [
"172.30.30.174",
"fe80::f816:3eff:fe39:8fcb%ens3"
],
"mac": "fa:16:3e:39:8f:cb",
"name": "ens3"
}
},
"network_config": "network:\n ethernets:\n ens3:\n dhcp4: true\n match:\n macaddress: fa:16:3e:39:8f:cb\n set-name: ens3\n version: 2\n renderer: networkd"
},
"release": "0.2.0.dev146"
}
Zmiana konfiguracji sieciowej test agenta¶
Aby zmienić konfigurację sieciową (netplan) urządzenia z test agentem należy wysłać wiadomość POST na adres /api/user/test_agents/<id>/network_config/, gdzie <id> jest id test agenta, którego konfigurację chcemy zmienić.
Wiadomość powinna zawierać treść o takiej strukturze danych:
{
"config": "network:\n version: 2\n renderer: networkd\n ethernets:\n eth0:\n addresses:\n - 172.30.30.235/24\n nameservers:\n addresses:\n - 172.30.30.254\n - 8.8.8.8\n gateway4: 172.30.30.254\n",
"reboot": true,
}
Wiadomość powinna zawierać pola:
config – konfiguracja sieciowa (netplanu) urządzenia zgodna z językiem YAML oraz z dokumentacją podaną na stronie https://netplan.io/,
reboot - informacja o tym, czy po zmianie konfiguracji ma nastąpić ponowne uruchomienie urządzenia.
Zdalny restart urządzenia z test agentem¶
Aby zdalnie wykonać restart urządzenia z test agentem należy wysłać wiadomość POST na adres /api/user/test_agents/<id>/reboot/, gdzie <id> jest id test agenta, którego chcemy ponownie uruchomić.
Treść wiadomości powinna zawierać pusty obiekt.
{ }
Zdalna aktualizacja oprogramowania test agenta¶
Aby wgrać na test agenta nową paczkę aktualizacyjną należy wysłać wiadomość POST na adres /api/user/test_agents/<id>/update/, gdzie <id> jest id test agenta, którego konfigurację chcemy zmienić.
Wiadomość powinna zawierać treść o takiej strukturze danych:
{
"update_id": 1,
"reboot": true,
}
Należy pamiętać o tym, że aby udało się zaktualizować test agenta, identyfikator paczki wysyłany w tej wiadomości musi znajdować się na liście paczek w /api/updates/ (Pobieranie listy paczek aktualizacyjnych).
Usunięcie test agenta¶
Aby usunąć test agenta należy wysłać wiadomość DELETE na adres /api/user/test_agents/<id>/, gdzie <id> jest id test agenta, którego dane chcemy usunąć.