Voici une synthèse des étapes nécessaires pour commencer à committer du code sur OpenStack.
Compte
Dans un premier temps il faut se créer un compte sur le launchpad, signer la licence individuelle des contributeurs et uploader sa clé SSH.
Il faut également être membre de la fondation OpenStack, le lien est fait sur l’email, donc il faut donner le même de chaque coté.
Il reste à paramétrer git si ce n’est pas déjà fait :
git config --global user.name "Firstname Lastname" git config --global user.email "your_email@youremail.com" git config --global gitreview.username yourgerritusername sudo apt-get install git-review sudo apt-get install python-pip
Devstack
Devstack sera nécessaire pour la partie test en relation avec les autres stack du projet.
git clone https://github.com/openstack-dev/devstack.git
Ensuite il faut paramétrer local.conf. Voici un exemple simple :
[[local|localrc]] ADMIN_PASSWORD=mypassword DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9f80e50 FIXED_RANGE=172.16.200.0/24 NETWORK_GATEWAY=172.16.200.1 FLOATING_RANGE=192.168.200.0/24 PUBLIC_NETWORK_GATEWAY=192.168.200.1 HOST_IP=192.168.1.12 disable_service n-net enable_service q-svc enable_service q-agt enable_service q-dhcp enable_service q-l3 enable_service q-meta enable_service neutron # Optional, to enable tempest configuration as part of devstack RECLONE=yes # Swift enable_service tempest s-proxy s-object s-container s-account SWIFT_HASH=66a3d6b56c1f479c8b4e70ae5c2000f5 SWIFT_REPLICAS=1 SWIFT_DATA_DIR=$DEST/data/swift
Pour valider la configuration, on lance le script de déploiement.
./stack.sh
Travailler sur un projet
Nous allons prendre comme exemple Swift. On commence par puller le dépôt officiel et faire la configuration associée à Gerrit.
mkdir ~/my_swift cd ~/my_swift git clone git://git.openstack.org/openstack/swift.git . git review -s git checkout -b my_swift
Comme on vient de créer un « nouveau swift », on va dire a devstack ou il se trouve en éditant local.conf.
SWIFT_REPO=/opt/stack/my_swift SWIFT_BRANCH=my_swift
Tests
Les tests unitaires se font avec tox et les tests d’intégration se font avec devstack.
Commit
Le commit se fait comme d’habitude, il faut simplement veiller à bien avoir un Change-Id (–amend) puis pousser le commit pour le review.
git commit -a git commit --amend git review
Et le résultat en image :
Plus d’info
Toutes ces informations sont tirées de wiki.openstack.org :