prashanth-prahal's profile - activity

2016-10-16 18:30:33 -0500 received badge  Notable Question (source)
2016-10-16 18:30:33 -0500 received badge  Popular Question (source)
2013-04-15 02:21:56 -0500 answered a question enabling nova VIF driver operation in a quantum plugin

Thanks Eugene..

2013-04-11 23:37:44 -0500 asked a question enabling nova VIF driver operation in a quantum plugin

Hi Folks,

Trying to see what's the right way to accomplish this. I'm prototyping a quantum plugin and for some of the operations, it is a pass-through to the nova VIF driver. For example, for create_port operation, I want the nova driver to assign the IP address to the VM.

This is what the create_port in my plugin looks like :

def create_port(self, context, port):
    return super(MyQuantumPluginV2, self).create_port(context, port)

I use this command to create a VM nova boot --image image_name --flavor m1.tiny --nic net-id=12be9b0f-a97a-4ab1-8307-d7cc5cd8564c --key-name test my_server

When the VM comes up, it has the virtual interface plumbed in, but the IP address is not assigned.

I can see in the log that an IP address was assigned to the port :

('create port completed {} {}', {'status': 'ACTIVE', 'device_owner': u'compute:None', 'name': '', 'mac_address': 'fa:16:3e:2d:33:92', 'network_id': u'12be9b0f-a97a-4ab1-8307-d7cc5cd8564c', 'tenant_id': u'61ab6bf71f644419bcfdeb8528cb3f5c', 'admin_state_up': True, 'fixed_ips': [{'subnet_id': u'9de0b387-576c-4898-a472-319b39a0e7b0', 'ip_address': u'30.0.0.6'}], 'id': '25c02aa6-7f21-4399-9ae6-41520dd97a8f', 'device_id': u'a664d6e9-6975-4b5d-b7af-1b81b2f67296'}, [{'subnet_id': u'9de0b387-576c-4898-a472-319b39a0e7b0', 'ip_address': u'30.0.0.6'}])

I probably am missing something here, any thoughts ?

Thanks !

If it helps, here's quantum.conf

[DEFAULT] auth_strategy = keystone allow_overlapping_ips = False state_path = /opt/stack/data/quantum debug = True verbose = True service_plugins = quantum.plugins.services.agent_loadbalancer.plugin.LoadBalancerPlugin core_plugin = quantum.plugins.my_quantum_plugin.MyQuantumPluginV2 rabbit_password = openstack rabbit_host = localhost rpc_backend = quantum.openstack.common.rpc.impl_kombu bind_host = 0.0.0.0 bind_port = 9696 api_paste_config = api-paste.ini control_exchange = quantum notification_driver = quantum.openstack.common.notifier.rpc_notifier default_notification_level = INFO notification_topics = notifications [QUOTAS] [DEFAULT_SERVICETYPE] [AGENT] root_helper = sudo /usr/local/bin/quantum-rootwrap /etc/quantum/rootwrap.conf [keystone_authtoken] auth_host = 10.9.12.20 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = quantum admin_password = openstack signing_dir = /var/cache/quantum

[DEFAULT] l3_agent_manager = quantum.agent.l3_agent.L3NATAgentWithStateReport external_network_bridge = br-ex signing_dir = /var/cache/quantum admin_password = openstack admin_user = quantum admin_tenant_name = service auth_url = http://10.9.12.20:35357/v2.0 root_helper = sudo /usr/local/bin/quantum-rootwrap /etc/quantum/rootwrap.conf use_namespaces = True debug = True verbose = True

Show debugging output in log (sets DEBUG log level output)

debug = True

L3 requires that an interface driver be set. Choose the one that best

matches your plugin.

OVS based plugins (OVS, Ryu, NEC) that supports L3 agent

interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver

2013-04-11 00:14:54 -0500 answered a question unable to boot instance with quantum

Thanks.

So, I had to make this change to ovs_quantum_plugin.py to progress further :

@property
def supported_extension_aliases(self):
    if not hasattr(self, '_aliases'):
        aliases = self._supported_extension_aliases[:]
        #sg_rpc.disable_security_group_extension_if_noop_driver(aliases)
        self._aliases = aliases
    return self._aliases

