Управление обновлением системы
Обзор
Позволяет управлять обновлением системы. Реализован backup системы при обновлении, откат системы в автоматическом режиме не предусматривается.
Запросы
HTTP verb | Endpoint | Описание |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Загрузка обновления
Запрос
POST /api/admin/v1/update/upload HTTP/1.1
Content-Type: multipart/form-data; boundary=-----------boundary_69df8120352a996e
-----------boundary_69df8120352a996e
Content-Type: application/octet-stream
Content-Disposition: form-data; name="filename"; filename="fw_update_era_amd64.zip"
Content-Transfer-Encoding: binary
BINARY BODY OF 'fw_update_era_amd64.zip'
-----------boundary_69df8120352a996e--
Копирование файла обновления с диска
Метод позволяет скопировать файл обновления из указанного пути в папку обновлений на активном mc.
Запрос
Имя | Тип | Описание |
---|---|---|
|
|
Полный путь до файла обновления, для копирования (в формате url-encoded). |
POST /api/admin/v1/update/copyfrom HTTP/1.1
Content-Type: application/x-www-form-urlencoded
filepath=%2Fhome%2Fadmin%2Fera_update%fw_update_era_amd64.zip
Получение состояния обновления
Метод возвращает текущее состояние применения обновления по серверам и сайтам.
Ответ
HTTP/1.1 200 OK
{
"resultcode": 0,
"resultmsg": "OK",
"data": {
"slave2": {
"ic": {
"node": "ic21@192.168.0.126",
"state": "idle",
"current_vsn": "1.4.0"
},
"servers": {
"server3@192.168.0.126": {
"state": "idle",
"product": "era",
"product_vsn": "2018.4.29-nightly"
},
"server4@192.168.0.127": {
"state": "idle",
"product": "era",
"product_vsn": "2018.4.29-nightly"
}
}
},
"central": {
"mic": {
"node": "mic@192.168.0.123",
"state": "idle",
"upfilename": "undefined"
},
"ic": {
"node": "ic1@192.168.0.123",
"state": "idle",
"current_vsn": "1.4.0"
},
"servers": {
"server2@192.168.0.124": {
"state": "idle",
"product": "era",
"product_vsn": "2021.4.29-nightly"
},
"server1@192.168.0.123": {
"state": "idle",
"product": "era",
"product_vsn": "2021.4.29-nightly"
}
}
}
}
}
Название | Описание |
---|---|
|
|
|
происходит инициализация сервиса обновления. |
|
состояние покоя, система не применяет обновление. |
|
производится загрузка обновления через ws или копированием с диска. |
|
производится подготовка к обновлению. |
|
подготовка успешно завершена, MC готов предоставить файл обновления всем SC. Доступна команда отмены и применения обновления. |
|
получена команда применения обновления и перенаправлена всем SC. |
|
получена команда отмены обновления, происходит переход в idle. |
|
сервер заблокирован, т.к. найден MC более новой версии. |
|
|
|
происходит инициализация сервиса обновления. |
|
состояние покоя, система не применяет обновление. |
|
запущена подготовка к обновлению. |
|
подготовка прошла не успешно, запущено скачивание файла обновления с MC. |
|
подготовка прошла успешно, SC готов предоставить файл обновления всем SrvC. Доступна команда отмены и применения обновления. |
|
получена команда применения обновления и перенаправлена всем SrvC. |
|
|
|
происходит инициализация сервиса обновления. |
|
состояние покоя, система не применяет обновление. |
|
запущена подготовка к обновлению. |
|
подготовка прошла не успешно, запущено скачивание файла обновления с SC. |
|
подготовка прошла успешно. Доступна команда отмены и применения обновления. |
|
получена команда применения обновления, запущен процесс обновления. |
Запуск подготовки к обновлению
Запускает подготовку к обновлению с указанным файлом обновления. Выполняется асинхронно. Текущее состояние подготовки отображается в get_upstate.
Применение обновления
Применяет распределенное по серверам системы обновление. Копирование с возможной заменой или удалением файлов нового дистрибутива, после чего происходит перезагрузка каждого сервера.
Получение списка файлов обновления
Отображает файлы (и распакованные директории) обновления по сайтам и серверам.
Ответ
HTTP/1.1 200 OK
{
"resultcode": 0,
"resultmsg": "OK",
"data": {
"central": [
{
"dirs": ["fw_update_era_amd64"],
"files": ["fw_update_era_amd64.zip"],
"node": "mic@192.168.0.127",
"result": "ok"
},
{
"dirs": ["fw_update_era_amd64"],
"files": ["fw_update_era_amd64.zip"],
"node": "ic1@192.168.0.127",
"result": "ok"
},
{
"dirs": ["fw_update_era_amd64"],
"files": ["fw_update_era_amd64.zip"],
"node": "server1@192.168.0.127",
"result": "ok"
}
],
"slave2": [
{
"dirs": ["fw_update_era_amd64"],
"files": ["fw_update_era_amd64.zip"],
"node": "ic21@192.168.0.124",
"result": "ok"
},
{
"dirs": ["fw_update_era_amd64"],
"files": ["fw_update_era_amd64.zip"],
"node": "server3@192.168.0.124",
"result": "ok"
}
]
}
}
Удаление файла обновления
Позволяет удалить файл обновления (и распакованные директории) со всех серверов системы