e1234
2024年3月1日 12時06分
Armadillo Base OSでコンテナ更新をしたい為、Hwakbitサーバーを立てております。
以下の内容を参照し、実施しました。
Armadillo Base OS:Hawkbitサーバーを用いてソフトウェアアップデートする方法
https://armadillo.atmark-techno.com/blog/15349/13372
Armadillo-640製品マニュアル(Armadillo Base OS 対応)
6.8.3.2. SWU で hawkBit を登録する
https://armadillo.atmark-techno.com/files/downloads/armadillo-640/docum…
SWUpdateでデバイスを自動登録する方法で、hawkbitサーバーには、デバイスが自動登録できることは、
確認しております。
そのあと、hawkbitサーバーから、SWUのアップデートを確認をしておりますが、
必ず、401エラーが返ってきています。
原因と対策について、ご教授いただけないでしょうか?
■添付ファイル
・Armadillo通信パケット_20240301.pdf
ArmadilloとHawkbitサーバーの通信パケットです。
・hawkbitサーバー画面.pdf
Webページの画面キャプチャです。
・Armadillo_log.txt
/var/log/messagesの内容(15分程度抜粋したもの)です。
■環境
・VirtualBox
・Ubuntu22.04
・Docker(Docker Engine on Ubuntu)
■コンテナ
・Hawkbit docker-composeコンテナ
https://armadillo.atmark-techno.com/resources/software/armadillo-640/ab…
hawkbit-compose-4.15.1.tar.xz
ファイル | ファイルの説明 |
---|---|
Armadillo通信パケット_20240301.pdf | ArmadilloとHawkbitサーバーの通信パケット |
hawkbitサーバー画面.pdf | Webページの画面キャプチャ |
Armadillo_log.txt | /var/log/messagesの内容(15分程度抜粋したもの) |
コメント
e1234
マルティネさん、回答ありがとうございます。
回答いただいた3点の変更を行い、以下のコマンドでhawkbitサーバのコンテナを起動しました。
user01@user01-VirtualBox:~/hawkbit-compose$ sudo docker-compose -f "/home/user01/hawkbit-compose/docker-compose.yml" up
これにより、Armadillo側からhawkbitサーバにアクセスしたときの401エラーは無くなったのですが、
Webブラウザでhawkbitサーバーにアクセスできなくなりました。(Username:admin、Password:admin)
setup_container.sh を実行すると、Webブラウザでhawkbitサーバーにアクセスはできます。
(3点の変更内容は元に戻ってしまいます)
回答いただいた3点の変更を行ったあと、
hawkbitを起動するために行うべき手順についてご教授いただけないでしょうか?
at_dominique.m…
e1234さん
> 回答いただいた3点の変更を行ったあと、
> hawkbitを起動するために行うべき手順についてご教授いただけないでしょうか?
特にないはずですが、setup_container を最初に実行した時のパスワードの誤りの可能性はありますか?
試しに data/hawkbit_application.properties の admin ユーザーのパスワードを変更してみてください:
hawkbit.server.im.users[0].password={noop}admin
(変更の後はコンテナを再起動する必要があります。また、{crypt}のハッシュとして記載したい場合は htpasswd -nBC 10
で生成できますが、まずは noop で試してください。)
パスワードの問題以外には証明書まわりの問題の可能性もありますが、それでしたら armadillo からの登録もできないと思いますので、あまり思いつきません。
それで解決できなかった場合はお手数ですが、 application.properties のパスワード以外の内容を共有していただければ確認します。
よろしくお願いします。
e1234
at_dominique.m…
2024年3月1日 14時34分
e1234さん、
お世話になっています、
マルティネです。
> SWUpdateでデバイスを自動登録する方法で、hawkbitサーバーには、デバイスが自動登録できることは、
> 確認しております。
> そのあと、hawkbitサーバーから、SWUのアップデートを確認をしておりますが、
> 必ず、401エラーが返ってきています。
>
> 原因と対策について、ご教授いただけないでしょうか?
先日は最初の問題だけを解決して、最後まで確認せずに大変申し訳ございません。
これも hawkbit コンテナのアップデートの問題です: コンテナ内のパスが変わってしまって、application.properties のファイルが完全に無視されるようになりました。
(Web ページで admin ユーザーでログインできたのは、おそらくデフォルトの「admin」パスワードを設定したと思われますが、それ以外のパスワードを設定した場合は web でもログインできない状態です…)
デフォルトのコンフィグレーションでも動いていますのでデバイス登録のユーザーとして admin:admin を使えば登録はできてしまいますが、swu が保存されている 「artifactrepo」 のディレクトリも想定どおりに保存されてませんので、ちゃんと修正しましょう。
今度はちゃんと最後まで確認してきて、デバイス登録とアップデートができるところまで修正するには以下の三つの変更が必要です:
1/ ファイルの一致の修正
docker-compose.yml を編集して、ボリュームマウントのパスを /opt/hawkbit から / に移動します
2/ それは hawkbit が起動しませんので、data/hawkbit_application.properties ファイルにデフォルトのコンフィグに書いてある内容をいくつか追加します:
3/ それで hawkbit が起動できてデバイス登録はできますが、コンテナのユーザーの変更で swu をアップロードできませんのでディレクトリのオーナーを修正します:
以上、この変更で hawkbit が再び正常に起動できました。
大変お手数をお掛けしました、hawkbit_compose のスクリプトを今月も修正しますが、それまで setup_container.sh を実行すると docker-compose.yml と application.properties の変更がなくなりますのでご注意ください。
また何か問題があればまた聞いてください。