OUXT-Polaris / ouxt_automation

Apache License 2.0
13 stars 4 forks source link

setup ros2 keyでSSLのエラーが出る #192

Open TatsukiNishimura opened 2 years ago

TatsukiNishimura commented 2 years ago
sh setup.sh

を実行してros2のインストールをする際、 setup ros2 keyのタスクで

Request failed: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)>

のエラーが出てしまう。

環境

TatsukiNishimura commented 2 years ago

pythonのインタプリタで

>>> import certifi
>>> certifi.where()

の結果を取得して、

https://github.com/OUXT-Polaris/ouxt_automation/blob/c63b60ffd201c3df26dfb426c9126af02571401b/ansible/roles/ros2/tasks/main.yml#L31

name: setup ros2 keys
  become: yes
  get_url:
    url: "https://raw.githubusercontent.com/ros/rosdistro/master/ros.key"
    dest: /usr/share/keyrings/ros-archive-keyring.gpg
  environment:
    SSL_CERT_FILE: (certifi.where()で得られたパス)

を書き加えるとエラーがなくなった。 ただ、このパスは人によって異なるからどうすればいいんだろう…

hakuturu583 commented 2 years ago

この方法は @TatsukiNishimura くん環境特有のものかもしれないですが、なんとかならないか要検討ですね pythonのスクリプトを実行して環境変数に書き込むのはansibleでできると思うので、問題はこのステップがなぜ必要になっているのかという気はします。