Pimp My Cloud                      Nova Configuration Hints and Tricks                                                    ...
About Me      •    Engineer at Cloudscaling      •                Contributor      •                Deployer      •    Fol...
By the Numbers: Nova Folsom      •      190+ Contributors      •       Release            Python Lines              Other ...
Who Wrote Nova Folsom?        1      138      Russell Bryant <rbryant@redhat.com>        2      112      Johannes Erdfelt ...
OpenStack Architecture              CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.*  ...
Nova Architecture              CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.*       ...
Vanilla Nova      •    Devstack      •    All in One      •    RabbitMQ      •    KVM      •    MySQL      •    Default co...
Customize Nova      •    Choose a           o Hypervisor           o Database           o Message Queue           o Networ...
Customize Nova      •    Choose a           o Hypervisor           o Database           o Message Queue           o Networ...
What Makes Openstack Open      •    3 RPC backends      •    3+ DB backends      •    6+ Virtualization backends      •   ...
New Options for Folsom      •    1 RPC backends           o ZeroMQ      •    2 virt backends           o Hyper-V          ...
New Features for Folsom by Blueprint      •    General host aggregates (operator)      •    Disable API extensions      • ...
Backend Choices              CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.*         ...
RPC Comparisons            RPC                                    Protocol                 Company Affiliations           ...
Database Comparisons            Database                 Simultaneous writes                           High Availability  ...
Virtualization Comparisons                                                              Virtualization            Backend ...
Configuration Options              CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.*   ...
Configuration Options by Type                   Boolean 	                       68                   Floats 	 	           ...
New Config Options in Folsom         allowed_rpc_exception_modules                                                     max...
Virtualization options     1.pick a compute RPC topic     scheduler_topic=compute     2.pick a compute manager     compute...
compute.manager options               cfg.IntOpt(live_migration_retry_count,                    default=30,               ...
reap running deleted instances              cfg.IntOpt("running_deleted_instance_timeout",                    default=0,  ...
Scheduler options     1.pick a scheduler RPC topic     scheduler_topic=scheduler     2.pick a scheduler manager     schedu...
Add custom filter          cfg.MultiStrOpt(scheduler_available_filters,                 default=[nova.scheduler.filters.st...
*_driver                                                                               *_manager      •    network        ...
Nova Architecture      manager       Driver                CCA - NoDerivs 3.0 Unported License - Usage OK, no modification...
Resources     Blueprints: https://blueprints.launchpad.net/nova/folsom     Source: https://github.com/openstack/nova/tree/...
Questions?              CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.*              ...
Upcoming SlideShare
Loading in...5
×

Pimp My Cloud.pdf

316

Published on

true

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
316
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
20
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Pimp My Cloud.pdf

  1. 1. Pimp My Cloud Nova Configuration Hints and Tricks Joe Gordon CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 1Wednesday, October 17, 12
  2. 2. About Me • Engineer at Cloudscaling • Contributor • Deployer • Folsom Contributions o Top 10 developer (by commits) o Mostly in Nova http://bitergia.com/public/reports/openstack/2012_09_folsom/ CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 2Wednesday, October 17, 12
  3. 3. By the Numbers: Nova Folsom • 190+ Contributors • Release Python Lines Other Lines Python Files Other Files Folsom 186,738 242,721 666 788 Essex 150,894 221,109 593 302 Diablo 110,581 110,393 427 389 • Code churn: Release Lines Insertions Lines Deletions Insertions/LoC % Folsom 110,308 71,911 59.0% Essex 182,298 138,346 120.8%Code churn generated with git log --numstat --pretty="%H" $A..$B| grep .py$ | awk NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%dn", plus,minus)} CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 3Wednesday, October 17, 12
  4. 4. Who Wrote Nova Folsom? 1 138 Russell Bryant <rbryant@redhat.com> 2 112 Johannes Erdfelt <johannes.erdfelt@rackspace.com> 3 97 Dan Prince <dprince@redhat.com> 4 88 Vishvananda Ishaya <vishvananda@gmail.com> 5 81 Joe Gordon <jogo@cloudscaling.com> 6 63 Michael Still <mikal@stillhq.com> 7 59 Mark McLoughlin <markmc@redhat.com> 8 58 Rick Harris <rconradharris@gmail.com> 9 50 Yun Mao <yunmao@gmail.com> 10 45 Daniel P. Berrange <berrange@redhat.com> 11 36 Chris Behrens <cbehrens@codestud.com> 12 31 Eoghan Glynn <eglynn@redhat.com> 13 29 Brian Waldon <brian.waldon@rackspace.com> 14 26 Pádraig Brady <pbrady@redhat.com> 15 25 Chuck Short <zulcss@ubuntu.com> 16 23 Sean Dague <sdague@linux.vnet.ibm.com> 17 21 Alex Meade <alex.meade@rackspace.com> 18 18 Kevin L. Mitchell <kevin.mitchell@rackspace.com> 19 17 Brian Elliott <brian.elliott@rackspace.com> 20 17 Zhongyue Luo <zhongyue.nah@intel.com> 21 16 John Griffith <john.griffith@solidfire.com> 22 13 Dan Smith <danms@us.ibm.com> 23 13 Andrew Bogott <abogott@wikimedia.org> 24 12 Renuka Apte <renuka.apte@citrix.com> 25 12 Thierry Carrez <thierry@openstack.org> git shortlog -sne --since="Tue Mar 20 26 12 Monty Taylor <mordred@inaugust.com> 08:17:40 2012 +0100" --no-merges | cat -n 27 10 MotoKen <motokentsai@gmail.com> CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 4Wednesday, October 17, 12
  5. 5. OpenStack Architecture CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 5Wednesday, October 17, 12
  6. 6. Nova Architecture CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 6Wednesday, October 17, 12
  7. 7. Vanilla Nova • Devstack • All in One • RabbitMQ • KVM • MySQL • Default configuration options CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 7Wednesday, October 17, 12
  8. 8. Customize Nova • Choose a o Hypervisor o Database o Message Queue o Network Model o Scheduler • Configuration o Any of the 500+ options • Custom Services o Any service can be swapped out for one you write CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 8Wednesday, October 17, 12
  9. 9. Customize Nova • Choose a o Hypervisor o Database o Message Queue o Network Model o Scheduler • Configuration o Any of the 500+ options • Custom Services o Any service can be swapped out for one you write CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 9Wednesday, October 17, 12
  10. 10. What Makes Openstack Open • 3 RPC backends • 3+ DB backends • 6+ Virtualization backends • 500+ configuration options CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 10Wednesday, October 17, 12
  11. 11. New Options for Folsom • 1 RPC backends o ZeroMQ • 2 virt backends o Hyper-V o PowerVM • 100+ configuration options CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 11Wednesday, October 17, 12
  12. 12. New Features for Folsom by Blueprint • General host aggregates (operator) • Disable API extensions • Rootwrap pluggable filters (operator) • Multi-scheduler support (operator) • Flavor extra-specs • LVM ephemeral disk images (operator) • Project specific flavors • Multi-process API services (operator) CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 12Wednesday, October 17, 12
  13. 13. Backend Choices CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 13Wednesday, October 17, 12
  14. 14. RPC Comparisons RPC Protocol Company Affiliations Brokerless Language Backend kombu AMQP 0-9-1 Erlang (rabbitMQ) qpid AMQP 0-10 Java, C++ ZeroMQ Python, C++ CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 14Wednesday, October 17, 12
  15. 15. Database Comparisons Database Simultaneous writes High Availability Native python client ? CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 15Wednesday, October 17, 12
  16. 16. Virtualization Comparisons Virtualization Backend maintained by Fast Open Source type Baremetal N/A N/A UML paravirt only LXC container Xen full/paravirt KVM full Qemu qemu.org full Hyper-V full PowerVM full VMware ESX full CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 16Wednesday, October 17, 12
  17. 17. Configuration Options CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 17Wednesday, October 17, 12
  18. 18. Configuration Options by Type Boolean 68 Floats 6 Ints 119 13% Lists 18 1% MultiString 6 String 290 23% 57% 4% 1% CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 18Wednesday, October 17, 12
  19. 19. New Config Options in Folsom allowed_rpc_exception_modules max_age api_url netapp_storage_service_prefix auth_blob nfs_mount_point_base backdoor_port non_inheritable_image_properties base_dir_name notify_on_any_change cinder_* notify_on_state_change claim_timeout_seconds osapi_max_request_body_size config_drive_format osapi_volume_workers config_drive_skip_versions periodic_fuzzy_delay config_drive_tempdir port default_scheduler_driver powervm_* defer_iptables_apply quantum_* ec2_strict_validation quota_driver ec2_workers quota_key_pairs fatal_deprecations quota_security_group_rules force_config_drive quota_security_groups glance_api_insecure rbd_* hyperv_attaching_volume_retry_count reservation_expire hyperv_wait_between_attach_retry rootwrap_config image_info_filename_pattern rpc_cast_timeout instance_build_timeout rpc_zmq_* instance_uuid_format server libvirt_cpu_mode server_ca_file libvirt_cpu_model snapshot_same_host libvirt_images_type sql_connection_debug libvirt_images_volume_group sql_connection_trace libvirt_inject_key storwize_* libvirt_inject_partition syslog_log_facility libvirt_snapshots_directory until_refresh libvirt_sparse_logical_volumes vswitch_name limit_cpu_features xenapi_check_host matchmaker_ringfile xenapi_num_vbd_unplug_retries CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 19Wednesday, October 17, 12
  20. 20. Virtualization options 1.pick a compute RPC topic scheduler_topic=compute 2.pick a compute manager compute_manager=nova.compute.manager.ComputeManager 3.compute manager options instances_path=$state_path/instances base_dir_name=_base compute_driver=libvirt.LibvirtDriver console_host=socket.getfqdn() live_migration_retry_count=30 reboot_timeout=0 instance_build_timeout=0 rescue_timeout=0 resize_confirm_window=0 *_interval= running_deleted_instance_timeout=0 running_deleted_instance_action=log instance_usage_audit=false 4.compute driver options rescue_*_id= libvirt_type=kvm libvirt_inject_password=false libvirt_inject_key=true *_migration_= libvirt_cpu_mode= libvirt_cpu_model= ... CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 20Wednesday, October 17, 12
  21. 21. compute.manager options     cfg.IntOpt(live_migration_retry_count,                default=30,                help="Number of 1 second retries needed in live_migration"),     cfg.IntOpt("reboot_timeout",                default=0,                help="Automatically hard reboot an instance if it has been "                     "stuck in a rebooting state longer than N seconds. "                     "Set to 0 to disable."),     cfg.IntOpt("instance_build_timeout",                default=0,                help="Amount of time in seconds an instance can be in BUILD "                     "before going into ERROR status."                     "Set to 0 to disable."),     cfg.IntOpt("rescue_timeout",                default=0,                help="Automatically unrescue an instance after N seconds. "                     "Set to 0 to disable."),     cfg.IntOpt("resize_confirm_window",                default=0,                help="Automatically confirm resizes after N seconds. "                     "Set to 0 to disable."),   ...     cfg.StrOpt("running_deleted_instance_action",                default="log",                help="Action to take if a running deleted instance is detected."                     "Valid options are noop, log and reap. "                     "Set to noop to disable."), CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 21Wednesday, October 17, 12
  22. 22. reap running deleted instances     cfg.IntOpt("running_deleted_instance_timeout",                default=0,                help="Number of seconds after being deleted when a running "                     "instance should be considered eligible for cleanup."),     cfg.IntOpt("running_deleted_instance_interval",                default=30,                help="Number of periodic scheduler ticks to wait between runs of "                     "the cleanup task."),     cfg.StrOpt("running_deleted_instance_action",                default="noop",                help="Action to take if a running deleted instance is detected."                     "Valid options are noop, log and reap. "                     "Set to noop to disable."), nova.conf settings running_deleted_instance_timeout=60 running_deleted_instance_action=reap CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 22Wednesday, October 17, 12
  23. 23. Scheduler options 1.pick a scheduler RPC topic scheduler_topic=scheduler 2.pick a scheduler manager scheduler_manager=nova.scheduler.manager.SchedulerManager 3.pick a scheduler driver scheduler_driver=nova.scheduler.multi.MultiScheduler 4.set up scheduler.driver options scheduler_host_manager=nova.scheduler.host_manager.HostManager scheduler_max_attempts=3 5.multi scheduler options compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler volume_scheduler_driver=nova.scheduler.chance.ChanceScheduler default_scheduler_driver=nova.scheduler.chance.ChanceScheduler 6.host_manager options scheduler_available_filters=nova.scheduler.filters.standard_filters scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeC apabilitiesFilter,ImagePropertiesFilter 7.filter options ram_allocation_ratio=1.5 8.resource_tracker options reserved_host_disk_mb=0 reserved_host_memory_mb=512 claim_timeout_seconds=600 compute_stats_class=nova.compute.stats.Stats CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 23Wednesday, October 17, 12
  24. 24. Add custom filter cfg.MultiStrOpt(scheduler_available_filters,             default=[nova.scheduler.filters.standard_filters],             help=Filter classes available to the scheduler which may                     be specified more than once. An entry of                     "nova.scheduler.filters.standard_filters"                     maps to all filters included with nova.),      cfg.ListOpt(scheduler_default_filters,                 default=[                   RetryFilter,                   AvailabilityZoneFilter,                   RamFilter,                   ComputeFilter,                   ComputeCapabilitiesFilter,                   ImagePropertiesFilter                   ],                 help=Which filter class names to use for filtering hosts                       when not specified in the request.), nova.conf settings scheduler_available_filters=myfilter.CustomFilter scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter, ComputeCapabilitiesFilter,ImagePropertiesFilter,CustomFilter CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 24Wednesday, October 17, 12
  25. 25. *_driver *_manager • network • compute • quota • console • compute • cert • console • instance_dns • db • floating_ip_dns • linuxnet_interface • network • scheduler • volume o compute_scheduler o volume_scheduler • scheduler o default_scheduler • metadata • baremetal • image_cache • firewall • consoleauth • libvirt_vif • scheduler_host • volume_driver CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 25Wednesday, October 17, 12
  26. 26. Nova Architecture manager Driver CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 26Wednesday, October 17, 12
  27. 27. Resources Blueprints: https://blueprints.launchpad.net/nova/folsom Source: https://github.com/openstack/nova/tree/stable/folsom Documentation: http://docs.openstack.org Release notes: http://wiki.openstack.org/ReleaseNotes/Folsom CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 27Wednesday, October 17, 12
  28. 28. Questions? CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution.* * All unlicensed or borrowed works retain their original licenses. 28Wednesday, October 17, 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×