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

2015-07-15 Thread Lily.Sing
Hi there,

I finally figured it out that the problem is caused by the mismatch of the
VLAN range between my openstack installation and the physical switch
setting. Thank you all for your kindly help.

Best regards,
Lily Xing

On Mon, Jul 6, 2015 at 2:02 PM, Lily.Sing lily.s...@gmail.com wrote:

 Hi Claudiu,

 Thank you very much for the info. I'm going through the steps to have a
 try. I will give the feedback later if it works.

 Best regards,
 Lily Xing(邢莉莉)

 On Fri, Jun 26, 2015 at 2:06 AM, Claudiu Belu 
 cb...@cloudbasesolutions.com wrote:

  Hello,

 ml2 conf file looks fine.

 nova logs look fine.

 neutron logs also seem fine, but this worries me a bit:

 2015-06-24 20:45:18.556 4116 DEBUG hyperv.neutron.security_groups_driver
 [req-3786da36-6b03-433d-941e-00327839603c ] Creating port 3 rules
 prepare_port_filter C:\Program Files (x86)\Cloudbase
 Solutions\OpenStack\Nova\Python27\lib\site-packages\hyperv\neutron\security_groups_driver.py:54

 Can you run this in powershell?

 # if you have multiple instances spawned.
 Get-VMNetworkAdapterExtendedAcl -VMName instance-... | ? Action -eq Allow

 # only one instance
 Get-VMNetworkAdapterExtendedAcl | ? Action -eq Allow

 Can you provide the output into a pastebin as well?

 Now, since you have security groups enabled, there should be a rule that
 allow DHCP. It should look like this:

 ParentAdapter  : Microsoft.HyperV.PowerShell.VMNetworkAdapter
 Direction  : Inbound
 Action : Allow
 LocalIPAddress : ANY
 RemoteIPAddress: 10.0.0.2 (this might be different for you)
 LocalPort  : 68-68
 RemotePort : ANY
 Protocol   : udp
 Weight : 65480
 Stateful   : True
 IdleSessionTimeout : 0
 IsolationID: 0
 ToRemove   : False

 All the security group rules the Hyper-V Neutron Agent are received from
 Neutron. This DHCP rule should be amoung them as well by default. If it is
 not, well, there the issue lies elsewhere, in neutron. Worst case scenario,
 you can just add the rule:

 neutron security-group-rule-create --direction ingress --ethertype IPv4
 --protocol udp --port-range-min 68 --port-range-max 68 --remote-ip-prefix
 10.0.0.2 sg_id

 Introducing that rule rule should allow DHCP traffic. If that still
 doesn't solve the issue, the problem might not be the security groups. You
 could try restarting the neutron-hyperv-agent with
 enable_security_group=false in the neutron_hyperv_agent.conf file and check
 if the instances are able to receive an IP.

 I assume you've checked the troubleshooting section of the page I've
 linked last time, but just to make sure.. can you check if DHCP is enabled
 in the subnet the instance was created in?

 neutron subnet-show subnet_id

 Then, considering that you went with the 3 NIC Controller and 2 NIC
 compute node like this:
 Controller:
 eth0 - mangement
 eth1 - vm-data
 eth2 - external

 Compute Node:
 eth0 - management
 eth1 - vSwitch - vm-data

 Can you confirm that the Controller eth1 and the Compute Node vSwitch
 (eth1) are in the same network? Also, Controller eth1, is it promiscuous
 mode?

 At this point, we will have to get our hands dirty and do some networking
 troubleshooting. :)

 On the Hyper-V Node, run:

 # $INSTANCE_NAME will be instance-
 Get-VM -VMName $INSTANCE_NAME | Get-VMConsole

 In the VM Console, login, and:

 ifconfig

 # no assinged IP? then assign it manually (value from OpenStack
 Controller):
 sudo ifconfig eth0 $ASSIGNED_IP netmask $NETWORK_NETMASK up

 ping $DHCP_IP
 # let it run.

 On the Controller, run:

 # both ICMP echo request and ICMP echo reply must be visible, for all
 commands.
 sudo tcpdump -vv -eni eth1 icmp
 sudo tcpdump -vv -eni br-int icmp

 #get the tap device name
 sudo ip netns exec qdhcp-$NET_ID ifconfig

 sudo ip netns exec qdhcp-$NET_ID tcpdump -vv -ni $TAP_NAME

 If on the first tcpdump you do not see any ping echo request, the traffic
 is not getting to the Controller. If you see a ping echo request but no
 ping echo reply, it means that the traffic gets to the Controller, but
 there is reply sent back. The next commands should reveal where the reply
 traffic stops. The last tcpdump is the DHCP network namespace. Ideally,
 there will be both the request and reply messages.


 Hope this helps find the issue!

 Best regards,
 Claudiu Belu

  --
 *From:* Lily.Sing [lily.s...@gmail.com]
 *Sent:* Thursday, June 25, 2015 8:02 AM
 *To:* OpenStack Development Mailing List (not for usage questions)
 *Subject:* Re: [openstack-dev] [neutron][hyper-v] Instance can't get
 fixed ip on hyper-v compute node

   Hi Alessandro and Claudiu,

  Thank you for your quick reply.

  The version I am running is kilo. Yes I use networking-hyperv. And the
 windows version is Windows Server 2012 R2. Below are the output for the
 commands mentioned:

  Get-VMSwitch

  Name  SwitchType
 NetAdapterInterfaceDescription

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

