[openstack-dev] [neutron] dnsmasq process wasn't created after added a network
Yoshihiro Kaneko
ykaneko0929 at gmail.com
Tue Sep 24 04:18:33 UTC 2013
Hi,
I misunderstood.
dnsmasq process was created when VM port, not a network, was added.
Thanks,
Kaneko
2013/9/20 Yoshihiro Kaneko <ykaneko0929 at gmail.com>:
> Hello,
>
> I tried latest devstack (master branch).
> And I created a network, but dnsmasq process for the network wasn't created.
>
> localrc I used is as follows:
> ----------
> HOST_NAME=$(hostname)
> SERVICE_HOST=192.168.1.10
>
> disable_service n-net
> enable_service q-svc q-agt q-dhcp q-l3 q-meta neutron
>
> Q_HOST=$SERVICE_HOST
> MYSQL_HOST=$SERVICE_HOST
> RABBIT_HOST=$SERVICE_HOST
> GLANCE_HOSTPORT=$SERVICE_HOST:9292
> KEYSTONE_AUTH_HOST=$SERVICE_HOST
> KEYSTONE_SERVICE_HOST=$SERVICE_HOST
>
> MYSQL_PASSWORD=mysql
> RABBIT_PASSWORD=rabbit
> SERVICE_TOKEN=service
> SERVICE_PASSWORD=admin
> SERVICE_TENANT_NAME=service
> ADMIN_PASSWORD=admin
>
> RECLONE=yes
> ----------
>
> There is dnsmasq process for initial network (private) after stack.sh started.
> ----------
> $ neutron net-list
> +--------------------------------------+---------+------------------------------------------------------+
> | id | name | subnets
> |
> +--------------------------------------+---------+------------------------------------------------------+
> | b2c2cc34-d349-4a2d-b153-f4cd0d357d3d | public |
> 0aad0524-12b3-4ec9-9c4b-c592570a5711 172.24.4.224/28 |
> | c2b46689-d1a4-40d0-b0d5-103582980eea | private |
> 09aa0f86-eeeb-4324-91b0-233d336a29d0 10.0.0.0/24 |
> +--------------------------------------+---------+------------------------------------------------------+
> $ neutron subnet-list
> +--------------------------------------+----------------+-----------------+--------------------------------------------------+
> | id | name | cidr
> | allocation_pools |
> +--------------------------------------+----------------+-----------------+--------------------------------------------------+
> | 09aa0f86-eeeb-4324-91b0-233d336a29d0 | private-subnet | 10.0.0.0/24
> | {"start": "10.0.0.2", "end": "10.0.0.254"} |
> | 0aad0524-12b3-4ec9-9c4b-c592570a5711 | public-subnet |
> 172.24.4.224/28 | {"start": "172.24.4.226", "end": "172.24.4.238"} |
> +--------------------------------------+----------------+-----------------+--------------------------------------------------+
> $ neutron port-list -c fixed_ips -c device_owner
> +-------------------------------------------------------------------------------------+--------------------------+
> | fixed_ips
> | device_owner |
> +-------------------------------------------------------------------------------------+--------------------------+
> | {"subnet_id": "09aa0f86-eeeb-4324-91b0-233d336a29d0", "ip_address":
> "10.0.0.2"} | network:dhcp |
> | {"subnet_id": "0aad0524-12b3-4ec9-9c4b-c592570a5711", "ip_address":
> "172.24.4.226"} | network:router_gateway |
> | {"subnet_id": "09aa0f86-eeeb-4324-91b0-233d336a29d0", "ip_address":
> "10.0.0.1"} | network:router_interface |
> +-------------------------------------------------------------------------------------+--------------------------+
> $ ps ax | grep dnsmasq
> 5864 ? S 0:00 dnsmasq --no-hosts --no-resolv
> --strict-order --bind-interfaces --interface=tap7d7f5c08-61
> --except-interface=lo
> --pid-file=/opt/stack/data/neutron/dhcp/c2b46689-d1a4-40d0-b0d5-103582980eea/pid
> --dhcp-hostsfile=/opt/stack/data/neutron/dhcp/c2b46689-d1a4-40d0-b0d5-103582980eea/host
> --dhcp-optsfile=/opt/stack/data/neutron/dhcp/c2b46689-d1a4-40d0-b0d5-103582980eea/opts
> --leasefile-ro --dhcp-range=set:tag0,10.0.0.0,static,86400s
> --dhcp-lease-max=256 --conf-file= --domain=openstacklocal
> ----------
>
> Then, I added a new network, subnet and router, but dnsmasq process
> wasn't added.
> ----------
> $ neutron net-create private2
> Created a new network:
> +---------------------------+--------------------------------------+
> | Field | Value |
> +---------------------------+--------------------------------------+
> | admin_state_up | True |
> | id | 99341220-b12d-4dd0-af96-19a4915e3a03 |
> | name | private2 |
> | provider:network_type | local |
> | provider:physical_network | |
> | provider:segmentation_id | |
> | shared | False |
> | status | ACTIVE |
> | subnets | |
> | tenant_id | 818d0e9c0ae94f43bd6d65a69b6f2e17 |
> +---------------------------+--------------------------------------+
> $ neutron subnet-create --ip-version 4 --gateway 11.0.0.1 private2 11.0.0.0/24
> Created a new subnet:
> +------------------+--------------------------------------------+
> | Field | Value |
> +------------------+--------------------------------------------+
> | allocation_pools | {"start": "11.0.0.2", "end": "11.0.0.254"} |
> | cidr | 11.0.0.0/24 |
> | dns_nameservers | |
> | enable_dhcp | True |
> | gateway_ip | 11.0.0.1 |
> | host_routes | |
> | id | ce09e211-1e4a-486f-b3c1-323e4919907a |
> | ip_version | 4 |
> | name | |
> | network_id | 99341220-b12d-4dd0-af96-19a4915e3a03 |
> | tenant_id | 818d0e9c0ae94f43bd6d65a69b6f2e17 |
> +------------------+--------------------------------------------+
> $ neutron router-create router2
> Created a new router:
> +-----------------------+--------------------------------------+
> | Field | Value |
> +-----------------------+--------------------------------------+
> | admin_state_up | True |
> | external_gateway_info | |
> | id | 3838589a-5513-48f0-a297-8df1fa6166a4 |
> | name | router2 |
> | status | ACTIVE |
> | tenant_id | 818d0e9c0ae94f43bd6d65a69b6f2e17 |
> +-----------------------+--------------------------------------+
> $ neutron router-interface-add 3838589a-5513-48f0-a297-8df1fa6166a4
> ce09e211-1e4a-486f-b3c1-323e4919907a
> Added interface e8281ce7-272e-46db-9b60-b9d2e7bcd248 to router
> 3838589a-5513-48f0-a297-8df1fa6166a4.
> $ neutron router-gateway-set 3838589a-5513-48f0-a297-8df1fa6166a4
> b2c2cc34-d349-4a2d-b153-f4cd0d357d3d
> Set gateway for router 3838589a-5513-48f0-a297-8df1fa6166a4
> $ neutron port-list -c fixed_ips -c device_owner
> +-------------------------------------------------------------------------------------+--------------------------+
> | fixed_ips
> | device_owner |
> +-------------------------------------------------------------------------------------+--------------------------+
> | {"subnet_id": "09aa0f86-eeeb-4324-91b0-233d336a29d0", "ip_address":
> "10.0.0.2"} | network:dhcp |
> | {"subnet_id": "0aad0524-12b3-4ec9-9c4b-c592570a5711", "ip_address":
> "172.24.4.226"} | network:router_gateway |
> | {"subnet_id": "09aa0f86-eeeb-4324-91b0-233d336a29d0", "ip_address":
> "10.0.0.1"} | network:router_interface |
> | {"subnet_id": "ce09e211-1e4a-486f-b3c1-323e4919907a", "ip_address":
> "11.0.0.1"} | network:router_interface |
> | {"subnet_id": "0aad0524-12b3-4ec9-9c4b-c592570a5711", "ip_address":
> "172.24.4.227"} | network:router_gateway |
> +-------------------------------------------------------------------------------------+--------------------------+
> $ ps ax|grep dnsmasq
> 5864 ? S 0:00 dnsmasq --no-hosts --no-resolv
> --strict-order --bind-interfaces --interface=tap7d7f5c08-61
> --except-interface=lo
> --pid-file=/opt/stack/data/neutron/dhcp/c2b46689-d1a4-40d0-b0d5-103582980eea/pid
> --dhcp-hostsfile=/opt/stack/data/neutron/dhcp/c2b46689-d1a4-40d0-b0d5-103582980eea/host
> --dhcp-optsfile=/opt/stack/data/neutron/dhcp/c2b46689-d1a4-40d0-b0d5-103582980eea/opts
> --leasefile-ro --dhcp-range=set:tag0,10.0.0.0,static,86400s
> --dhcp-lease-max=256 --conf-file= --domain=openstacklocal
> $ ip netns
> qrouter-3838589a-5513-48f0-a297-8df1fa6166a4
> qrouter-25711cb3-bb19-4888-a64d-410d53386bae
> qdhcp-c2b46689-d1a4-40d0-b0d5-103582980eea
> ----------
>
> I restart dhcp-agent for trial, then dnsmasq for new network was added
> (2 processes in total).
> ----------
> $ neutron port-list -c fixed_ips -c device_owner
> +-------------------------------------------------------------------------------------+--------------------------+
> | fixed_ips
> | device_owner |
> +-------------------------------------------------------------------------------------+--------------------------+
> | {"subnet_id": "09aa0f86-eeeb-4324-91b0-233d336a29d0", "ip_address":
> "10.0.0.2"} | network:dhcp |
> | {"subnet_id": "0aad0524-12b3-4ec9-9c4b-c592570a5711", "ip_address":
> "172.24.4.226"} | network:router_gateway |
> | {"subnet_id": "09aa0f86-eeeb-4324-91b0-233d336a29d0", "ip_address":
> "10.0.0.1"} | network:router_interface |
> | {"subnet_id": "ce09e211-1e4a-486f-b3c1-323e4919907a", "ip_address":
> "11.0.0.2"} | network:dhcp |
> | {"subnet_id": "ce09e211-1e4a-486f-b3c1-323e4919907a", "ip_address":
> "11.0.0.1"} | network:router_interface |
> | {"subnet_id": "0aad0524-12b3-4ec9-9c4b-c592570a5711", "ip_address":
> "172.24.4.227"} | network:router_gateway |
> +-------------------------------------------------------------------------------------+--------------------------+
> $ ps ax|grep dnsmasq
> 30668 ? S 0:00 dnsmasq --no-hosts --no-resolv
> --strict-order --bind-interfaces --interface=tap7d7f5c08-61
> --except-interface=lo
> --pid-file=/opt/stack/data/neutron/dhcp/c2b46689-d1a4-40d0-b0d5-103582980eea/pid
> --dhcp-hostsfile=/opt/stack/data/neutron/dhcp/c2b46689-d1a4-40d0-b0d5-103582980eea/host
> --dhcp-optsfile=/opt/stack/data/neutron/dhcp/c2b46689-d1a4-40d0-b0d5-103582980eea/opts
> --leasefile-ro --dhcp-range=set:tag0,10.0.0.0,static,86400s
> --dhcp-lease-max=256 --conf-file= --domain=openstacklocal
> 31222 ? S 0:00 dnsmasq --no-hosts --no-resolv
> --strict-order --bind-interfaces --interface=tapd6f7cb89-97
> --except-interface=lo
> --pid-file=/opt/stack/data/neutron/dhcp/99341220-b12d-4dd0-af96-19a4915e3a03/pid
> --dhcp-hostsfile=/opt/stack/data/neutron/dhcp/99341220-b12d-4dd0-af96-19a4915e3a03/host
> --dhcp-optsfile=/opt/stack/data/neutron/dhcp/99341220-b12d-4dd0-af96-19a4915e3a03/opts
> --leasefile-ro --dhcp-range=set:tag0,11.0.0.0,static,86400s
> --dhcp-lease-max=256 --conf-file= --domain=openstacklocal
> $ ip netns
> qdhcp-99341220-b12d-4dd0-af96-19a4915e3a03
> qrouter-3838589a-5513-48f0-a297-8df1fa6166a4
> qrouter-25711cb3-bb19-4888-a64d-410d53386bae
> qdhcp-c2b46689-d1a4-40d0-b0d5-103582980eea
> ----------
>
> I changed stack.sh to create initial network after having started dhcp-agent.
> ----------
> diff --git a/stack.sh b/stack.sh
> index 71e7317..6de6f7c 100755
> --- a/stack.sh
> +++ b/stack.sh
> @@ -1203,7 +1203,7 @@ if is_service_enabled q-svc; then
> echo_summary "Starting Neutron"
>
> start_neutron_service_and_check
> - create_neutron_initial_network
> + #create_neutron_initial_network
> setup_neutron_debug
> elif is_service_enabled $DATABASE_BACKENDS && is_service_enabled n-net; then
> NM_CONF=${NOVA_CONF}
> @@ -1223,6 +1223,7 @@ fi
>
> if is_service_enabled neutron; then
> start_neutron_agents
> + create_neutron_initial_network
> fi
> if is_service_enabled nova; then
> echo_summary "Starting Nova"
> ----------
>
> As a result, dnsmasq process for initial network was not created.
> ----------
> $ neutron net-list
> +--------------------------------------+---------+------------------------------------------------------+
> | id | name | subnets
> |
> +--------------------------------------+---------+------------------------------------------------------+
> | 0e5e5d57-4d93-461d-a382-cb9d099496c0 | public |
> 0825d3e6-48b8-4de5-975d-b63282a628c4 172.24.4.224/28 |
> | fc6c9e5f-5435-4450-bae9-8455e9f198ca | private |
> bb68d0d8-548a-4ce5-9107-d30ca15d172b 10.0.0.0/24 |
> +--------------------------------------+---------+------------------------------------------------------+
> $ neutron subnet-list
> +--------------------------------------+----------------+-----------------+--------------------------------------------------+
> | id | name | cidr
> | allocation_pools |
> +--------------------------------------+----------------+-----------------+--------------------------------------------------+
> | 0825d3e6-48b8-4de5-975d-b63282a628c4 | public-subnet |
> 172.24.4.224/28 | {"start": "172.24.4.226", "end": "172.24.4.238"} |
> | bb68d0d8-548a-4ce5-9107-d30ca15d172b | private-subnet | 10.0.0.0/24
> | {"start": "10.0.0.2", "end": "10.0.0.254"} |
> +--------------------------------------+----------------+-----------------+--------------------------------------------------+
> $ neutron port-list -c fixed_ips -c device_owner
> +-------------------------------------------------------------------------------------+--------------------------+
> | fixed_ips
> | device_owner |
> +-------------------------------------------------------------------------------------+--------------------------+
> | {"subnet_id": "0825d3e6-48b8-4de5-975d-b63282a628c4", "ip_address":
> "172.24.4.226"} | network:router_gateway |
> | {"subnet_id": "bb68d0d8-548a-4ce5-9107-d30ca15d172b", "ip_address":
> "10.0.0.1"} | network:router_interface |
> +-------------------------------------------------------------------------------------+--------------------------+
> $ ps ax|grep dnsmasq
> $ ip netns
> qrouter-6ce35c23-fece-43cd-8735-4ec5ec5be98e
> ----------
>
> Why doesn't dhcp-agent create dnsmasq process when a network was
> added? Is this a bug?
> Possibly this may be caused by my configuration and/or environment,
> but I don't know what is wrong.
> Please give me advice.
>
> Thanks,
> Kaneko
More information about the OpenStack-dev
mailing list