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.
Les scripts d’initialisation du service de Réseau s’attendent à ce que la variable NEUTRON_PLUGIN_CONF dans le fichier /etc/sysconfig/neutron référence le fichier de configuration du plugin ML2. Éditer le fichier /etc/sysconfig/neutron et ajouter ce qui suit:
NEUTRON_PLUGIN_CONF="/etc/neutron/plugins/ml2/ml2_conf.ini"
Redémarrer le service d’API Compute
# systemctl restart openstack-nova-api.service
Démarrer les services réseau et les configurer pour démarrer au boot du système:
Pour les 2 options de mise en réseau:
# systemctl enable openstack-neutron.service \
openstack-neutron-linuxbridge-agent.service \
openstack-neutron-dhcp-agent.service \
openstack-neutron-metadata-agent.service
# systemctl start openstack-neutron.service \
openstack-neutron-linuxbridge-agent.service \
openstack-neutron-dhcp-agent.service \
openstack-neutron-metadata-agent.service
Pour le Réseau option 2, activer et démarrer également le service layer-3.
# systemctl enable openstack-neutron-l3-agent.service
# systemctl start openstack-neutron-l3-agent.service
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.