ConcourseCIをBinaryで構築する際、以下2点でハマったことと対処方法のメモ
前提環境
ConcourseCI: v1.3.0
PostgreSQL: 9.3.13
guestOS: Ubuntu 4.2.0-38-generic
IaaS: OpenStack Kilo
1. Concourse Webの初回起動に失敗する
事象
構築手順の
Starting the Web UI & Scheduler - Single node, local Postgres
でconcourse web起動時に以下エラーが返却されてmigrationに失敗する
{"error":"pq: password authentication failed for user \"ubuntu\"","session":"1"}}
対処方法
公式documentにPostgreSQLを設定する記述が不足している
このIssueに記載されている通り
- atc用databaseの作成
- 起動ユーザのdatabase作成
- 起動ユーザのpassword設定
- concourse web の起動オプションに
--postgres-data-source postgres://[起動ユーザ]:[3で設定したパスワード]@127.0.0.1/atc
を追加する
を実施して無事起動できた
2. task内のdocker pullがtimeoutする
事象
ConcourseCI起動後、Taskを実行した際timeoutエラーが発生
以下のようなtask.ymlを実行した際、Docker Imageのpullで応答無し -> timeout errorが発生
---
platform: linux
image_resource:
type: docker-image
source:
repository: alpine
run:
path: echo
args: ["Hello", "World"]
対処方法
OpenStack(kilo)が用意したMTU値とConcourseCI(garden)のデフォルトMTU値(1500)が異なっていた為、IP fragmentationが発生してネットワークが遅延 -> timeout error
concourse worker起動時のオプションに以下を追加する
--garden-mtu=[VMの外向けNICに振られているMTU]