2015-07-06 Thread Lily.Sing
Hi Claudiu,

Thank you very much for the info. I'm going through the steps to have a
try. I will give the feedback later if it works.

Best regards,
Lily Xing(邢莉莉)

On Fri, Jun 26, 2015 at 2:06 AM, Claudiu Belu cb...@cloudbasesolutions.com
wrote:

  Hello,

 ml2 conf file looks fine.

 nova logs look fine.

 neutron logs also seem fine, but this worries me a bit:

 2015-06-24 20:45:18.556 4116 DEBUG hyperv.neutron.security_groups_driver
 [req-3786da36-6b03-433d-941e-00327839603c ] Creating port 3 rules
 prepare_port_filter C:\Program Files (x86)\Cloudbase
 Solutions\OpenStack\Nova\Python27\lib\site-packages\hyperv\neutron\security_groups_driver.py:54

 Can you run this in powershell?

 # if you have multiple instances spawned.
 Get-VMNetworkAdapterExtendedAcl -VMName instance-... | ? Action -eq Allow

 # only one instance
 Get-VMNetworkAdapterExtendedAcl | ? Action -eq Allow

 Can you provide the output into a pastebin as well?

 Now, since you have security groups enabled, there should be a rule that
 allow DHCP. It should look like this:

 ParentAdapter  : Microsoft.HyperV.PowerShell.VMNetworkAdapter
 Direction  : Inbound
 Action : Allow
 LocalIPAddress : ANY
 RemoteIPAddress: 10.0.0.2 (this might be different for you)
 LocalPort  : 68-68
 RemotePort : ANY
 Protocol   : udp
 Weight : 65480
 Stateful   : True
 IdleSessionTimeout : 0
 IsolationID: 0
 ToRemove   : False

 All the security group rules the Hyper-V Neutron Agent are received from
 Neutron. This DHCP rule should be amoung them as well by default. If it is
 not, well, there the issue lies elsewhere, in neutron. Worst case scenario,
 you can just add the rule:

 neutron security-group-rule-create --direction ingress --ethertype IPv4
 --protocol udp --port-range-min 68 --port-range-max 68 --remote-ip-prefix
 10.0.0.2 sg_id

 Introducing that rule rule should allow DHCP traffic. If that still
 doesn't solve the issue, the problem might not be the security groups. You
 could try restarting the neutron-hyperv-agent with
 enable_security_group=false in the neutron_hyperv_agent.conf file and check
 if the instances are able to receive an IP.

 I assume you've checked the troubleshooting section of the page I've
 linked last time, but just to make sure.. can you check if DHCP is enabled
 in the subnet the instance was created in?

 neutron subnet-show subnet_id

 Then, considering that you went with the 3 NIC Controller and 2 NIC
 compute node like this:
 Controller:
 eth0 - mangement
 eth1 - vm-data
 eth2 - external

 Compute Node:
 eth0 - management
 eth1 - vSwitch - vm-data

 Can you confirm that the Controller eth1 and the Compute Node vSwitch
 (eth1) are in the same network? Also, Controller eth1, is it promiscuous
 mode?

 At this point, we will have to get our hands dirty and do some networking
 troubleshooting. :)

 On the Hyper-V Node, run:

 # $INSTANCE_NAME will be instance-
 Get-VM -VMName $INSTANCE_NAME | Get-VMConsole

 In the VM Console, login, and:

 ifconfig

 # no assinged IP? then assign it manually (value from OpenStack
 Controller):
 sudo ifconfig eth0 $ASSIGNED_IP netmask $NETWORK_NETMASK up

 ping $DHCP_IP
 # let it run.

 On the Controller, run:

 # both ICMP echo request and ICMP echo reply must be visible, for all
 commands.
 sudo tcpdump -vv -eni eth1 icmp
 sudo tcpdump -vv -eni br-int icmp

 #get the tap device name
 sudo ip netns exec qdhcp-$NET_ID ifconfig

 sudo ip netns exec qdhcp-$NET_ID tcpdump -vv -ni $TAP_NAME

 If on the first tcpdump you do not see any ping echo request, the traffic
 is not getting to the Controller. If you see a ping echo request but no
 ping echo reply, it means that the traffic gets to the Controller, but
 there is reply sent back. The next commands should reveal where the reply
 traffic stops. The last tcpdump is the DHCP network namespace. Ideally,
 there will be both the request and reply messages.


 Hope this helps find the issue!

 Best regards,
 Claudiu Belu

  --
 *From:* Lily.Sing [lily.s...@gmail.com]
 *Sent:* Thursday, June 25, 2015 8:02 AM
 *To:* OpenStack Development Mailing List (not for usage questions)
 *Subject:* Re: [openstack-dev] [neutron][hyper-v] Instance can't get
 fixed ip on hyper-v compute node

   Hi Alessandro and Claudiu,

  Thank you for your quick reply.

  The version I am running is kilo. Yes I use networking-hyperv. And the
 windows version is Windows Server 2012 R2. Below are the output for the
 commands mentioned:

  Get-VMSwitch

  Name  SwitchType
 NetAdapterInterfaceDescription
   --
 --
 Intel(R) Ethernet Controller X540-AT2 #3 - Virtual Switch External
 Intel(R) Ethernet Controller X540-AT2 #3

  Get-VM | Get-VMNetworkAdapter

  Name IsManagementOs VMName

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

