← Back to team overview

openstack team mailing list archive

RPC interfaces?

 

Does anyone know if there is a plan to have the RPC/MQ interface between openstack components be defined/documented.

It seems like it would be something pretty useful to allow others to use/extend instead of being a hidden python only RPC method.

Like right now I see the following which looks like python JSON based RPC (via MQ):

If say these interfaces were agreed upon, then there is nothing stopping other nova components being written in say java....

{
    'args': {
        'instance_id': 52L,
        'request_spec': {
            'instance_properties': {
                'state_description': 'scheduling',
                'availability_zone': None,
                'ramdisk_id': '',
                'instance_type_id': 2L,
                'user_data': '',
                'vm_mode': None,
                'reservation_id': 'r-mziqq3bp',
                'root_device_name': None,
                'user_id': 'admin',
                'display_description': None,
                'key_data': 'ssh-rsa',
                'state': 0,
                'project_id': 'admin',
                'metadata': {

                },
                'kernel_id': '30',
                'key_name': u'mykey',
                'display_name': None,
                'local_gb': 0L,
                'locked': False,
                'launch_time': '2011-08-22T19: 15: 05Z',
                'memory_mb': 512L,
                'vcpus': 1L,
                'image_ref': 31,
                'architecture': None,
                'os_type': None
            },
            'instance_type': {
                'rxtx_quota': 0L,
                'local_gb': 0L,
                'name': 'm1.tiny',
                'deleted': False,
                'created_at': None,
                'updated_at': None,
                'memory_mb': 512L,
                'vcpus': 1L,
                'rxtx_cap': 0L,
                'flavorid': 1L,
                'swap': 0L,
                'extra_specs': {

                },
                'deleted_at': None,
                'id': 2L
            },
            'num_instances': 1,
            'filter': 'nova.scheduler.host_filter.InstanceTypeFilter',
            'blob': None
        },
        'availability_zone': None,
        'topic': 'compute',
        'admin_password': None,
        'injected_files': None
    },
    'method': 'run_instance'
}



Follow ups