[openstack-dev] [neutron][hyper-v] Instance can't get fixed ip on hyper-v compute node

Claudiu Belu cbelu at cloudbasesolutions.com
Wed Jun 24 15:20:10 UTC 2015


Hello,

>From what I can see in the trace you included, it seems to be either Kilo or master (it uses networking-hyperv, which was introduced in Kilo).

Also, it might be useful to know if you are using Windows Server 2012 or Windows Server 2012 R2. Running this in Powershell should yield the OS version:

[environment]::OSVersion.Version

6.2 is Windows Server 2012
6.3 is Windows Server 2012 R2

As for port binding, neutron-hyperv-agent, if it fails to bind a port, it will retry to bind it. Which means that even if you see that trace, it doesn't mean that the binding failed at all. If you run "Get-VM | Get-VMNetworkAdapter" in Powershell, you can see that ports have been bound to the vSwitch.


Also, I don't know if your environment has been properly configured, but I can tell that you have set the "hyperv" Mechanism Driver on your Controller node in the /etc/neutron/plugins/ml2/ml2_conf.ini and you are using a network type compatible with Hyper-V. Otherwise, neutron would flag the port with something like "port binding failed" and neutron-hyperv-agent wouldn't attempt to bind it.

A good start would be taking a look at: http://www.cloudbase.it/quantum-hyper-v-plugin/
The linked page contains all the configuration you would need plus some troubleshooting steps that can help.

Also, as Alessandro said, copies of C:\OpenStack\Log\nova-compute.log and C:\OpenStack\Log\neutron_hyperv_agent.log and the neutron server's neutron.conf file can be useful. 
Also, setting debug=True in the Hyper-V's neutron_hyperv_agent.conf can be useful until the issue has been solved.

[DEFAULT]
debug = True

Let us know how it goes.

Best regards,
Claudiu Belu
________________________________________
From: Alessandro Pilotti
Sent: Wednesday, June 24, 2015 5:20 PM
To: OpenStack Development Mailing List (not for usage questions)
Cc: Claudiu Belu
Subject: Re: [openstack-dev] [neutron][hyper-v] Instance can't get fixed ip on hyper-v compute node

Hi Lily,

What version are you running, Icehouse, Juno, Kilo or master?

A full copy of the nova-compute.log and neutron_hyperv_agent.log on a pastebin
might be helpful. Additionally, your neutron.conf from the neutron server could
help along with your neutron network configuration.

Finally, the output of "Get-VMSwitch" on the Hyper-V node could provide some
insight on your visrtual switch configuration.

This question is deployment related and at this stage not a development topic,
so IMO a more suitable location to continue the discussion would be:
https://ask.openstack.org

Thanks,

Alessandro


> On 24 Jun 2015, at 10:02, Lily.Sing <lily.sing at gmail.com> wrote:
>
> Hi,
>
> I setup an openstack env as one controller + network node on OL7.1 and two compute node on windows 2012 server with cloudbase hyper-v compute node driver. Every compute node has two nics. I created a vswitch on the second one and use it to connect to instances. Below is my neutron_hyper_agent.conf:
>
> [DEFAULT]
> verbose=true
> control_exchange=neutron
> policy_file=C:\Program Files (x86)\Cloudbase Solutions\OpenStack\Nova\etc\policy.json
> rpc_backend=neutron.openstack.common.rpc.impl_kombu
> logdir=C:\OpenStack\Log\
> logfile=neutron-hyperv-agent.log
> [AGENT]
> polling_interval=2
> physical_network_vswitch_mappings=*:Intel(R) Ethernet Controller X540-AT2 #3 - Virtual Switch
> enable_metrics_collection=false
> [SECURITYGROUP]
> firewall_driver=neutron.plugins.hyperv.agent.security_groups_driver.HyperVSecurityGroupsDriver
> enable_security_group=true
> [oslo_messaging_rabbit]
> rabbit_host=<rabbit_host>
> rabbit_port=5672
> rabbit_userid=stackrabbit
> rabbit_password=admin
>
>
> After launching an instance, I can check from OpenStack UI that a fixed IP is given, but when connecting the instance from hyper-v manager, no fixed ip is bound to any port. And below is the error message I got from neutron-hyper-agent.log:
> 2015-06-23 22:59:15.954 3552 INFO hyperv.neutron.hyperv_neutron_agent [req-a0577427-04e9-481d-94f0-027cc57eb26a ] Provisioning network 6d5ee4aa-19e2-404e-9523-cc501b20f081
> 2015-06-23 22:59:22.088 3552 ERROR hyperv.neutron.hyperv_neutron_agent [req-a0577427-04e9-481d-94f0-027cc57eb26a ] Error in agent event loop
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent Traceback (most recent call last):
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent   File "C:\Program Files (x86)\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\hyperv\neutron\hyperv_neutron_agent.py", line 356, in daemon_loop
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent     sync = self._process_network_ports(port_info)
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent   File "C:\Program Files (x86)\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\hyperv\neutron\hyperv_neutron_agent.py", line 332, in _process_network_ports
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent     resync_a = self._treat_devices_added(port_info['added'])
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent   File "C:\Program Files (x86)\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\hyperv\neutron\hyperv_neutron_agent.py", line 296, in _treat_devices_added
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent     device_details['admin_state_up'])
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent   File "C:\Program Files (x86)\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\hyperv\neutron\hyperv_neutron_agent.py", line 264, in _treat_vif_port
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent     physical_network, segmentation_id)
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent   File "C:\Program Files (x86)\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\hyperv\neutron\hyperv_neutron_agent.py", line 195, in _port_bound
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent     self._utils.connect_vnic_to_vswitch(map['vswitch_name'], port_id)
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent   File "C:\Program Files (x86)\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\hyperv\neutron\utilsv2.py", line 86, in connect_vnic_to_vswitch
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent     self._add_virt_resource(vm, port)
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent   File "C:\Program Files (x86)\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\hyperv\neutron\utilsv2.py", line 100, in _add_virt_resource
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent     self._check_job_status(ret_val, job_path)
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent   File "C:\Program Files (x86)\Cloudbase Solutions\OpenStack\Nova\Python27\lib\site-packages\hyperv\neutron\utils.py", line 137, in _check_job_status
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent     raise HyperVException(msg=_('Job failed with error %d') % ret_val)
> 2015-06-23 22:59:22.088 3552 TRACE hyperv.neutron.hyperv_neutron_agent HyperVException: Hyper-V Exception: Job failed with error 32775
>
> Seems it's failed to add a port to a VM, but I don't know how to fix it. Any idea? Thanks.
>
> Best regards,
> Lily Xing
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




More information about the OpenStack-dev mailing list