rss

Ajout d'un proxy au démarrage d'une instance OpenStack

Pour compléter la configuration d'une instance OpenStack et ajouter un proxy voici ce que l'on peut faire.

Au démarrage d'une instance il est possible d'ajouter un script personnalisé (Customization Script).
Nous allons utiliser cette option pour :
  • vérifier que les paramètres de proxy sont correctement positionnés
  • ajouter les paramètres de proxy s'ils sont absent

Le script qui permet de faire ceci est décrit ci-dessous.
Il suffira de l'ajouter lors de la création d'une instance (dernier onglet) comme "Customization Script" :


#!/bin/bash
INSTANCE_USER=osadmin
PROFILE_SCRIPT=/home/$INSTANCE_USER/.bash_profile
PROXY_PRESENT=`grep http_proxy $PROFILE_SCRIPT | wc -l`
if [[ $PROXY_PRESENT == "1" ]]
 then
   echo "proxy present dans $PROFILE_SCRIPT"
 else
   echo "proxy absent de $PROFILE_SCRIPT ; on l'ajoute"
   echo "export http_proxy=proxy.mycompany.fr:8080" >> $PROFILE_SCRIPT
   echo "export https_proxy=proxy.mycompany.fr:8080" >> $PROFILE_SCRIPT
   echo "export no_proxy='127.0.0.1,localhost,169.254.169.254'" >> $PROFILE_SCRIPT
fi

Explication du script :

  • PROFILE_SCRIPT comporte le nom du script profile joué à chaque connexion de l'utilisateur INSTANCE_USER.
  • PROXY_PRESENT permet de détecter si oui (1) ou non (0) ce fichier comporte déjà un paramétrage relatif à "http_proxy".
  • Dans l'instruction conditionnelle suivante si ce n'est pas le cas (else : PROXY_PRESENT== "0"), on ajoute les export nécessaires et utiles pour positionner les proxies.


Il est possible de constater l'exécution de ce script en affichant (via le portail OpenStack) les logs complets de l'instance
ou en tapant la commande suivante :

env|grep proxy


Aucun commentaire:

Enregistrer un commentaire

Mots clés du blog

acceptancetest androï Android androïd Android7 api appender appengine application applications archive array assistantematernelle astuce auth0 authentication authority automation Axis bash bearer blog bower build bundle c calendrier camille combal cdi certificate cf client cloudfoundry collaboratif command commandes connexion console css démasquées démasquer développement dll dump easter eggs écologie écrit employeur EMUI EMUI5.0 enfant évènement export-package ExtJS fiche find firefox gadget gelf gem git gmail gooelappengine google gparted gps graylog grenoble Grid gui harddrive heroku hover howto HTML http https IE ihm immobilier imprimante innovation insolite instance integration Java JavaScript jenkins jeu jobs json json-schema-validator key keystore labs linux livre log log4j logger logs lombok masquées masquer maven maven-gae-plugin Mémoire microsoft mobile mockito mondialisation monitor MUSE musique en ligne myopera nodejs npm NT NTEventLogger onglet openstack osgi paas package parameters parent php politique prosyst prototype proxies proxy quartz radio rappel recherche regex repository resize RIA rock route ruby rubygems s8500 samsung scheduler scm sel selenium Serializer server shared shell slf4j smartphone so société song spy ssh ssl struct swagger swig tâches téléphone téléréalité test thunderbird timeout token Tomcat tooltip tooltips truststore ubuntu unit test validator virgin virtualbox wave waze web WebApp wiki wikimedia wikipédia wikipen windows yahoo youtube yum