2017-06-14 59 views
0

我正在使用EC2LatentBuildSlave來鋸割運行構建從站的EC2實例。我想標記奴隸,以便在EC2儀表板標籤選項卡中顯示標籤。如何向Buildbot添加標籤EC2LatentBuildSlave

我傳遞

tags={'Key':'BuildbotType', 'Value':'slaveName'} 

,但我不能看到催生EC2實例的標籤。 我誤解了這個參數嗎?

感謝您的幫助。

回答

0

這似乎是buildbot版本0.8.12中的一個bug。不幸的是,我們現在無法升級。相反,我在基本AMI上安裝了一個init腳本(服務),該腳本讀取user_data並標記其自身。我使用EC2LatentBuildSlave中的user_data字段傳遞標籤詳細信息。

login_aws() { 
    # Some code to configer aws access keys. 
} 

get_userdata() { 
    AWS_USERDATA=$(curl -s http://169.254.169.254/latest/user-data) 
    echo $AWS_USERDATA 
} 

tag_self_for_identification() { 
    login_aws 
    INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id) 
    if [ -z "$INSTANCE_ID" ]; then 
    echo "Error unable to obtain instance id" 
    return 0 
    fi 

    USERDATA=get_userdata 
    set $USERDATA 
    NAME="$2 $3" 
    if [ ! -z "$NAME" ]; then 
    echo "aws ec2 create-tags --resources $INSTANCE_ID --tags Key=Name,Value=$NAME" 
    aws ec2 create-tags --resources $INSTANCE_ID --tags Key=Name,Value="$NAME" \ 
    Key=Buildbot,Value=Latentslave 
    fi 
} 

tag_self_for_identification 

這是一個非常過分的工程解決方案。然而,我需要標籤來爲一些lambda函數工作,以便能夠識別這些latentlsave