openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #04586
Diablo fails (with exception) to run a cloudpipe instance with Vlan
I can't run a cloudpipe instance in diablo using a Vlan because I have
an exception (please look the Trace1 Below).
I debugged the code and I have seen the function "fixed_ip_associate" in
"nova/db/sqlalchemy/api.py"
is called without set "network_id" so I changed the function
"allocate_fixed_ip" in "nova/network/manager.py"
and I passed the missing "network[id]".
...
def allocate_fixed_ip(self, context, instance_id, network, **kwargs):
"""Gets a fixed ip from the pool."""
if kwargs.get('vpn', None):
address = network['vpn_private_address']
self.db.fixed_ip_associate(context,
address,
instance_id,
network['id'], <------------ Added
argument
reserved=True)
....
With that change the cloudpipe instance starts but the command "nova-manage
vpn run project_id user_id"
return another exception (please look the Trace 2 Below).
What is your experience running a cloudpipe instance with Diablo and Vlan?
does it works?
Thank you,
Andrea.
==================================================================================
TRACE 1
==================================================================================
andy debug(api.py:fixed_ip_associate)====> models.FixedIp.network_id=
<Mapper at 0x2978d90; FixedIp>.network_id
andy debug(api.py:fixed_ip_associate)====> network_id= None
andy debug(api.py:fixed_ip_associate)====> models.FixedIp= <class
'nova.db.sqlalchemy.models.FixedIp'>
andy debug(api.py:fixed_ip_associate)====> context=
<nova.context.RequestContext object at 0x319b7d0>
andy debug(api.py:fixed_ip_associate)====> address= 10.0.0.2
andy debug(api.py:fixed_ip_associate)====> instance_id= 13
2011-10-07 11:17:45,501 ERROR nova.rpc [-] Exception during message handling
(nova.rpc): TRACE: Traceback (most recent call last):
(nova.rpc): TRACE: File
"/home/nova/ag/novascript/nova/nova/rpc/impl_kombu.py", line 620, in
_process_data
(nova.rpc): TRACE: rval = node_func(context=ctxt, **node_args)
(nova.rpc): TRACE: File
"/home/nova/ag/novascript/nova/nova/network/manager.py", line 222, in
allocate_for_instance
(nova.rpc): TRACE: ips = super(FloatingIP,
self).allocate_for_instance(context, **kwargs)
(nova.rpc): TRACE: File
"/home/nova/ag/novascript/nova/nova/network/manager.py", line 509, in
allocate_for_instance
(nova.rpc): TRACE: requested_networks=requested_networks)
(nova.rpc): TRACE: File
"/home/nova/ag/novascript/nova/nova/network/manager.py", line 172, in
_allocate_fixed_ips
(nova.rpc): TRACE: vpn=vpn, address=address)
(nova.rpc): TRACE: File
"/home/nova/ag/novascript/nova/nova/network/manager.py", line 1085, in
allocate_fixed_ip
(nova.rpc): TRACE: reserved=True)
(nova.rpc): TRACE: File
"/home/nova/ag/novascript/nova/nova/db/api.py", line 347, in
fixed_ip_associate
(nova.rpc): TRACE: reserved)
(nova.rpc): TRACE: File
"/home/nova/ag/novascript/nova/nova/db/sqlalchemy/api.py", line 102,
in wrapper
(nova.rpc): TRACE: return f(*args, **kwargs)
(nova.rpc): TRACE: File
"/home/nova/ag/novascript/nova/nova/db/sqlalchemy/api.py", line 721,
in fixed_ip_associate
(nova.rpc): TRACE: network_id=network_id)
(nova.rpc): TRACE: FixedIpNotFoundForNetwork: Fixed IP address
(%(address)s) does not exist in network (%(network_uuid)s).
(nova.rpc): TRACE:
==================================================================================
TRACE 2
==================================================================================
(nova): TRACE: Traceback (most recent call last):
(nova): TRACE: File "/home/nova/ag/novascript/nova/bin/nova-manage", line
2141, in <module>
(nova): TRACE: main()
(nova): TRACE: File "/home/nova/ag/novascript/nova/bin/nova-manage", line
2129, in main
(nova): TRACE: fn(*fn_args, **fn_kwargs)
(nova): TRACE: File "/home/nova/ag/novascript/nova/bin/nova-manage", line
192, in run
(nova): TRACE: self.pipe.launch_vpn_instance(project_id, user_id)
(nova): TRACE: File
"/home/nova/ag/novascript/nova/nova/cloudpipe/pipelib.py", line 109, in
launch_vpn_instance
(nova): TRACE: security_group=[group_name])
(nova): TRACE: File "/home/nova/ag/novascript/nova/nova/api/ec2/cloud.py",
line 1460, in run_instances
(nova): TRACE: return self._format_run_instances(context, resv_id)
(nova): TRACE: File "/home/nova/ag/novascript/nova/nova/api/ec2/cloud.py",
line 1215, in _format_run_instances
(nova): TRACE: assert len(i) == 1
(nova): TRACE: AssertionError
(nova): TRACE:
==================================================================================