openstack meetup: bootstrapping openstack to corporate it

53

Upload: mirantis

Post on 12-Jan-2015

2.885 views

Category:

Technology


0 download

DESCRIPTION

Bootstrapping OpenStack to the requirements of a typical, corporate IT department. It may be straightforward to start using OpenStack out of the box; fitting OpenStack to corporate IT with its many compliance and security standards can, however, present some challenges.

TRANSCRIPT

Page 1: Openstack meetup: Bootstrapping OpenStack to Corporate IT
Page 2: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Agenda

• OpenStack adoption for Mirantis IT• Mirantis IT overview• Integration with legacy LDAP• Advanced Network features• Disaster recovery mechanisms

• OpenStack development in Mirantis• Community roadmap

Page 3: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Mirantis IT overview

• 5 sites around the world• 4-6 servers in each site• Bunch of projects with its own requirements• Single users/projects authentication

Page 4: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Mirantis IT Requirements

Requirement OpenStack support

Availability Zones limited

Page 5: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Mirantis IT Requirements

Requirement OpenStack support

Availability Zones limited

Multiple NICs no

Page 6: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Mirantis IT Requirements

Requirement OpenStack support

Availability Zones limited

Multiple NICs no

Disk and flavor resize no

Page 7: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Mirantis IT Requirements

Requirement OpenStack support

Availability Zones limited

Multiple NICs no

Disk and flavor resize no

VMs info in LDAP no

Page 8: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Mirantis IT Requirements

Requirement OpenStack support

Availability Zones limited

Multiple NICs no

Disk and flavor resize no

VMs info in LDAP no

VNC via browser yes

Page 9: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Mirantis IT Requirements

Requirement OpenStack support

Availability Zones limited

Multiple NICs no

Disk and flavor resize no

VMs info in LDAP no

VNC via browser yes

Instance snapshotting yes

Page 10: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Mirantis IT Requirements

Requirement OpenStack support

Availability Zones limited

Multiple NICs no

Disk and flavor resize no

VMs info in LDAP no

VNC via browser yes

Instance snapshotting yes

Specify node to run instance on limited

Page 11: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Mirantis IT Requirements

Requirement OpenStack support

Availability Zones limited

Multiple NICs no

Disk and flavor resize no

VMs info in LDAP no

VNC via browser yes

Instance snapshotting yes

Specify node to run instance on limited

Quotas limited

Page 12: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Mirantis IT Requirements

Requirement OpenStack support

Availability Zones limited

Multiple NICs no

Disk and flavor resize no

VMs info in LDAP no

VNC via browser yes

Instance snapshotting yes

Specify node to run instance on limited

Quotas limited

RPM packages for Fedora yes

Page 13: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Mirantis IT Requirements

Requirement OpenStack support

Availability Zones limited

Multiple NICs no

Disk and flavor resize no

VMs info in LDAP no

VNC via browser yes

Instance snapshotting yes

Specify node to run instance on limited

Quotas limited

RPM packages for Fedora yes

Requested disk space in root partition no

Page 14: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Deployment schema

Page 15: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Key bottlenecks

• Integration with existing LDAP• Advanced Network features• Disaster recovery mechanisms

Page 16: Openstack meetup: Bootstrapping OpenStack to Corporate IT

LDAP auth

Current OpenStack support:• Management of users• Management of projects• Management of roles

Page 17: Openstack meetup: Bootstrapping OpenStack to Corporate IT

LDAP auth

Current OpenStack support:• Management of users• Management of projects• Management of roles

Issue:• Support of existing accounts management system

(GOsa)

Page 18: Openstack meetup: Bootstrapping OpenStack to Corporate IT

LDAP auth

Current OpenStack support:• Management of users• Management of projects• Management of roles

Issue:• Support of existing accounts management system

(GOsa)

Solution: GOsa plugin https://github.com/Mirantis/gosa-openstack.

Page 19: Openstack meetup: Bootstrapping OpenStack to Corporate IT

LDAP server info injection

Page 20: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Created Server in GOsa

Page 21: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Results

• LDAP authentication and authorization• DNS records are managed by existing LDAP

schema• Access to VMs is granted based on existing LDAP

mechanisms

