2017-06-14 3 views
0

J'utilise EC2LatentBuildSlave pour scier des instances EC2 exécutant les esclaves de construction. Je voudrais marquer les esclaves afin qu'un tag soit visible dans l'onglet Etiquettes du tableau de bord EC2.Comment ajouter des balises à Buildbot EC2LatentBuildSlave

Je passe

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

mais je ne vois pas les balises dans l'instance EC2 donné naissance. Ai-je mal compris ce paramètre?

Merci pour votre aide.

Répondre

0

Cela ressemble à un bogue dans la version 0.8.12 de buildbot. Malheureusement, nous ne pouvons pas mettre à jour à ce stade. Au lieu de cela j'ai installé un script d'initialisation (service) sur l'AMI de base qui lit user_data et étiquette son soi. Je passe les détails de l'étiquette en utilisant le champ user_data dans EC2LatentBuildSlave.

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 

Il s'agit d'une solution extrêmement sophistiquée. Cependant, j'ai besoin que les balises fonctionnent pour certaines fonctions lambda afin de pouvoir identifier ces latentes.