and def create_port(self, context, port): ...... #self.notify_security_groups_member_updated(context, port)

   return new_port

But I have no clue why this lines are generating exceptions ? Is there a setting I'm missing.

Thanks !

2013-04-10 03:45:05 -0500 answered a question unable to boot instance with quantum

Is there a way I can wipe out my existing devstack installation ? Does ./unstack.sh unwind all the changes it has made to the system.

I want to start from a clean slate and see if it happens still on this machine.

Any help would be appreciated.

Thanks !

2013-04-10 03:43:50 -0500 answered a question unable to boot instance with quantum

Hm, that didn't seem to help :-(

2013-04-10 02:05:59 -0500 answered a question unable to boot instance with quantum

Thanks Aaron - this is what I have right now.

DATABASE_PASSWORD=openstack RABBIT_PASSWORD=openstack SERVICE_TOKEN=openstack SERVICE_PASSWORD=open stack ADMIN_PASSWORD=openstack

HOST_IP=10.9.12.20

disable_service n-net ENABLED_SERVICES="g-api,g-reg, key,n-api,n-sch,n-crt,n-obj,n-cpu,n-cond,cinder,n-novnc,n-xvnc,n-cauth,horizon,rabbit,mysql,q-agt,q-dhcp,q-meta,q-l3,q-svc"

2013-04-10 01:07:34 -0500 answered a question unable to boot instance with quantum

Thanks, that didn't help

quantum net-list +--------------------------------------+---------+--------------------------------------------------+ | id | name | subnets | +--------------------------------------+---------+--------------------------------------------------+ | 0e67d804-a65b-4b75-9e99-cfb9e0bd07a8 | n1 | c77f815a-78e3-4b95-ab64-5c12b1e20ffe 30.0.0.0/24 | | bc751cc1-dfcf-48e7-aa1e-0eae2a6073a0 | private | 3f9ec795-1c3d-4261-8170-57cadcfa2667 10.0.0.0/24 | +--------------------------------------+---------+--------------------------------------------------+

I'm using devstack for install.

2013-04-10 00:54:31 -0500 asked a question assigning IP address to a VM interface

Hi Folks,

Probably a deep-dive question into quantum internals - I'm trying to understand how the IP address'es are assigned to VM network interfaces and trying to figure out which part of the openstack/quantum code base handles this. This is my understanding :

  • During nova boot, nova provides the network-id to the quantum plugin and creates a new port (CreatePort API)
  • Configured quantum plugin creates the ports and assigns the IP address/MAC address.
  • This port information is then configured in the XML config files as required by the hypervisor, before the instance boots up.

Is this a correct ?

Thanks !

2013-04-10 00:37:14 -0500 asked a question unable to boot instance with quantum

I'm trying to spin up an new instance with quantum and it seems to be consistently failing.

This is my net-list +--------------------------------------+---------+------+ | ID | Label | CIDR | +--------------------------------------+---------+------+ | 0e67d804-a65b-4b75-9e99-cfb9e0bd07a8 | n1 | None | | bc751cc1-dfcf-48e7-aa1e-0eae2a6073a0 | private | None | +--------------------------------------+---------+------+

This is the command I'm using to boot an instance nova boot --image cirros --flavor m1.tiny --key_name test --nic net-id=0e67d804-a65b-4b75-9e99-cfb9e0bd07a8 my-third-server-1

This is what I see in the quantum server logs (this is with OVS btw).It tries to pick 30.0.0.3 as the IP address, but doesn't proceed further.

