2016-12-29 53 views
0

我正嘗試使用廚師安裝s3fs。我無法讓掛載資源爲s3fs工作,s3fs的供應商cookbook想要給掛載命名的東西與我們想要命名的不同(我們的s3存儲桶名稱中包含「。」)。廚師在第一個引導程序時未執行「mount」

所以我手動創建了fstab記錄並運行「mount」命令來掛載它。但是,掛載未運行。沒有錯誤,廚師日誌文件表示它執行了該塊。

bash 'mount_s3fs' do 
    code <<-EOF 
    mount -a 
    EOF 
    user 'root' 
    not_if "df -kh | grep s3fs -q" 
end 

這裏是獲取打印日誌文件

[2016-12-29T21:29:02+00:00] INFO: Processing bash[mount_s3fs] action run (cookbook::recipe line 66) 
[2016-12-29T21:29:03+00:00] INFO: bash[mount_s3fs] ran successfully 

如果我運行的配方它安裝就好了第二次。如果我在引導後添加配方,它運行良好。我感到難以置信的困惑。由於這種行爲只能在bootstrap中看到。

我在AWS上的Debian Jessie 8.4上使用12.12.15上的主廚。

+0

看起來這畢竟不是廚師問題。將mount -a添加到用戶數據腳本中也不會掛載s3fs。 –

+0

看起來像是一個cloud-init的問題,在/etc/cloud/cloud.cfg中對掛載進行任何更改似乎都會觸發此操作 –

+0

以下是我添加到clould.cfg 掛載的示例: - [ephemeral0, null] –

回答

0

好吧,經過數小時和數小時的故障排除後,我認爲問題出在Debian本身。如果我用Debian 8.0 AMI運行這個相同的腳本,它可以正常工作,如果我升到8.4或更高版本的映像不起作用。我沒有測試8.1,8.2或8.3,因爲我厭倦了這個問題。

1

儘管這看起來與廚師沒有關係,但您應該修復您的配方代碼,以改爲使用mount資源。

+0

安裝也沒有工作。相同的結果。未安裝在引導程序上,沒有引發任何錯誤: –

+0

您在廚師日誌中看到什麼? – coderanger

+0

'[2016-12-30T21:54:15 + 00:00] INFO:處理mount [/ mnt/s3backup]動作掛載(a5y-solr-cloud :: s3fs_backup_directory line 56) [2016-12-30T21:54 :15 + 00:00]調試:在節點上啓用通用安裝資源的提供程序包括:[Chef :: Provider :: Mount :: Mount] [2016-12-30T21:54:15 + 00:00] DEBUG:Provider DEBUG:mount [/ mnt/s3backup]掛載[/ mnt/s3backup]掛載在資源上[/ mnt/s3backup]是Chef :: Provider :: Mount :: Mount [2016-12-30T21:54:15 + 00:00] at/mnt/s3backup [2016-12-30T21:54:15 + 00:00] INFO:mount [/ mnt/s3backup] mounted' –