Provide support for neutron dev mode in kolla

Add a possibility to mount sources as volumes to containers,
in "more than documentation" way. That will let us to use kolla
as a replacement for devstack.

Partially implements: blueprint mount-sources

Change-Id: I4868ed6829bd037e1012d1f40c4a1d1b9995bf95
This commit is contained in:
Yang Youseok 2019-04-19 11:43:44 +09:00
parent c6ff5a93b5
commit 50a72cac17
4 changed files with 37 additions and 10 deletions

View File

@ -12,6 +12,7 @@ neutron_services:
- "{{ node_config_directory }}/neutron-server/:{{ container_config_directory }}/:ro"
- "/etc/localtime:/etc/localtime:ro"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}"
dimensions: "{{ neutron_server_dimensions }}"
haproxy:
neutron_server:
@ -54,6 +55,7 @@ neutron_services:
- "/lib/modules:/lib/modules:ro"
- "/run:/run:shared"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}"
dimensions: "{{ neutron_openvswitch_agent_dimensions }}"
neutron-openvswitch-agent-xenapi:
container_name: "neutron_openvswitch_agent_xenapi"
@ -70,6 +72,7 @@ neutron_services:
- "/lib/modules:/lib/modules:ro"
- "/run:/run:shared"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}"
dimensions: "{{ neutron_openvswitch_agent_xenapi_dimensions }}"
neutron-linuxbridge-agent:
container_name: "neutron_linuxbridge_agent"
@ -94,6 +97,7 @@ neutron_services:
- "/lib/modules:/lib/modules:ro"
- "/run:/run:shared"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}"
dimensions: "{{ neutron_linuxbridge_agent_dimensions }}"
neutron-dhcp-agent:
container_name: "neutron_dhcp_agent"
@ -108,6 +112,7 @@ neutron_services:
- "/run/:/run/:shared"
- "neutron_metadata_socket:/var/lib/neutron/kolla/"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}"
dimensions: "{{ neutron_dhcp_agent_dimensions }}"
neutron-l3-agent:
container_name: "neutron_l3_agent"
@ -126,6 +131,7 @@ neutron_services:
- "/run:/run:shared"
- "neutron_metadata_socket:/var/lib/neutron/kolla/"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}"
dimensions: "{{ neutron_l3_agent_dimensions }}"
neutron-lbaas-agent:
container_name: "neutron_lbaas_agent"
@ -151,6 +157,7 @@ neutron_services:
- "/etc/localtime:/etc/localtime:ro"
- "/run:/run:shared"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}"
dimensions: "{{ neutron_sriov_agent_dimensions }}"
neutron-metadata-agent:
container_name: "neutron_metadata_agent"
@ -168,6 +175,7 @@ neutron_services:
- "/run/:/run/:shared"
- "neutron_metadata_socket:/var/lib/neutron/kolla/"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}"
dimensions: "{{ neutron_metadata_agent_dimensions }}"
neutron-bgp-dragent:
container_name: "neutron_bgp_dragent"
@ -207,6 +215,7 @@ neutron_services:
- "/etc/localtime:/etc/localtime:ro"
- "/run:/run:shared"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}"
dimensions: "{{ neutron_metering_agent_dimensions }}"
ironic-neutron-agent:
container_name: "ironic_neutron_agent"
@ -469,3 +478,11 @@ neutron_notification_drivers: "{{ notification_drivers|selectattr('enabled', 'eq
############
onos_url: "127.0.0.1"
onos_username: "username"
####################
# Kolla
####################
neutron_git_repository: "{{ kolla_dev_repos_git }}/{{ project_name }}"
neutron_dev_repos_pull: "{{ kolla_dev_repos_pull }}"
neutron_dev_mode: "{{ kolla_dev_mode }}"
neutron_source_version: "{{ kolla_source_version }}"

View File

@ -16,7 +16,7 @@
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
volumes: "{{ service.volumes }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
privileged: "{{ service.privileged | default(False) }}"
when:
@ -47,7 +47,7 @@
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
volumes: "{{ service.volumes }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
privileged: "{{ service.privileged | default(False) }}"
when:
@ -75,7 +75,7 @@
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
volumes: "{{ service.volumes }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
privileged: "{{ service.privileged | default(False) }}"
when:
@ -103,7 +103,7 @@
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
volumes: "{{ service.volumes }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
privileged: "{{ service.privileged | default(False) }}"
with_sequence: "start=1 end={{ num_nova_fake_per_node }}"
@ -133,7 +133,7 @@
name: "{{ service.container_name }}"
image: "{{ service.image }}"
environment: "{{ service.environment }}"
volumes: "{{ service.volumes }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
privileged: "{{ service.privileged | default(False) }}"
when:
@ -160,7 +160,7 @@
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
volumes: "{{ service.volumes }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
privileged: "{{ service.privileged | default(False) }}"
when:
@ -192,7 +192,7 @@
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
volumes: "{{ service.volumes }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
privileged: "{{ service.privileged | default(False) }}"
when:
@ -251,7 +251,7 @@
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
volumes: "{{ service.volumes }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
privileged: "{{ service.privileged | default(False) }}"
when:
@ -278,7 +278,7 @@
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
volumes: "{{ service.volumes }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
privileged: "{{ service.privileged | default(False) }}"
when:
@ -357,7 +357,7 @@
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
volumes: "{{ service.volumes }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
privileged: "{{ service.privileged | default(False) }}"
when:

View File

@ -0,0 +1,7 @@
---
- name: Cloning neutron source repository for development
git:
repo: "{{ neutron_git_repository }}"
dest: "{{ kolla_dev_repos_directory }}/{{ project_name }}"
update: "{{ neutron_dev_repos_pull }}"
version: "{{ neutron_source_version }}"

View File

@ -2,6 +2,9 @@
- include_tasks: register.yml
when: inventory_hostname in groups['neutron-server']
- include_tasks: clone.yml
when: neutron_dev_mode | bool
- include_tasks: config.yml
- include_tasks: config-neutron-fake.yml