From 3b30760e2d0bbc7864e54b5756be2bf2431a221d Mon Sep 17 00:00:00 2001 From: Sam Yaple <sam@yaple.net> Date: Thu, 23 Jul 2015 17:19:44 +0000 Subject: [PATCH] Fix compute permissions and start params neutron-server was not properly using ml2_conf.ini nova did not have ovs utils, and it had incorrect libvirt permissions Change-Id: I43d2110d0b5fc1940d887dace95787e1ebbe142d Partitially-Implements: blueprint ansible-service --- .../roles/neutron/templates/metadata_agent.ini.j2 | 14 -------------- ansible/roles/neutron/templates/neutron.conf.j2 | 15 +++++++++++++++ ansible/roles/nova/tasks/start.yml | 4 ++++ docker/centos/binary/nova/nova-compute/Dockerfile | 1 + .../neutron/neutron-server/config-external.sh | 3 +-- docker/common/neutron/neutron-server/start.sh | 2 +- docker/common/nova/nova-libvirt/start.sh | 8 ++++++++ 7 files changed, 30 insertions(+), 17 deletions(-) diff --git a/ansible/roles/neutron/templates/metadata_agent.ini.j2 b/ansible/roles/neutron/templates/metadata_agent.ini.j2 index cce556950..39ee0e4bc 100644 --- a/ansible/roles/neutron/templates/metadata_agent.ini.j2 +++ b/ansible/roles/neutron/templates/metadata_agent.ini.j2 @@ -10,17 +10,3 @@ user_domain_id = default project_name = service username = neutron password = {{ neutron_keystone_password }} - -nova_url = http://{{ kolla_internal_address }}:{{ nova_api_port }}/v2 -notify_nova_on_port_data_changes = True -notify_nova_on_port_status_change = True - -[nova] -auth_url = http://{{ kolla_internal_address }}:{{ keystone_admin_port }} -auth_plugin = password -project_domain_id = default -user_domain_id = default -region_name = {{ openstack_region_name }} -project_name = service -username = nova -password = {{ nova_keystone_password }} diff --git a/ansible/roles/neutron/templates/neutron.conf.j2 b/ansible/roles/neutron/templates/neutron.conf.j2 index 8c9961fd6..7d0313d1f 100644 --- a/ansible/roles/neutron/templates/neutron.conf.j2 +++ b/ansible/roles/neutron/templates/neutron.conf.j2 @@ -15,6 +15,21 @@ allow_overlapping_ips = true core_plugin = ml2 service_plugins = router + +nova_url = http://{{ kolla_internal_address }}:{{ nova_api_port }}/v2 +notify_nova_on_port_data_changes = True +notify_nova_on_port_status_change = True + +[nova] +auth_url = http://{{ kolla_internal_address }}:{{ keystone_admin_port }} +auth_plugin = password +project_domain_id = default +user_domain_id = default +region_name = {{ openstack_region_name }} +project_name = service +username = nova +password = {{ nova_keystone_password }} + [oslo_messaging_rabbit] rabbit_host = {{ kolla_internal_address }} rabbit_userid = {{ rabbitmq_user }} diff --git a/ansible/roles/nova/tasks/start.yml b/ansible/roles/nova/tasks/start.yml index 1d1c92356..ebe17a16e 100644 --- a/ansible/roles/nova/tasks/start.yml +++ b/ansible/roles/nova/tasks/start.yml @@ -10,6 +10,7 @@ container_volumes: - "/run:/run" - "/lib/modules:/lib/modules:ro" + - "/var/lib/nova/instances" when: inventory_hostname in groups['compute'] - include: ../../start.yml @@ -70,8 +71,11 @@ KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" container_image: "{{ docker_nova_compute_image_full }}" container_name: "nova_compute" + container_privileged: "True" container_volumes: - "{{ node_config_directory }}/nova-compute/:/opt/kolla/nova-compute/:ro" - "/run:/run" - "/lib/modules:/lib/modules:ro" + container_volumes_from: + - "nova_libvirt" when: inventory_hostname in groups['compute'] diff --git a/docker/centos/binary/nova/nova-compute/Dockerfile b/docker/centos/binary/nova/nova-compute/Dockerfile index 6cdd27fbe..754704ba5 100644 --- a/docker/centos/binary/nova/nova-compute/Dockerfile +++ b/docker/centos/binary/nova/nova-compute/Dockerfile @@ -2,6 +2,7 @@ FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%nova-base:%%KOLLA_TAG%% MAINTAINER Kolla Project (https://launchpad.net/kolla) RUN yum -y install openstack-nova-compute \ + openvswitch \ sysfsutils && yum clean all COPY config-nova-compute.sh /opt/kolla/config-nova-compute.sh diff --git a/docker/common/neutron/neutron-server/config-external.sh b/docker/common/neutron/neutron-server/config-external.sh index c8558ecca..574923067 100755 --- a/docker/common/neutron/neutron-server/config-external.sh +++ b/docker/common/neutron/neutron-server/config-external.sh @@ -9,8 +9,7 @@ if [[ -f "$SOURCE" ]]; then chmod 0644 $TARGET fi -# TODO(SamYaple): Remove this from neutron-server once bootstrap is understood -SOURCE="/opt/kolla/neutron-openvswitch-agent/ml2_conf.ini" +SOURCE="/opt/kolla/neutron-server/ml2_conf.ini" TARGET="/etc/neutron/plugins/ml2/ml2_conf.ini" OWNER="neutron" diff --git a/docker/common/neutron/neutron-server/start.sh b/docker/common/neutron/neutron-server/start.sh index 7df950e57..97317c05b 100755 --- a/docker/common/neutron/neutron-server/start.sh +++ b/docker/common/neutron/neutron-server/start.sh @@ -2,7 +2,7 @@ set -o errexit CMD="/usr/bin/neutron-server" -ARGS="--config-file /etc/neutron/neutron.conf" +ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini" # Loading common functions. source /opt/kolla/kolla-common.sh diff --git a/docker/common/nova/nova-libvirt/start.sh b/docker/common/nova/nova-libvirt/start.sh index 00d7046d1..58ad58cb0 100755 --- a/docker/common/nova/nova-libvirt/start.sh +++ b/docker/common/nova/nova-libvirt/start.sh @@ -10,4 +10,12 @@ source /opt/kolla/kolla-common.sh # Config-internal script exec out of this function, it does not return here. set_configs +# TODO(SamYaple): Unify this with config-internal. Tweak libvirt.conf rather +# than change permissions. +# Fix permissions for libvirt +if [[ -c /dev/kvm ]]; then + chmod 660 /dev/kvm + chown root:kvm /dev/kvm +fi + exec $CMD $ARGS -- GitLab