概要
今日の午後くらいから今まで動作に問題なかったcodebuildの失敗が連続していた。
原因を調査してみると、fedoraproject.orgの名前解決ができなくなっていた。fedraprojectのDNSサーバーが死んでる模様。同じような現象に遭遇している人もちらほらいるみたい。
www.reddit.com
# 起きている現象 [Container] 2020/02/04 13:53:19 Running command yum update -y Loaded plugins: ovl, priorities One of the configured repositories failed (Unknown), and yum doesn't have enough cached data to continue. At this point the only safe thing yum can do is fail. There are a few ways to work "fix" this: 1. Contact the upstream for the repository and get them to fix the problem. 2. Reconfigure the baseurl/etc. for the repository, to point to a working upstream. This is most often useful if you are using a newer distribution release than is supported by the repository (and the packages for the previous distribution release still work). 3. Run the command with the repository temporarily disabled yum --disablerepo=<repoid> ... 4. Disable the repository permanently, so yum won't use it by default. Yum will then just ignore the repository until you permanently enable it again or use --enablerepo for temporary usage: yum-config-manager --disable <repoid> or subscription-manager repos --disable=<repoid> 5. Configure the failing repository to be skipped, if it is unavailable. Note that yum will try to contact the repo. when it runs most commands, so will have to try and fail each time (and thus. yum will be be much slower). If it is a very temporary problem though, this is often a nice compromise: yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again [Container] 2020/02/04 13:54:30 Command did not exit successfully yum update -y exit status 1 [Container] 2020/02/04 13:54:30 Phase complete: INSTALL State: FAILED [Container] 2020/02/04 13:54:30 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: yum update -y. Reason: exit status 1
curlコマンド結果も以下の通り。
$ curl https://mirrors.fedoraproject.org curl: (6) Could not resolve host: mirrors.fedoraproject.org
暫定対応
上記の記事にgoogleのDNS(8.8.8.8)を使えばキャッシュ経由でなんとか大丈夫らしいので、暫定的に取り込んでみる。
nameserverを/etc/resolv.confに追記。
version: 0.2 phases: install: runtime-versions: docker: 18 commands: - echo "nameserver 8.8.8.8" >> /etc/resolv.conf - yum update -y build: commands: - echo "test"
このようにすれば、暫定的にcodebuildが失敗せずに完了する。
明日には名前解決問題解消されてるといいな。
解決
2/4 23:40頃解決していた!
codebuildも問題なく成功する
以上