Your SlideShare is downloading. ×
0
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
OpenStack Folsom Summit: Melange overview
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

OpenStack Folsom Summit: Melange overview

1,492

Published on

This is the slide deck from the Melange overview presentation given during the OpenStack Folsom Summit in San Francisco.

This is the slide deck from the Melange overview presentation given during the OpenStack Folsom Summit in San Francisco.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,492
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
120
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Melange Overview Troy Toman Folsom Summit April 2012
    • 2. Melange• mélange: noun, a mixture; medley.• melange or mélange • 1. a mixture; confusion • 2. geology  a totally disordered mixture of rocks of different shapes, sizes, ages, and origins 
    • 3. History• Spun out of NetStack work at Diablo summit• Initial proposal to integrate directly into Nova• Shifted to incubated project after Essex summit• Merging into Quantum going forward• API Doc: http://melange.readthedocs.org
    • 4. Original Melange Blueprint✓across OpenStack services. network information services for use Melange is intended to provide✓The initial focus will be on IP address management (IPAM)- and address discovery (DHCP/dnsmasq) functionality.✓Melange is intended to be a standalone service with its own API. NOTE: Melange is just a data store - it doesn’t DO anything!
    • 5. Melange Elements• IP Blocks• IP Addresses• Static Routes• Interfaces• NAT’ing• Policies• MAC address ranges
    • 6. IP Blocks • Public or private IP space tracking • { "ip_block": { "broadcast": "10.1.1.255", "cidr": "10.1.1.0/24", "created_at": "2011-12-01T09:46:22", "dns1": "8.8.8.8", "dns2": "8.8.4.4", "gateway": "10.1.1.1", "id": "af19f87a-d6a9-4ce5-b30f-4cc9878ec292", "netmask": "255.255.255.0", "network_id": "quantum_net_id4", "parent_id": null, "policy_id": "2f730874-2088-4f91-87fb-63792c753971", "tenant_id": "RAX", "type": "private", "updated_at": "2011-12-01T09:46:22" }}
    • 7. IP Addresses{ "ip_address": { "address": "10.1.1.6", "created_at": "2011-12-01T10:02:53", "id": "94fa249b-0626-49fc-b420-cce13dabed4f", "interface_id": "interface_id", "ip_block_id": "af19f87a-d6a9-4ce5-b30f-4cc9878ec292", "updated_at": "2011-12-01T10:02:53", "used_by_device": "instance_id", "used_by_tenant": "lessee_tenant", "version": 4 }}Supports both IPv6 and IPv6 addresses
    • 8. Static Routes• GET /ipam/tenants/{tenant_id}/ip_blocks/{ip_block_id}/ip_routes{ "ip_routes": [ { "created_at": "2011-12-01T10:19:12", "destination": "192.168.0.0", "gateway": "10.1.1.1", "id": "364c555d-4e35-43d4-9807-59535df082a5", "netmask": "255.255.255.0", "updated_at": "2011-12-01T10:19:12" }, { "created_at": "2011-12-01T10:20:47", "destination": "192.168.0.0", "gateway": "10.1.1.1", "id": "7ebffbd6-3640-4061-b8f1-7878463e651f", "netmask": "255.255.255.0", "updated_at": "2011-12-01T10:20:47" } ]}
    • 9. Interface Creation• Orchestrated creation of interface, MAC and IP assignment• POST /ipam/interfaces/ • Creates a vif record, allocates a mac and optionally allocates ip address from a network{ "interface": { "id": "virt_iface", "device_id": "instance", "tenant_id": "tnt", "network": { "id": "net1", "addresses": ["10.0.0.2"], "tenant_id": "network_owner_tenant_id" } }}
    • 10. Interfaces { "interface": { "created_at": "2011-12-01T13:18:37", "device_id": "instance", "id": "virt_iface", "ip_addresses": [ { "address": "10.0.0.2", "id": "7615ca4a-787d-46b0-8a8c-3a90e3e6cf2c", "interface_id": "virt_iface", "ip_block": { "broadcast": "10.0.0.255", "cidr": "10.0.0.0/24", "dns1": "8.8.8.8", "dns2": "8.8.4.4", "gateway": "10.0.0.1", "id": "9c4c3dfd-c707-45bd-8626-9c369b1b9460", "ip_routes": [], "netmask": "255.255.255.0" }, "version": 4 } ], "mac_address": null, "tenant_id": "tnt_id", "updated_at": "2011-12-01T13:18:37" }}
    • 11. Instance Interfaces• Batch interface for interface creation• PUT /ipam/instances/{instance_id}/interfaces/ • Create interfaces, allocate macs and ips on all networks provided.{ "instance": { "tenant_id": "tnt", "interfaces": [ {"network": {"id": "public_net1", "tenant_id": "RAX"}, "mac_address": null}, {"network": {"id": "public_net2", "tenant_id": "RAX"}, "mac_address": null}, ] }}
    • 12. NAT’ing• Intended for tracking floating IPs or NAT relationships• Globals - public IPs• Locals - private IPs• POST /ipam/ip_blocks/{ip_block_id}/ip_addresses/{address}/inside_globals • Finds local IpAddress from given ip_block_id and address and creates IpAddresses passed in params as its inside global. • {‘ip_addresses’:’[ { “ip_block_id” : “some_global_ip_block_id”, “ip_address” : “some_global_ip_address” }, ..., {....} }
    • 13. Policies• Create policy (essentially a policy group)• Create policy elements • Unusable ranges • Unusable octets• Assign policy to block
    • 14. Policy Example• `melange policy create -t {tenant} name={block_name} desc={policy_name}` • `melange unusable_ip_octet create -t {tenant} policy_id={policy_id} octet=0`• `melange unusable_ip_octet create -t {tenant} policy_id={policy_id} octet=1`• `melange ip_block update -t {tenant} id={block_id} policy_id={policy_id}`
    • 15. MAC Address Ranges• Ability to control the range of MAC addresses melange --host <melangeIP> --port 9898 mac_address_range create cidr=404040000000/24 mac_address_range:     cidr: 404040000000/24     created_at: 2012-01-25T17:21:46     id: ad4e7f30-4e11-45b9-b204-c58d194fe5a9     updated_at: 2012-01-25T17:21:46
    • 16. Known Issues/Limitations• Woefully behind on user/admin documentation (Sorry!)• Early integration has focused around Quantum• DHCP scenario has not been broadly tested (vs. injection)• Needs more participation/input from broader community

    ×