2015-06-25 Thread Claudiu Belu
Hello,

ml2 conf file looks fine.

nova logs look fine.

neutron logs also seem fine, but this worries me a bit:

2015-06-24 20:45:18.556 4116 DEBUG hyperv.neutron.security_groups_driver 
[req-3786da36-6b03-433d-941e-00327839603c ] Creating port 3 rules 
prepare_port_filter C:\Program Files (x86)\Cloudbase 
Solutions\OpenStack\Nova\Python27\lib\site-packages\hyperv\neutron\security_groups_driver.py:54

Can you run this in powershell?

# if you have multiple instances spawned.
Get-VMNetworkAdapterExtendedAcl -VMName instance-... | ? Action -eq Allow

# only one instance
Get-VMNetworkAdapterExtendedAcl | ? Action -eq Allow

Can you provide the output into a pastebin as well?

Now, since you have security groups enabled, there should be a rule that allow 
DHCP. It should look like this:

ParentAdapter  : Microsoft.HyperV.PowerShell.VMNetworkAdapter
Direction  : Inbound
Action : Allow
LocalIPAddress : ANY
RemoteIPAddress: 10.0.0.2 (this might be different for you)
LocalPort  : 68-68
RemotePort : ANY
Protocol   : udp
Weight : 65480
Stateful   : True
IdleSessionTimeout : 0
IsolationID: 0
ToRemove   : False

All the security group rules the Hyper-V Neutron Agent are received from 
Neutron. This DHCP rule should be amoung them as well by default. If it is not, 
well, there the issue lies elsewhere, in neutron. Worst case scenario, you can 
just add the rule:

neutron security-group-rule-create --direction ingress --ethertype IPv4 
--protocol udp --port-range-min 68 --port-range-max 68 --remote-ip-prefix 
10.0.0.2 sg_id

Introducing that rule rule should allow DHCP traffic. If that still doesn't 
solve the issue, the problem might not be the security groups. You could try 
restarting the neutron-hyperv-agent with enable_security_group=false in the 
neutron_hyperv_agent.conf file and check if the instances are able to receive 
an IP.

I assume you've checked the troubleshooting section of the page I've linked 
last time, but just to make sure.. can you check if DHCP is enabled in the 
subnet the instance was created in?