2013-04-09 17:33:14.033 17760 DEBUG quantum.plugins.openvswitch.ovs_quantum_plugin [-] OVS create_port create_port /opt/stack/quantum/quantum/plugins/openvswitch/ovs_quantum_plugin.py:579 2013-04-09 17:33:14.047 17760 DEBUG quantum.db.db_base_plugin_v2 [-] Recycle 30.0.0.3 _recycle_ip /opt/stack/quantum/quantum/db/db_base_plugin_v2.py:356 2013-04-09 17:33:14.051 17760 DEBUG quantum.db.db_base_plugin_v2 [-] Recycle: created new 30.0.0.3-30.0.0.3 _recycle_ip /opt/stack/quantum/quantum/db/db_base_plugin_v2.py:403 2013-04-09 17:33:14.051 17760 DEBUG quantum.db.db_base_plugin_v2 [-] Delete allocated IP 30.0.0.3 (0e67d804-a65b-4b75-9e99-cfb9e0bd07a8/c77f815a-78e3-4b95-ab64-5c12b1e20ffe) _delete_ip_allocation /opt/stack/quantum/quantum/db/db_base_plugin_v2.py:435 2013-04-09 17:33:14.058 17760 DEBUG quantum.db.db_base_plugin_v2 [-] Generated mac for network 0e67d804-a65b-4b75-9e99-cfb9e0bd07a8 is fa:16:3e:ec:30:ae _generate_mac /opt/stack/quantum/quantum/db/db_base_plugin_v2.py:262 2013-04-09 17:33:14.066 17760 DEBUG quantum.db.db_base_plugin_v2 [-] Allocated IP - 30.0.0.3 from 30.0.0.3 to 30.0.0.3 _generate_ip /opt/stack/quantum/quantum/db/db_base_plugin_v2.py:463 2013-04-09 17:33:14.066 17760 DEBUG quantum.db.db_base_plugin_v2 [-] No more free IP's in slice. Deleting allocation pool. _generate_ip /opt/stack/quantum/quantum/db/db_base_plugin_v2.py:466 2013-04-09 17:33:14.067 17760 DEBUG quantum.db.db_base_plugin_v2 [-] Allocated IP 30.0.0.3 (0e67d804-a65b-4b75-9e99-cfb9e0bd07a8/c77f815a-78e3-4b95-ab64-5c12b1e20ffe/503fa2f2-fa5d-46cf-9924-fe7a2c8cb765) create_port /opt/stack/quantum/quantum/db/db_base_plugin_v2.py:1310 2013-04-09 17:33:14.149 17760 ERROR quantum.api.v2.resource [-] create failed 2013-04-09 17:33:14.149 17760 TRACE quantum.api.v2.resource Traceback (most recent call last): 2013-04-09 17:33:14.149 17760 TRACE quantum.api.v2.resource File "/opt/stack/quantum/quantum/api/v2/resource.py", line 82, in resource 2013-04-09 17:33:14.149 17760 TRACE quantum.api.v2.resource result = method(request=request, *args) 2013-04-09 17:33:14.149 17760 TRACE quantum.api.v2.resource File "/opt/stack/quantum/quantum/api/v2/base.py", line 369, in create 2013-04-09 17:33:14.149 17760 TRACE quantum.api.v2.resource obj = obj_creator(request.context, *kwargs) 2013-04-09 17:33:14.149 17760 TRACE quantum.api.v2.resource File "/opt/stack/quantum/quantum/plugins/openvswitch/ovs_quantum_plugin.py", line 590, in create_port 2013-04-09 17:33:14.149 17760 TRACE quantum.api.v2.resource self.notify_security_groups_member_updated(context, port)2013-04-09 17:33:14.149 17760 TRACE quantum.api.v2.resource AttributeError: 'OVSQuantumPluginV2' object has no attribute 'notify_security_groups_member_updated'2013-04-09 17:33:14.149 17760 TRACE quantum.api.v2.resource 2013-04-09 17:33:14.604 17760 DEBUG quantum.plugins ... (more)

2013-03-13 03:05:42 -0500 answered a question writing a quantum plugin....

Thanks Aaron.

As far as quantum itself is concerned, would you happen to know where I can find these, both these are pointing to dead links. I;m sure someone has a copy :-)

http://wiki.openstack.org/Quantum?action=AttachFile&do=get&target=quantum-technical-archicture.ppt (http://wiki.openstack.org/Quantum?act...) https://wiki.openstack.org/wiki/Attachment:quantum-multiswitch-plugin-SumitNaiksatam.pdf (https://wiki.openstack.org/wiki/Attac...)

Regards, Prashanth

2013-03-13 02:55:55 -0500 asked a question writing a quantum plugin....

Does anyone have suggestions on how to go about writing a new plugin for quantum, including among other things architecture details, quantum internals, best practices etc.

Thanks in advance ! Prashanth