Page 22: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Key bottlenecks

• Integration with legacy LDAP• Advanced Network features• Disaster recovery mechanisms

Page 23: Openstack meetup: Bootstrapping OpenStack to Corporate IT

OpenStack networking

Supported topologies:• Flat• FlatDHCP• VlanManager

Page 24: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Public IPs, FlatDHCP

Goal:• Assign public IP addresses to VMs• Make VMs routable from Internet• Allow one of the network IP be set on the router

to use OSPF

Page 25: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Public IPs, FlatDHCP

Goal:• Assign public IP addresses to VMs• Make VMs routable from Internet• Allow one of the network IP be set on the router

to use OSPFIssue:• FlatDHCP manager assigns the first IP of net to

the bridge and leases all other IPs for VMs

Page 26: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Public IPs, FlatDHCP

How to configure/fix:• Add in nova.conf:

--public_interface=em1

--flat_interface=em1.89

• Assign any IP of net except the first one to router IP to use OSPF

• Mark this IP in the database as “reserved”:UPDATE `nova`.`fixed_ips` SET `reserved` =

'1' WHERE `fixed_ips`.`address` ="x.x.x.x";

Page 27: Openstack meetup: Bootstrapping OpenStack to Corporate IT

VlanManager modifications

Goal:Run private cloud on the Vlan’ed network with limitations:• 1st,2nd,3rd IP addresses are reserved for VRRP• First IP is default gateway for the network

Page 28: Openstack meetup: Bootstrapping OpenStack to Corporate IT

VlanManager modifications

Goal:Run private cloud on the Vlan’ed network with limitations:• 1st,2nd,3rd IP addresses are reserved for VRRP• First IP is default gateway for the networkIssues with current implementation:• 1st IP address is assigned to the bridge• Bridge IP is used as default gateway for VMs

Page 29: Openstack meetup: Bootstrapping OpenStack to Corporate IT

VlanManager modifications

Goal:Run private cloud on the Vlan’ed network with limitations:• 1st,2nd,3rd IP addresses are reserved for VRRP• First IP is default gateway for the networkIssues with current implementation:• 1st IP address is assigned to the bridge• Bridge IP is used as default gateway for VMsWe changed:• Fourth IP is assigned to the bridge• First IP for default VMs gateway

Page 30: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Results

• Patch OpenStack to support public IP addresses in the context of existing IT setup

• Create a workaround, given first 3 IPs were unavailable

Page 31: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Key bottlenecks

• Integration with legacy LDAP• Advanced Network features• Disaster recovery mechanisms

Page 32: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Compute node failure

Page 33: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Disaster recovery

Possible scenario Status

Compute node has crashed or rebooted,we want to rerun VM on it

implemented

Compute node has crashed or rebooted,we want to rerun VM on another node with shared storage

implemented

Before node crash VM was migrated on it,we want to rerun VM on it or another node with shared storage

In progress

See blogpost at

bit.ly/lb4wJ9

To recover VM, run./nova-compute <instance_id>

Page 34: Openstack meetup: Bootstrapping OpenStack to Corporate IT

OpenStack Disaster Recovery Summary

• Addressed compute node failures with custom script• Our script still has limitations

• CloudController failures are a problem under research• For instance, no highly available networking

• No current self-healing mechanisms

Page 35: Openstack meetup: Bootstrapping OpenStack to Corporate IT

OpenStack Modifications Summary

• VNC console via browser

Page 36: Openstack meetup: Bootstrapping OpenStack to Corporate IT

OpenStack Modifications Summary

• VNC console via browser• RPMs Nova, Glance, Dashboard for Fedora

Page 37: Openstack meetup: Bootstrapping OpenStack to Corporate IT

OpenStack Modifications Summary

• VNC console via browser• RPMs Nova, Glance, Dashboard for Fedora• Injection server info and DNS records into existing

LDAP

Page 38: Openstack meetup: Bootstrapping OpenStack to Corporate IT

OpenStack Modifications Summary

• VNC console via browser• RPMs Nova, Glance, Dashboard for Fedora• Injection server info and DNS records into existing

LDAP• Assignment network to the project manually

Page 39: Openstack meetup: Bootstrapping OpenStack to Corporate IT

