cookbook-openstack-compute/attributes/default.rb
Craig Tracey ab49072ea9 More changes to rename this to openstack-compute
In the previous commit, the vast majority of the work to move this
repo to openstack-compute was completed. Functionally it works. This
change is intended to address some cosmetic issues and make it
consistent with work done in other cookbook repos.

All tests pass.

Change-Id: I58216cd87b9ff0a77c599c7b5aab132ab2a9304d
2013-05-18 09:36:02 -04:00

262 lines
13 KiB
Ruby

########################################################################
# Toggles - These can be overridden at the environment level
default["enable_monit"] = false # OS provides packages
########################################################################
# Set to some text value if you want templated config files
# to contain a custom banner at the top of the written file
default["openstack-compute"]["custom_template_banner"] = "
# This file autogenerated by Chef
# Do not edit, changes will be overwritten
"
# The name of the Chef role that knows about the message queue server
# that Nova uses
default["openstack-compute"]["rabbit_server_chef_role"] = "rabbitmq-server"
# The name of the Chef role that sets up the Keystone Service API
default["openstack-compute"]["identity_service_chef_role"] = "os-identity"
# This user's password is stored in an encrypted databag
# and accessed with openstack-common cookbook library's
# db_password routine.
default["openstack-compute"]["db"]["username"] = "nova"
# This user's password is stored in an encrypted databag
# and accessed with openstack-common cookbook library's
# user_password routine. You are expected to create
# the user, pass, vhost in a wrapper rabbitmq cookbook.
default["openstack-compute"]["rabbit"]["username"] = "rabbit"
default["openstack-compute"]["rabbit"]["vhost"] = "/nova"
default["openstack-compute"]["service_tenant_name"] = "service"
default["openstack-compute"]["service_user"] = "nova"
default["openstack-compute"]["service_role"] = "admin"
# Controls for the PKI options in the auth_token middleware
# that is in the paste INI files.
default["openstack-compute"]["pki"]["signing_dir"] = "/tmp/nova-signing-dir"
default["openstack-compute"]["user"] = "nova"
default["openstack-compute"]["group"] = "nova"
# Logging stuff
default["openstack-compute"]["syslog"]["use"] = false
default["openstack-compute"]["syslog"]["facility"] = "LOG_LOCAL1"
default["openstack-compute"]["syslog"]["config_facility"] = "local1"
default["openstack-compute"]["region"] = "RegionOne"
default["openstack-compute"]["floating_cmd"] = "/usr/local/bin/add_floaters.py"
# TODO(shep): This should probably be ["openstack-compute"]["network"]["fixed"]
default["openstack-compute"]["networks"] = [
{
"label" => "public",
"ipv4_cidr" => "192.168.100.0/24",
"num_networks" => "1",
"network_size" => "255",
"bridge" => "br100",
"bridge_dev" => "eth2",
"dns1" => "8.8.8.8",
"dns2" => "8.8.4.4",
"multi_host" => 'T'
},
{
"label" => "private",
"ipv4_cidr" => "192.168.200.0/24",
"num_networks" => "1",
"network_size" => "255",
"bridge" => "br200",
"bridge_dev" => "eth3",
"dns1" => "8.8.8.8",
"dns2" => "8.8.4.4",
"multi_host" => 'T'
}
]
# For VLAN Networking, do the following:
#
# default["openstack-compute"]["network"]["network_manager"] = "nova.network.manager.VlanManager"
# default["openstack-compute"]["network"]["vlan_interface"] = "eth1" # Or "eth2", "bond1", etc...
# # The fixed_range setting is the **entire** subnet/network that all your VLAN
# # networks will fit inside.
# default["openstack-compute"]["network"]["fixed_range"] = "10.0.0.0/8" # Or smaller for smaller deploys...
#
# In addition to the above, you typically either want to do one of the following:
#
# 1) Set default["openstack-compute"]["networks"] to an empty Array ([]) and create your
# VLAN networks (using nova-manage network create) **when you create a tenant**.
#
# 2) Set default["openstack-compute"]["networks"] to an Array of VLAN networks that get created
# **without a tenant assignment** for tenants to use when they are created later.
# Such an array might look like this:
#
# default["openstack-compute"]["networks"] = [
# {
# "label": "vlan100",
# "vlan": "100",
# "ipv4_cidr": "10.0.100.0/24"
# },
# {
# "label": "vlan101",
# "vlan": "101",
# "ipv4_cidr": "10.0.101.0/24"
# },
# {
# "label": "vlan102",
# "vlan": "102",
# "ipv4_cidr": "10.0.102.0/24"
# },
# ]
default["openstack-compute"]["network"]["multi_host"] = false
default["openstack-compute"]["network"]["fixed_range"] = default["openstack-compute"]["networks"][0]["ipv4_cidr"]
# DMZ CIDR is a range of IP addresses that should not
# have their addresses SNAT'ed by the nova network controller
default["openstack-compute"]["network"]["dmz_cidr"] = "10.128.0.0/24"
default["openstack-compute"]["network"]["network_manager"] = "nova.network.manager.FlatDHCPManager"
default["openstack-compute"]["network"]["public_interface"] = "eth0"
default["openstack-compute"]["network"]["vlan_interface"] = "eth0"
# https://bugs.launchpad.net/nova/+bug/1075859
default["openstack-compute"]["network"]["use_single_default_gateway"] = false
default["openstack-compute"]["scheduler"]["scheduler_driver"] = "nova.scheduler.filter_scheduler.FilterScheduler"
default["openstack-compute"]["scheduler"]["default_filters"] = ["AvailabilityZoneFilter",
"RamFilter",
"ComputeFilter",
"CoreFilter",
"SameHostFilter",
"DifferentHostFilter"]
default["openstack-compute"]["xvpvnc_proxy"]["service_port"] = "6081"
default["openstack-compute"]["xvpvnc_proxy"]["bind_interface"] = "lo"
default["openstack-compute"]["novnc_proxy"]["service_port"] = "6080"
default["openstack-compute"]["novnc_proxy"]["bind_interface"] = "lo"
default["openstack-compute"]["libvirt"]["virt_type"] = "kvm"
default["openstack-compute"]["libvirt"]["bind_interface"] = "lo"
default["openstack-compute"]["libvirt"]["auth_tcp"] = "none"
default["openstack-compute"]["libvirt"]["remove_unused_base_images"] = true
default["openstack-compute"]["libvirt"]["remove_unused_resized_minimum_age_seconds"] = 3600
default["openstack-compute"]["libvirt"]["remove_unused_original_minimum_age_seconds"] = 3600
default["openstack-compute"]["libvirt"]["checksum_base_images"] = false
default["openstack-compute"]["config"]["availability_zone"] = "nova"
default["openstack-compute"]["config"]["storage_availability_zone"] = "nova"
default["openstack-compute"]["config"]["default_schedule_zone"] = "nova"
default["openstack-compute"]["config"]["force_raw_images"] = false
default["openstack-compute"]["config"]["allow_same_net_traffic"] = true
default["openstack-compute"]["config"]["osapi_max_limit"] = 1000
default["openstack-compute"]["config"]["cpu_allocation_ratio"] = 16.0
default["openstack-compute"]["config"]["ram_allocation_ratio"] = 1.5
default["openstack-compute"]["config"]["snapshot_image_format"] = "qcow2"
# `start` will cause nova-compute to error out if a VM is already running, where
# `resume` checks to see if it is running first.
default["openstack-compute"]["config"]["start_guests_on_host_boot"] = false
# requires https://review.openstack.org/#/c/8423/
default["openstack-compute"]["config"]["resume_guests_state_on_host_boot"] = true
# Volume API class (driver)
default["openstack-compute"]["config"]["volume_api_class"] = "nova.volume.cinder.API"
# quota settings
default["openstack-compute"]["config"]["quota_security_groups"] = 50
default["openstack-compute"]["config"]["quota_security_group_rules"] = 20
default["openstack-compute"]["ratelimit"]["settings"] = {
"generic-post-limit" => { "verb" => "POST", "uri" => "*", "regex" => ".*", "limit" => "10", "interval" => "MINUTE" },
"create-servers-limit" => { "verb" => "POST", "uri" => "*/servers", "regex" => "^/servers", "limit" => "50", "interval" => "DAY" },
"generic-put-limit" => { "verb" => "PUT", "uri" => "*", "regex" => ".*", "limit" => "10", "interval" => "MINUTE" },
"changes-since-limit" => { "verb" => "GET", "uri" => "*changes-since*", "regex" => ".*changes-since.*", "limit" => "3", "interval" => "MINUTE" },
"generic-delete-limit" => { "verb" => "DELETE", "uri" => "*", "regex" => ".*", "limit" => "100", "interval" => "MINUTE" }
}
default["openstack-compute"]["ratelimit"]["api"]["enabled"] = true
# Keystone PKI signing directory. Only written to the filter:authtoken section
# of the api-paste.ini when node["openstack"]["auth"]["strategy"] == "pki"
default["openstack-compute"]["api"]["auth"]["cache_dir"] = "/var/cache/nova/api"
default["openstack-compute"]["ceilometer-api"]["auth"]["cache_dir"] = "/var/cache/nova/ceilometer-api"
case platform
when "fedora", "redhat", "centos" # :pragma-foodcritic: ~FC024 - won't fix this
default["openstack-compute"]["platform"] = {
"api_ec2_packages" => ["openstack-nova-api"],
"api_ec2_service" => "openstack-nova-api",
"api_os_compute_packages" => ["openstack-nova-api"],
"api_os_compute_service" => "openstack-nova-api",
"api_os_compute_process_name" => "nova-api",
"memcache_python_packages" => [ "python-memcached" ],
"compute_api_metadata_packages" => ["openstack-nova-api"],
"compute_api_metadata_process_name" => "nova-api",
"compute_api_metadata_service" => "openstack-nova-api",
"compute_compute_packages" => ["openstack-nova-compute"],
"compute_compute_service" => "openstack-nova-compute",
"compute_network_packages" => ["iptables", "openstack-nova-network"],
"compute_network_service" => "openstack-nova-network",
"compute_scheduler_packages" => ["openstack-nova-scheduler"],
"compute_scheduler_service" => "openstack-nova-scheduler",
"compute_vncproxy_packages" => ["openstack-nova-novncproxy"], # me thinks this is right?
"compute_vncproxy_service" => "openstack-nova-novncproxy",
"compute_vncproxy_consoleauth_packages" => ["openstack-nova-console"],
"compute_vncproxy_consoleauth_service" => "openstack-nova-console",
"compute_vncproxy_consoleauth_process_name" => "nova-console",
"libvirt_packages" => ["libvirt"],
"libvirt_service" => "libvirtd",
"compute_cert_packages" => ["openstack-nova-cert"],
"compute_cert_service" => "openstack-nova-cert",
"mysql_service" => "mysqld",
"common_packages" => ["openstack-nova-common"],
"iscsi_helper" => "ietadm",
"package_overrides" => ""
}
when "ubuntu"
default["openstack-compute"]["platform"] = {
"api_ec2_packages" => ["nova-api-ec2"],
"api_ec2_service" => "nova-api-ec2",
"api_os_compute_packages" => ["nova-api-os-compute"],
"api_os_compute_process_name" => "nova-api-os-compute",
"api_os_compute_service" => "nova-api-os-compute",
"memcache_python_packages" => [ "python-memcache" ],
"compute_api_metadata_packages" => ["nova-api-metadata"],
"compute_api_metadata_service" => "nova-api-metadata",
"compute_api_metadata_process_name" => "nova-api-metadata",
"compute_compute_packages" => ["nova-compute"],
"compute_compute_service" => "nova-compute",
"compute_network_packages" => ["iptables", "nova-network"],
"compute_network_service" => "nova-network",
"compute_scheduler_packages" => ["nova-scheduler"],
"compute_scheduler_service" => "nova-scheduler",
# Websockify is needed due to https://bugs.launchpad.net/ubuntu/+source/nova/+bug/1076442
"compute_vncproxy_packages" => ["novnc", "websockify", "nova-novncproxy"],
"compute_vncproxy_service" => "nova-novncproxy",
"compute_vncproxy_consoleauth_packages" => ["nova-consoleauth"],
"compute_vncproxy_consoleauth_service" => "nova-consoleauth",
"compute_vncproxy_consoleauth_process_name" => "nova-consoleauth",
"libvirt_packages" => ["libvirt-bin"],
"libvirt_service" => "libvirt-bin",
"compute_cert_packages" => ["nova-cert"],
"compute_cert_service" => "nova-cert",
"mysql_service" => "mysql",
"common_packages" => ["nova-common"],
"iscsi_helper" => "tgtadm",
"package_overrides" => "-o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef'"
}
end
# ceilometer specific attrs
default["openstack-compute"]["ceilometer"]["api"]["server_hostname"] = "127.0.0.1"
default["openstack-compute"]["ceilometer"]["api"]["auth"]["user"] = "admin"
default["openstack-compute"]["ceilometer"]["api"]["auth"]["password"] = "adminpass"
default["openstack-compute"]["ceilometer"]["branch"] = 'stable/grizzly'
default["openstack-compute"]["ceilometer"]["repo"] = "git://github.com/openstack/ceilometer.git"
default["openstack-compute"]["ceilometer"]["conf"] = "/etc/ceilometer/ceilometer.conf"
default["openstack-compute"]["ceilometer"]["db"]["username"] = 'ceilometer'
default["openstack-compute"]["ceilometer"]["dependent_pkgs"] = ['libxslt-dev', 'libxml2-dev']
default["openstack-compute"]["ceilometer"]["install_dir"] = '/opt/ceilometer'
default["openstack-compute"]["ceilometer"]["periodic_interval"] = 600
default["openstack-compute"]["ceilometer"]["syslog"]["use"] = false
# plugins
default["openstack-compute"]["plugins"] = nil