neutron subnet-show subnet_id

Then, considering that you went with the 3 NIC Controller and 2 NIC compute 
node like this:
Controller:
eth0 - mangement
eth1 - vm-data
eth2 - external

Compute Node:
eth0 - management
eth1 - vSwitch - vm-data

Can you confirm that the Controller eth1 and the Compute Node vSwitch (eth1) 
are in the same network? Also, Controller eth1, is it promiscuous mode?

At this point, we will have to get our hands dirty and do some networking 
troubleshooting. :)

On the Hyper-V Node, run:

# $INSTANCE_NAME will be instance-
Get-VM -VMName $INSTANCE_NAME | Get-VMConsole

In the VM Console, login, and:

ifconfig

# no assinged IP? then assign it manually (value from OpenStack Controller):
sudo ifconfig eth0 $ASSIGNED_IP netmask $NETWORK_NETMASK up

ping $DHCP_IP
# let it run.

On the Controller, run:

# both ICMP echo request and ICMP echo reply must be visible, for all commands.
sudo tcpdump -vv -eni eth1 icmp
sudo tcpdump -vv -eni br-int icmp

#get the tap device name
sudo ip netns exec qdhcp-$NET_ID ifconfig

sudo ip netns exec qdhcp-$NET_ID tcpdump -vv -ni $TAP_NAME

If on the first tcpdump you do not see any ping echo request, the traffic is 
not getting to the Controller. If you see a ping echo request but no ping echo 
reply, it means that the traffic gets to the Controller, but there is reply 
sent back. The next commands should reveal where the reply traffic stops. The 
last tcpdump is the DHCP network namespace. Ideally, there will be both the 
request and reply messages.


Hope this helps find the issue!

Best regards,
Claudiu Belu


From: Lily.Sing [lily.s...@gmail.com]
Sent: Thursday, June 25, 2015 8:02 AM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [neutron][hyper-v] Instance can't get fixed ip on 
hyper-v compute node

Hi Alessandro and Claudiu,

Thank you for your quick reply.

The version I am running is kilo. Yes I use networking-hyperv. And the windows 
version is Windows Server 2012 R2. Below are the output for the commands 
mentioned:

Get-VMSwitch

Name  SwitchType 
NetAdapterInterfaceDescription
  -- 
--
Intel(R) Ethernet Controller X540-AT2 #3 - Virtual Switch External   Intel(R) 
Ethernet Controller X540-AT2 #3

Get-VM | Get-VMNetworkAdapter

Name IsManagementOs VMNameSwitchName
 -- ----
f7d8c327-606b-49cd-b740-ccaef468d535 False  instance-000a Intel(R) 
Ethernet Controller X540-AT2 #3 - Vir...

And nova-compute.log and neutron-hyperv-agent.log are pasted as below:

http://pastebin.com/idXuhs8a nova

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

2015-06-24 Thread Lily.Sing
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-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


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

2015-06-24 Thread Alessandro Pilotti
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.s...@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 
 

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

2015-06-24 Thread Claudiu Belu
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.s...@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

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

2015-06-24 Thread Lily.Sing
Hi Alessandro and Claudiu,

Thank you for your quick reply.

The version I am running is kilo. Yes I use networking-hyperv. And the
windows version is Windows Server 2012 R2. Below are the output for the
commands mentioned:

Get-VMSwitch

Name  SwitchType
NetAdapterInterfaceDescription
  --
--
Intel(R) Ethernet Controller X540-AT2 #3 - Virtual Switch External
Intel(R) Ethernet Controller X540-AT2 #3

Get-VM | Get-VMNetworkAdapter

Name IsManagementOs VMName
 SwitchName
 -- --
 --
f7d8c327-606b-49cd-b740-ccaef468d535 False  instance-000a
Intel(R) Ethernet Controller X540-AT2 #3 - Vir...

And nova-compute.log and neutron-hyperv-agent.log are pasted as below:

http://pastebin.com/idXuhs8a nova-compute.log
http://pastebin.com/XNUVyGCC neutron-hyperv-agent.log


My ml2_conf.ini file is pasted here: http://pastebin.com/jLykFDbh

Best regards,
Lily Xing


Best regards,
Lily Xing(邢莉莉)

On Wed, Jun 24, 2015 at 11:20 PM, Claudiu Belu cb...@cloudbasesolutions.com
 wrote:

 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.s...@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