​Hi all.
I'm trying to setup test lab on Openstack Mitaka RDO working simultaneously with VLAN and VXLAN network types without SDN. I'm trying to setup ESXi as a hypervisor (not only ESXi, but it doesn't matter), and I've got troubles. My setup: 1 controller node (db, keystone, horizon, nova-{api,conductor,schuduler}, glance, memcached, rabbit) 1 network node (neutron-server) (hostname: bc01 in logs/examples) 1 vCenter 2 ESXi hosts 2 neutron-ovsvapp-agents (as described on reference scheme: https://wiki.openstack.org/wiki/Neutron/Networking-vSphere - one VM per ESXi host; hostnames ovsvapp1, ovsvapp2 in logs/examples) 1 nova-compute VM for managing vSphere cluster (hostname: ovsvapp-nova in logs/examples). When I try to spawn VM, I got error "No valid host was found. There are not enough hosts available.". If I look in nova-compute logs, I see traces: 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager [req-1c94993d-69a0-48d7-ac5f-262f99961b16 18db55ec3559448ba25299cb6bd90504 bb18be7ce13c44a78419769b4feed0fc - - -] Instance failed network setup after 1 attempt(s) 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager Traceback (most recent call last): 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1570, in _allocate_network_async 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager bind_host_id=bind_host_id) 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 729, in allocate_for_instance 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager self._delete_ports(neutron, instance, created_port_ids) 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__ 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager self.force_reraise() 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager six.reraise(self.type_, self.value, self.tb) 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 718, in allocate_for_instance 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager security_group_ids, available_macs, dhcp_opts) 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 305, in _create_port 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager raise exception.PortBindingFailed(port_id=port_id) 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager PortBindingFailed: Binding failed for port ef43e4f0-4db7-405c-b4d5-c621aaa3884b, please check neutron logs for more information. 2016-11-07 11:47:12.715 10441 ERROR nova.compute.manager 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [req-1c94993d-69a0-48d7-ac5f-262f99961b16 18db55ec3559448ba25299cb6bd90504 bb18be7ce13c44a78419769b4feed0fc - - -] [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] Instance failed to spawn 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] Traceback (most recent call last): 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2218, in _build_resources 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] yield resources 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2064, in _build_and_run_instance 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] block_device_info=block_device_info) 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/driver.py", line 381, in spawn 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] admin_password, network_info, block_device_info) 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py", line 724, in spawn 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] metadata) 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py", line 304, in build_virtual_machine 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] network_info) 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vif.py", line 179, in get_vif_info 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] for vif in network_info: 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/network/model.py", line 513, in __iter__ 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] return self._sync_wrapper(fn, *args, **kwargs) 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/network/model.py", line 504, in _sync_wrapper 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] self.wait() 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/network/model.py", line 536, in wait 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] self[:] = self._gt.wait() 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 175, in wait 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] return self._exit_event.wait() 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/eventlet/event.py", line 121, in wait 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] return hubs.get_hub().switch() 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 294, in switch 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] return self.greenlet.switch() 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 214, in main 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] result = function(*args, **kwargs) 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/utils.py", line 1145, in context_wrapper 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] return func(*args, **kwargs) 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1587, in _allocate_network_async 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] six.reraise(*exc_info) 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1570, in _allocate_network_async 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] bind_host_id=bind_host_id) 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 729, in allocate_for_instance 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] self._delete_ports(neutron, instance, created_port_ids) 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__ 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] self.force_reraise() 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] six.reraise(self.type_, self.value, self.tb) 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 718, in allocate_for_instance 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] security_group_ids, available_macs, dhcp_opts) 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 305, in _create_port 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] raise exception.PortBindingFailed(port_id=port_id) 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] PortBindingFailed: Binding failed for port ef43e4f0-4db7-405c-b4d5-c621aaa3884b, please check neutron logs for more information. 2016-11-07 11:47:12.716 10441 ERROR nova.compute.manager [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] 2016-11-07 11:47:12.718 10441 INFO nova.compute.manager [req-1c94993d-69a0-48d7-ac5f-262f99961b16 18db55ec3559448ba25299cb6bd90504 bb18be7ce13c44a78419769b4feed0fc - - -] [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] Terminating instance 2016-11-07 11:47:12.719 10441 DEBUG nova.compute.manager [req-1c94993d-69a0-48d7-ac5f-262f99961b16 18db55ec3559448ba25299cb6bd90504 bb18be7ce13c44a78419769b4feed0fc - - -] [instance: 5ea7de1b-06a2-4ba1-8f54-d00203496f2a] Start destroying the instance on the hypervisor. _shutdown_instance /usr/lib/python2.7/site-packages/nova/compute/manager.py:2330 On neutron-server I've got errors: 2016-11-07 11:47:12.268 30899 WARNING neutron.plugins.ml2.drivers.mech_agent [req-8f6be9c7-12a3-42fe-9976-57655889f90c 942080d9793b4fe1a73b039706ca9496 fe2c5af094bd49b495b86a9dc89b9903 - - -] Port ef43e4f 0-4db7-405c-b4d5-c621aaa3884b on network 3db44ff7-1949-4cc9-8e04-e9982120513f not bound, no agent registered on host ovsvapp-nova 2016-11-07 11:47:12.269 30899 ERROR neutron.plugins.ml2.managers [req-8f6be9c7-12a3-42fe-9976-57655889f90c 942080d9793b4fe1a73b039706ca9496 fe2c5af094bd49b495b86a9dc89b9903 - - -] Failed to bind port ef43 e4f0-4db7-405c-b4d5-c621aaa3884b on host ovsvapp-nova for vnic_type normal using segments [{'segmentation_id': 10094, 'physical_network': None, 'id': u'f95a1a2e-f641-4541-90ae-f747ec912ae0', 'network_type ': u'vxlan'}] If we look at neutron agent list, we'll see, than we have no such agent. Moreover: we have agents for each ESXi hypervisor (ovsvapp1, ovsvapp2). [root@bc01 ~]# neutron agent-list -c agent_type -c host -c alive -c admin_state_up -c binary +--------------------+----------+-------+----------------+---------------------------+ | agent_type | host | alive | admin_state_up | binary | +--------------------+----------+-------+----------------+---------------------------+ | OVSvApp Agent | ovsvapp1 | :-) | True | ovsvapp-agent | | Open vSwitch agent | bc01 | :-) | True | neutron-openvswitch-agent | | L3 agent | bc01 | :-) | True | neutron-l3-agent | | DHCP agent | bc01 | :-) | True | neutron-dhcp-agent | | Metadata agent | bc01 | :-) | True | neutron-metadata-agent | | Open vSwitch agent | bc10 | :-) | True | neutron-openvswitch-agent | | Open vSwitch agent | bc09 | :-) | True | neutron-openvswitch-agent | | OVSvApp Agent | ovsvapp2 | :-) | True | ovsvapp-agent | | Open vSwitch agent | bc11 | :-) | True | neutron-openvswitch-agent | | Open vSwitch agent | bc12 | :-) | True | neutron-openvswitch-agent | +--------------------+----------+-------+----------------+---------------------------+ Don't look at bc09,bc11,bc12 - these are other hypervisors, non-vsphere. So, main question: HOW should it work? Does nova-compute need any specific setup? Should nova-compute send any hostname with ovsvapp-agent to neutron server? If yes, so how? From sequence diagram we see, that nova-compute asks neutron-server to create ports at first (when nova doesn't know, where the VM will reside). If I install nova-compute on one of ovsvapp-agent VMs, so spawn is successfull, but such architecture is not fault-tolerant and doesn't follow specs recommendations. Please, give me an advice... Or, whom should I contact with such questions? Thanks. --- My configs: Neutron-server: [root@bc01 ~]# grep -v ^$ /etc/neutron/neutron.conf | grep -v ^# [DEFAULT] verbose = True debug = True core_plugin = ml2 auth_strategy = keystone service_plugins = router rpc_backend = rabbit nova_url = http://kvm-controller:8774/v2 nova_admin_username = nova nova_admin_tenant_name = compute nova_admin_password = compaq nova_admin_auth_url = http://keystone-server:5000 router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.LeastRoutersScheduler notify_nova_on_port_status_changes = True notify_nova_on_port_data_changes = True notification_driver = messagingv2 state_path = /var/lib/neutron [keystone_authtoken] username = neutron password = compaq project_name = services auth_uri = http://keystone-server:5000 auth_url = http://keystone-server:35357 auth_plugin = password user_domain_name = Default project_domain_name = Default memcached_servers = db-server:11211 [database] connection = mysql+pymysql://neutron:compaq@db-server/neutron [nova] region_name = RegionOne username = nova password = compaq project_name = services insecure = true auth_uri = http://keystone-server:5000 auth_url = http://keystone-server:35357 auth_plugin = password user_domain_name = Default project_domain_name = Default endpoint_type = internal [oslo_concurrency] lock_path = $state_path/lock [oslo_messaging_rabbit] rabbit_host = db-server rabbit_port = 5672 rabbit_userid = neutron rabbit_password = compaq rabbit_virtual_host = / rabbit_use_ssl = false [SECURITYGROUP] firewall_driver = openvswitch OVSVAPP agent 1: [root@ovsvapp1 ~]# grep -v ^$ /etc/neutron/neutron.conf | grep -v ^# [DEFAULT] [agent] [cors] [cors.subdomain] [database] [keystone_authtoken] auth_uri = http://keystone-server:5000 auth_url = http://keystone-server:35357 project_name = services username = neutron user_domain_name = Default project_domain_name = Default password = compaq auth_plugin = password memcached_servers = db-server:11211 [matchmaker_redis] [nova] [oslo_concurrency] [oslo_messaging_amqp] [oslo_messaging_notifications] [oslo_messaging_rabbit] rabbit_host = db-server rabbit_userid = neutron rabbit_password = compaq [oslo_policy] [quotas] [ssl] [root@ovsvapp1 ~]# grep -v ^$ /etc/neutron/plugins/ml2/ovsvapp_agent.ini | grep -v ^# [vmware] vcenter_ip = 172.17.0.117 vcenter_username = Administrator@vsphere.local vcenter_password = P@ssw0rd wsdl_location=https://172.17.0.117:443/sdk/vimService.wsdl cluster_dvs_mapping = VOL615/host/VOL615_IBM:dvSwitchInt esx_hostname = 172.17.0.113 [ovsvapp] tenant_network_types = vlan,vxlan local_ip = 172.17.4.11 bridge_mappings = physnet1:br-vlan [securitygroup] security_bridge_mapping = br-sec:vsphere ovsvapp_firewall_driver = networking_vsphere.drivers.ovs_firewall.OVSFirewallDriver​ [root@ovsvapp-nova ~]# grep -v ^$ /etc/nova/nova.conf | grep -v ^# [DEFAULT] my_ip = 172.17.0.10 auth_strategy=keystone compute_driver=vmwareapi.VMwareVCDriver firewall_driver=nova.virt.firewall.NoopFirewallDriver use_neutron=true debug=True [api_database] [barbican] [cache] [cells] [cinder] [conductor] [cors] [cors.subdomain] [database] [ephemeral_storage_encryption] [glance] api_servers=http://glance-server:9292 [guestfs] [hyperv] [image_file_url] [ironic] [keymgr] [keystone_authtoken] auth_uri = http://keystone-server:5000/v3 auth_url = http://keystone-server:35357/v3 memcached_servers = db-server:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = services username = nova password = compaq [libvirt] [matchmaker_redis] [metrics] [neutron] url = http://neutron-controller:9696/ auth_type=password insecure = False username = neutron password = compaq service_metadata_proxy=True metadata_proxy_shared_secret = supersecret auth_uri = http://keystone-server:5000/v3 auth_version = v3 auth_url = http://keystone-server:35357/v3 project_name = services user_domain_name = Default project_domain_name = Default [osapi_v21] [oslo_concurrency] lock_path=/var/lib/nova/tmp [oslo_messaging_amqp] [oslo_messaging_notifications] [oslo_messaging_rabbit] rabbit_host=db-server rabbit_userid=nova rabbit_password=compaq [oslo_middleware] [oslo_policy] [rdp] [serial_console] [spice] [ssl] [trusted_computing] [upgrade_levels] [vmware] host_ip=172.17.0.117 host_username=Administrator@vsphere.local host_password=P@ssw0rd insecure=true cluster_name=VOL615_IBM datastore_regex=storwize* [vnc] enabled=true vncserver_listen=0.0.0.0 vncserver_proxyclient_address=$my_ip novncproxy_base_url=http://172.17.0.107:6080/vnc_auto.html [workarounds] [xenserver] second ovsvapp-agent has similar config, just with another IPs. ________________________________ Regards, Vladislav Odintsov
__________________________________________________________________________ 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