ioBroker.admin
ioBroker.admin copied to clipboard
Check of globalDependencies is not working
Describe the bug
It is possible to insall e.g. telegram Adapter in Version 1.14.1 which requires at minimum Admin 6.1.6 (https://github.com/iobroker-community-adapters/ioBroker.telegram/blob/9e1dfef04f3d760c1ae3c61c815a9a92c6a3d45a/io-package.json#L162)
with an admin version below the required version
Issure raises here: https://github.com/iobroker-community-adapters/ioBroker.telegram/issues/358
To Reproduce
Steps to reproduce the behavior:
- Install Admin 5.3.8 or 6.1.4
- Install Telegram Adapter v1.13.0 (which requires at minimum Admin 5.2.x)
- Update Telegram Adapter to v1.14.1
- Update will be execute and only in log file is an error
startInstance system.adapter.telegram.0 Adapter dependency not fulfilled on any host: required adapter "admin" has wrong version. Installed "6.1.5", required ">=6.1.6"!
Expected behavior
Adapter update will not be executed if globalDependencies is not fulfilled
Versions:
- Adapter version: Admin 5.3.8 (stable) or Admin 6.1.4
For validating this issue a adapter is necessary which requires admin version > 6.2.16 and admin must be at minimum 6.2.16
I have update telegram from 1.13.0 to 1.14.1. After this, the telegram adapter crash with the following error: startInstance system.adapter.telegram.0 Adapter dependency not fulfilled on any host: required adapter "admin" has wrong version. Installed "5.3.8", required ">=6.1.6" My admin adapter has version 6.2.17. After downgrade telegram to version 1.13.0 all works fine.
Please try „iob upload admin“. If you run telegram on a slave host make sure to also update admin there.
@Apollon77 I have done this.
WHich of the two? And the result is?
I use the master. Which result do you mean? The output of the command? Here is it: upload_admin.txt
Ok, wehcn you say that you use the master: Do you also have a slave host? Is admin installed there too? If yes in which version? Please also upgrade admin there!!
To install telegram the admin adapter needs to be updated on all hosts where it is installed to atleast the relevant version,
OK, on the slave, the admin adapter has version 5.3.8. When I make iob update on the host (not use the gui), then I get the message: Cannot check dependencies: Invalid version of "admin". Installed "5.3.8", required ">=6.1.6 Cannot check dependencies: Invalid version of "admin". Installed "5.3.8", required ">=5.4.3 Now I install the version 6.2.20 on the slave
That was the reason of the bug. Now telegram was updates from 1.13.0 to 1.14.1 and run correkt. Thanks for your assistance
@GermanBluefox I have the following behavior which looks like a bug
My System
Multihost System ioBroker Master with Admin 6.2.22 ioBroker Slave no admin installed
ioBroker Slave
proxmox@ioBrokerNew:~$ iob update Used repository: beta Adapter "backitup" : 2.4.12 , installed 2.4.12 Adapter "discovery" : 3.0.5 , installed 3.0.5 Adapter "history" : 2.2.3 , installed 2.2.1 [Updatable] Adapter "ical" : 1.13.2 , installed 1.13.1 [Updatable] Adapter "info" : 1.9.20 , installed 1.9.20 Controller "js-controller": 4.0.23 , installed 4.0.23 Adapter "sql" : 2.1.8 , installed 2.1.8
Problem
If I want to update an adapter on my iobroker Slave I see that admin version is not fullfilled
It is possible to update the adapter and the adapter is starting without any error.
More Details
system.adapter.admin
{
"_id": "system.adapter.admin",
"type": "adapter",
"common": {
"name": "admin",
"version": "6.2.22",
"titleLang": {
"en": "Admin",
"de": "Admin",
"ru": "Админ",
"pt": "Admin",
"pl": "Admin",
"fr": "Admin",
"nl": "Admin",
"it": "Admin",
"es": "Admin",
"zh-cn": "Admin"
},
"title": "Admin",
"connectionType": "local",
"dataSource": "push",
"desc": {
"en": "The configuration of ioBroker via Web-Interface",
"de": "Die Konfiguration von ioBroker über das Web-Interface",
"ru": "Конфигурация ioBroker через веб-интерфейс",
"pt": "A configuração do ioBroker via Web-Interface",
"fr": "La configuration de ioBroker via Web-Interface",
"nl": "De configuratie van ioBroker via de webinterface",
"it": "La configurazione di ioBroker tramite interfaccia Web",
"zh-cn": "配置ioBroker的Web界面"
},
"docs": {
"en": "docs/en/admin.md",
"ru": "docs/ru/admin.md",
"de": [
"docs/de/admin.md",
"docs/de/admin/tab-adapters.md",
"docs/de/admin/tab-instances.md",
"docs/de/admin/tab-objects.md",
"docs/de/admin/tab-states.md",
"docs/de/admin/tab-groups.md",
"docs/de/admin/tab-users.md",
"docs/de/admin/tab-events.md",
"docs/de/admin/tab-hosts.md",
"docs/de/admin/tab-enums.md",
"docs/de/admin/tab-log.md",
"docs/de/admin/tab-system.md"
],
"pt": "docs/pt/admin.md",
"nl": "docs/nl/admin.md",
"es": "docs/es/admin.md",
"fr": "docs/fr/admin.md",
"it": "docs/it/admin.md",
"pl": "docs/pl/admin.md",
"zh-cn": "docs/zh-cn/admin.md"
},
"materialize": true,
"mode": "daemon",
"platform": "Javascript/Node.js",
"loglevel": "info",
"icon": "admin.png",
"messagebox": true,
"enabled": true,
"extIcon": "https://raw.githubusercontent.com/ioBroker/ioBroker.admin/master/admin/admin.png",
"keywords": [
"setup",
"config",
"update",
"upgrade",
"system",
"konfiguration",
"administration",
"einrichtung",
"wartung"
],
"compact": true,
"readme": "https://github.com/ioBroker/ioBroker.admin/blob/master/README.md",
"authors": [
"bluefox <[email protected]>",
"hobbyquaker <[email protected]>"
],
"dependencies": [
{
"js-controller": ">=3.3.22"
}
],
"type": "general",
"license": "MIT",
"logTransporter": true,
"stopBeforeUpdate": true,
"wwwDontUpload": true,
"eraseOnUpload": true,
"nogit": true,
"welcomeScreenPro": {
"link": "admin/index.html",
"name": "Admin",
"img": "admin/img/admin.png",
"color": "pink",
"order": 5,
"localLinks": "_default",
"localLink": true
},
"localLinks": {
"_default": {
"link": "%protocol%://%bind%:%port%",
"pro": true
}
},
"plugins": {
"sentry": {
"dsn": "https://[email protected]/18"
}
},
"jsonConfig": true,
"adminUI": {
"config": "json"
},
"installedFrom": "[email protected]",
"installedVersion": "6.2.22"
},
"native": {
"port": 8081,
"auth": false,
"secure": false,
"bind": "0.0.0.0",
"cache": false,
"autoUpdate": 24,
"accessLimit": false,
"accessApplyRights": false,
"accessAllowedConfigs": [],
"accessAllowedTabs": [],
"certPublic": "",
"certPrivate": "",
"certChained": "",
"ttl": 3600,
"defaultUser": "admin",
"tmpPath": "/tmp",
"tmpPathAllow": false,
"thresholdValue": 200,
"leEnabled": false,
"leUpdate": false,
"leCheckPort": 80,
"loginBackgroundColor": "",
"loginBackgroundImage": false,
"loginHideLogo": false,
"loginMotto": "",
"language": "",
"reverseProxy": [],
"loadingBackgroundColor": "",
"loadingHideLogo": false,
"loadingBackgroundImage": false
},
"from": "system.host.ioBrokerTestsystem.cli",
"ts": 1663447391198,
"acl": {
"object": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
},
"protectedNative": [],
"encryptedNative": [],
"instanceObjects": [
{
"_id": "info",
"type": "channel",
"common": {
"name": {
"en": "Information",
"de": "Information",
"ru": "Информация",
"pt": "Em formação",
"nl": "Informatie",
"fr": "Information",
"it": "Informazione",
"es": "Información",
"pl": "Informacja",
"zh-cn": "信息"
}
},
"native": {}
},
{
"_id": "",
"type": "meta",
"common": {
"name": {
"en": "user files and images for background",
"de": "Benutzerdateien und Bilder für den Hintergrund",
"ru": "пользовательские файлы и изображения для фона",
"pt": "arquivos e imagens do usuário para plano de fundo",
"nl": "gebruikersbestanden en afbeeldingen voor achtergrond",
"fr": "fichiers utilisateur et images pour l'arrière-plan",
"it": "file utente e immagini per lo sfondo",
"es": "archivos de usuario e imágenes para el fondo",
"pl": "pliki użytkownika i obrazy w tle",
"zh-cn": "背景的用户文件和图像"
},
"type": "meta.user"
},
"native": {}
},
{
"_id": "info.connected",
"type": "state",
"common": {
"role": "state",
"name": {
"en": "Info about connected socket clients",
"de": "Informationen über verbundene Socket-Clients",
"ru": "Информация о подключенных клиентах сокетов",
"pt": "Informações sobre clientes de soquete conectados",
"nl": "Info over aangesloten socket-clients",
"fr": "Informations sur les clients socket connectés",
"it": "Informazioni sui client socket connessi",
"es": "Información sobre clientes de socket conectados",
"pl": "Informacje o podłączonych klientach gniazd",
"zh-cn": "有关已连接套接字客户端的信息"
},
"type": "string",
"read": true,
"write": false,
"def": ""
},
"native": {}
},
{
"_id": "info.connection",
"type": "state",
"common": {
"role": "indicator.connected",
"name": {
"en": "HTTP server started",
"de": "HTTP-Server gestartet",
"ru": "HTTP-сервер запущен",
"pt": "Servidor HTTP iniciado",
"nl": "HTTP-server gestart",
"fr": "Serveur HTTP démarré",
"it": "Server HTTP avviato",
"es": "Servidor HTTP iniciado",
"pl": "Uruchomiono serwer HTTP",
"zh-cn": "HTTP 服务器已启动"
},
"type": "boolean",
"read": true,
"write": false,
"def": false
},
"native": {}
},
{
"_id": "info.newsFeed",
"type": "state",
"common": {
"name": {
"en": "Last news feed as JSON",
"de": "Letzter Newsfeed als JSON",
"ru": "Лента последних новостей в формате JSON",
"pt": "Último feed de notícias como JSON",
"nl": "Laatste nieuwsfeed als JSON",
"fr": "Dernier fil d'actualité au format JSON",
"it": "Ultimo feed di notizie come JSON",
"es": "Últimas noticias como JSON",
"pl": "Ostatni kanał wiadomości jako JSON",
"zh-cn": "最后一个新闻提要为 JSON"
},
"type": "json",
"read": true,
"write": false
}
},
{
"_id": "info.newsETag",
"type": "state",
"common": {
"name": {
"en": "Etag for news feed",
"de": "Etag für Newsfeed",
"ru": "Etag для новостной ленты",
"pt": "Etag para feed de notícias",
"nl": "Etag voor nieuwsfeed",
"fr": "Etag pour le fil d'actualité",
"it": "Etag per il feed di notizie",
"es": "Etag para noticias",
"pl": "Etag dla kanału informacyjnego",
"zh-cn": "用于新闻提要的 Etag"
},
"type": "string",
"read": true,
"write": false
}
},
{
"_id": "info.newsLastId",
"type": "state",
"common": {
"name": {
"en": "Last news ID",
"de": "Letzte Nachrichten-ID",
"ru": "Идентификатор последней новости",
"pt": "ID da última notícia",
"nl": "Laatste nieuws-ID",
"fr": "Identifiant des dernières nouvelles",
"it": "Ultime notizie ID",
"es": "ID de última noticia",
"pl": "Identyfikator ostatnich wiadomości",
"zh-cn": "最新消息 ID"
},
"type": "string",
"read": true,
"write": false
}
},
{
"_id": "info.updatesList",
"type": "state",
"common": {
"role": "indicator.updates",
"name": {
"en": "List of adapters to update",
"de": "Liste der zu aktualisierenden Adapter",
"ru": "Список адаптеров для обновления",
"pt": "Lista de adaptadores para atualizar",
"nl": "Lijst met adapters die moeten worden bijgewerkt",
"fr": "Liste des adaptateurs à mettre à jour",
"it": "Elenco degli adattatori da aggiornare",
"es": "Lista de adaptadores para actualizar",
"pl": "Lista adapterów do aktualizacji",
"zh-cn": "要更新的适配器列表"
},
"type": "string",
"read": true,
"write": false,
"def": ""
},
"native": {}
}
],
"objects": [],
"notifications": [],
"user": "system.user.admin"
}
the MH check should be fixed at least in 6.13.15 since https://github.com/ioBroker/ioBroker.admin/pull/2264
For the activated button on invalid checks we track it in https://github.com/ioBroker/ioBroker.admin/issues/2332