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ąć.