OpenStack Modifications Summary

• VNC console via browser• RPMs Nova, Glance, Dashboard for Fedora• Injection server info and DNS records into existing

LDAP• Assignment network to the project manually• Projects support in nova client

Page 40: Openstack meetup: Bootstrapping OpenStack to Corporate IT

OpenStack Modifications Summary

• VNC console via browser• RPMs Nova, Glance, Dashboard for Fedora• Injection server info and DNS records into existing

LDAP• Assignment network to the project manually• Projects support in nova client• LDAP speed up

Page 41: Openstack meetup: Bootstrapping OpenStack to Corporate IT

OpenStack Modifications Summary

• VNC console via browser• RPMs Nova, Glance, Dashboard for Fedora• Injection server info and DNS records into existing

LDAP• Assignment network to the project manually• Projects support in nova client• LDAP speed up• Instance name in Dashboard Launch dialog

Page 42: Openstack meetup: Bootstrapping OpenStack to Corporate IT

OpenStack Modifications Summary

• VNC console via browser• RPMs Nova, Glance, Dashboard for Fedora• Injection server info and DNS records into existing

LDAP• Assignment network to the project manually• Projects support in nova client• LDAP speed up• Instance name in Dashboard Launch dialog• FQDN based on instance name

Page 43: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Roadmap

Requirement OpenStack MirantisBoot from Block Storage In progress In progress

Page 44: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Roadmap

Requirement OpenStack MirantisBoot from Block Storage In progress In progressLive Migration over non-shared storage In progress In progress

Page 45: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Roadmap

Requirement OpenStack MirantisBoot from Block Storage In progress In progressLive Migration over non-shared storage In progress In progressLDAP identity store for Keystone Planned In progress

Page 46: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Roadmap

Requirement OpenStack MirantisBoot from Block Storage In progress In progressLive Migration over non-shared storage In progress In progressLDAP identity store for Keystone Planned In progressRequested disk size should be in root partition, not as additional block device

? In progress

Page 47: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Roadmap

Requirement OpenStack MirantisBoot from Block Storage In progress In progressLive Migration over non-shared storage In progress In progressLDAP identity store for Keystone Planned In progressRequested disk size should be in root partition, not as additional block device

? In progress

Self-healing ? Planned

Page 48: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Roadmap

Requirement OpenStack MirantisBoot from Block Storage In progress In progressLive Migration over non-shared storage In progress In progressLDAP identity store for Keystone Planned In progressRequested disk size should be in root partition, not as additional block device

? In progress

Self-healing ? PlannedFlavor and disk resize Planned Planned

Page 49: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Roadmap

Requirement OpenStack MirantisBoot from Block Storage In progress In progressLive Migration over non-shared storage In progress In progressLDAP identity store for Keystone Planned In progressRequested disk size should be in root partition, not as additional block device

? In progress

Self-healing ? PlannedFlavor and disk resize Planned Planned

Several networks per project Will be in Diablo Planned

Page 50: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Roadmap

Requirement OpenStack MirantisBoot from Block Storage In progress In progressLive Migration over non-shared storage In progress In progressLDAP identity store for Keystone Planned In progressRequested disk size should be in root partition, not as additional block device

? In progress

Self-healing ? PlannedFlavor and disk resize Planned Planned

Several networks per project Will be in Diablo Planned

Availability Zones support from nova client, Dashboard

? Planned

Page 51: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Roadmap

Requirement OpenStack MirantisBoot from Block Storage In progress In progressLive Migration over non-shared storage In progress In progressLDAP identity store for Keystone Planned In progressRequested disk size should be in root partition, not as additional block device

? In progress

Self-healing ? PlannedFlavor and disk resize Planned Planned

Several networks per project Will be in Diablo Planned

Availability Zones support from nova client, Dashboard

? Planned

Live migration between projects ? Planned

Page 52: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Lessons Learned

• Have to get your hands dirty to understand OpenStack limitations

• OpenStack development != Python programming• Go to production early

Page 53: Openstack meetup: Bootstrapping OpenStack to Corporate IT

Where to find our work

• https://code.launchpad.net/~mirantis• https://github.com/Mirantis• http://mirantis.blogspot.com/