Avant de configurer le service Réseau d’OpenStack (neutron), vous devez créer une base de données, des credentials de service, et des endpoints API.
Pour créer la base de données, compléter ces étapes :
Utiliser le client d’accès à la base de données pour se connecter au serveur de base en tant qu’utilisateur root:
$ mysql -u root -p
Créer la base de données neutron:
CREATE DATABASE neutron;
Attribuer l’accès à la base de données neutron, en remplaçant NEUTRON_DBPASS par un mot de passe approprié:
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
IDENTIFIED BY 'NEUTRON_DBPASS';
Quitter l’accès client de la base de données.
Sourcer les accréditations admin pour obtenir l’accès aux commandes en ligne spécial-admin:
$ source admin-openrc.sh
Pour créer les credentials du service, suivre les étapes suivantes:
Créer l’utilisateur neutron:
$ openstack user create --domain default --password-prompt neutron
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | b20a6692f77b4258926881bf831eb683 |
| name | neutron |
+-----------+----------------------------------+
Ajouter le rôle admin à l’utilisateur neutron:
$ openstack role add --project service --user neutron admin
Note
Cette commande ne produit aucune sortie.
Créer l’entité de service neutron:
$ openstack service create --name neutron \
--description "OpenStack Networking" network
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Networking |
| enabled | True |
| id | f71529314dab4a4d8eca427e701d209e |
| name | neutron |
| type | network |
+-------------+----------------------------------+
Créer les points de terminaison API pour le service réseau:
$ openstack endpoint create --region RegionOne \
network public http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 85d80a6d02fc4b7683f611d7fc1493a3 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f71529314dab4a4d8eca427e701d209e |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
$ openstack endpoint create --region RegionOne \
network internal http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 09753b537ac74422a68d2d791cf3714f |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f71529314dab4a4d8eca427e701d209e |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
$ openstack endpoint create --region RegionOne \
network admin http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 1ee14289c9374dffb5db92a5c112fc4e |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f71529314dab4a4d8eca427e701d209e |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
Vous pouvez déployer le service Réseau en utilisant l’une des deux architectures représentées par les options 1 et 2.
L’option 1 déploie l’architecture la plus simple possible qui supporte uniquement d’attacher les instances en direct aux réseaux (fournisseurs) publics. Pas de réseaux libre-service, routeurs, ou adresses IP flottantes. Seul l’utilisateur admin ou tout autre utilisateur à privilège peut gérer les réseaux fournisseurs.
L’option 2 ajoute à l’option 1 des services de couche-3 qui supporte l’attachement des instances à des réseaux (privés) libre-service. L’utilisateur demo ou tout autre utilisateur sans privilège peut gérer des réseaux libre-service incluant les routeurs qui fournissent la connectivité entre les réseaux self-service et fournisseur. De plus, des adresses IP flottantes fournissent la connectivité aux instances utilisant les réseaux libre-service à partir de réseaux externes comme Internet.
Note
L’option 2 supporte également le rattachement d’instances aux réseaux (fournisseurs) publics.
Choisir une des options réseau suivantes pour configurer les services qui lui sont spécifiques. Ensuite, revenir ici et poursuivre à Configurer l’agent metadata.
L’agent metadata fournit les informations de configuration comme les credentials aux instances.
Editer le fichier /etc/neutron/metadata_agent.ini et effectuer les modifications suivantes:
Dans la section [DEFAULT], configurer les paramètres d’accès:
[DEFAULT]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_region = RegionOne
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = neutron
password = NEUTRON_PASS
Remplacer NEUTRON_PASS par le mot de passe choisi pour l’utilisateur neutron dans le service d’Identité.
Dans la section [DEFAULT], configurer le host metadata:
[DEFAULT]
...
nova_metadata_ip = controller
Dans la section [DEFAULT], configurer le secret partagé du proxy metadata:
[DEFAULT]
...
metadata_proxy_shared_secret = METADATA_SECRET
Remplacer METADATA_SECRET par un secret approprié pour le proxy metadata.
(Optionnel) Pour faciliter la résolution des problèmes, activer la verbosité des logs dans la section [DEFAULT] :
[DEFAULT]
...
verbose = True
Éditer le fichier /etc/nova/nova.conf et effectuer les modifications suivantes:
Dans la section [neutron], configurer les paramètres d’accès, activer le proxy metadata, et configurer le secret:
[neutron]
...
url = http://controller:9696
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
service_metadata_proxy = True
metadata_proxy_shared_secret = METADATA_SECRET
Remplacer NEUTRON_PASS par le mot de passe choisi pour l’utilisateur neutron dans le service d’Identité.
Remplacer METADATA_SECRET par le secret choisi pour le proxy metadata.
Peupler la base de données:
# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
Note
Le remplissage de la base de données a lieu plus tard pour le service Réseau parce que le script a besoin des fichiers de configuration complets pour le serveur et les plugin.
Redémarrer le service d’API Compute
# service nova-api restart
Redémarrer les services réseau:
Pour les 2 options de mise en réseau:
# service neutron-server restart
# service neutron-plugin-linuxbridge-agent restart
# service neutron-dhcp-agent restart
# service neutron-metadata-agent restart
Pour le Réseau option 2, redémarrer également le service layer-3.
# service neutron-l3-agent restart
Par défaut, les packages Ubuntu créent une base de données SQLite.
Comme cette configuration utilise un serveur de base de données SQL, le fichier de base de données SQLite peut être supprimé:
# rm -f /var/lib/neutron/neutron.sqlite
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.