dsl_version: 0.1.0 service: name: neutron-server ports: - {{ neutron.server_port }} containers: - name: neutron-server image: neutron-server pre: - name: neutron-db-create dependencies: - {{ service.database }} type: single command: mysql -u root -p{{ db.root_password }} -h {{ address(service.database) }} -e 'create database `{{ neutron.db.name }}`; grant all privileges on `{{ neutron.db.name }}`.* to "{{ neutron.db.username }}"@"%" identified by "{{ neutron.db.password }}"' - name: neutron-db-sync type: single command: neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head dependencies: - "{{ messaging.dependencies[messaging.backend.rpc] }}" - "{{ messaging.dependencies[messaging.backend.notifications] }}" - neutron-db-create files: - neutron.conf - ml2-conf.ini - name: neutron-user-create dependencies: - keystone-create-project type: single command: openstack user create --project service --password {{ neutron.db.password }} {{ neutron.db.username }} - name: neutron-role-add dependencies: - neutron-user-create type: single command: openstack role add --project service --user {{ neutron.db.username }} admin - name: neutron-service-create dependencies: - keystone type: single command: openstack service create --name neutron --description "OpenStack Networking" network - name: neutron-public-endpoint-create dependencies: - neutron-service-create type: single command: openstack endpoint create --region RegionOne network public {{ address('neutron-server', neutron.server_port, external=True, with_scheme=True) }} - name: neutron-internal-endpoint-create dependencies: - neutron-service-create type: single command: openstack endpoint create --region RegionOne network internal {{ address('neutron-server', neutron.server_port, with_scheme=True) }} - name: neutron-admin-endpoint-create dependencies: - neutron-service-create type: single command: openstack endpoint create --region RegionOne network admin {{ address('neutron-server', neutron.server_port, with_scheme=True) }} daemon: command: neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini files: - neutron.conf - ml2-conf.ini files: neutron.conf: path: /etc/neutron/neutron.conf content: neutron.conf.j2 perm: "0600" ml2-conf.ini: path: /etc/neutron/plugins/ml2/ml2_conf.ini content: ml2_conf.ini.j2 perm: "0600"