update the README after refactoring and align it with other cookbooks
* also removed the empty default recipe Change-Id: Id6e3750f9ae78178ecf4e4370ac6b6b3dbc599c6
This commit is contained in:
parent
2aec9921b7
commit
97497a1d00
468
README.md
468
README.md
|
@ -1,441 +1,101 @@
|
|||
Description
|
||||
===========
|
||||
|
||||
This cookbook installs the OpenStack Compute service **Nova** as part of the OpenStack reference deployment Chef for OpenStack. The https://github.com/mattray/openstack-chef-repo contains documentation for using this cookbook in the context of a full OpenStack deployment. Nova is currently installed from packages.
|
||||
This cookbook installs the OpenStack Compute service **Nova** as part of the
|
||||
OpenStack reference deployment Chef for OpenStack. The
|
||||
https://github.com/openstack/openstack-chef-repo contains documentation for using
|
||||
this cookbook in the context of a full OpenStack deployment. Nova is currently
|
||||
installed from packages.
|
||||
|
||||
http://nova.openstack.org
|
||||
http://docs.openstack.org/mitaka/config-reference/compute.html
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
Chef 12 or higher required.
|
||||
- Chef 12 or higher
|
||||
- chefdk 0.9.0 for testing (also includes berkshelf for cookbook dependency
|
||||
resolution)
|
||||
|
||||
Platform
|
||||
========
|
||||
|
||||
- ubuntu
|
||||
- redhat
|
||||
- centos
|
||||
|
||||
Cookbooks
|
||||
---------
|
||||
=========
|
||||
|
||||
The following cookbooks are dependencies:
|
||||
|
||||
* openstack-common
|
||||
* openstack-identity
|
||||
* openstack-image
|
||||
* openstack-network
|
||||
* selinux (Fedora)
|
||||
* python
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
api-ec2
|
||||
----
|
||||
- This is obsoleted by https://github.com/cloudscaling/cookbook-openstack-ec2
|
||||
|
||||
api-metadata
|
||||
----
|
||||
- Includes recipe `nova-common`
|
||||
- Installs the nova metadata package
|
||||
|
||||
api-os-compute
|
||||
----
|
||||
- Includes recipe `nova-common`
|
||||
- Installs OS API and configures the service and endpoints in keystone
|
||||
|
||||
client
|
||||
----
|
||||
- Install the nova client packages
|
||||
|
||||
compute
|
||||
----
|
||||
- Includes recipes `nova-common`, `api-metadata`, `network`
|
||||
- Installs nova-compute service
|
||||
|
||||
libvirt
|
||||
----
|
||||
- Installs libvirt, used by nova compute for management of the virtual machine environment
|
||||
|
||||
libvirt_rbd
|
||||
----
|
||||
- Prepares the compute node for interaction with a Ceph cluster for block storage (RBD)
|
||||
- Depends on `ceph::_common`, `ceph::install`, and `ceph::conf` for packages and cluster connectivity (i.e. a proper `/etc/ceph/ceph.conf`)
|
||||
|
||||
network
|
||||
----
|
||||
- Includes recipe `nova-common`
|
||||
- Installs nova network service
|
||||
|
||||
nova-cert
|
||||
----
|
||||
- Installs nova-cert service
|
||||
|
||||
nova-common
|
||||
----
|
||||
- May include recipe `selinux` (Fedora)
|
||||
- Builds the basic nova.conf config file with details of the rabbitmq, mysql, glance and keystone servers
|
||||
|
||||
nova-setup
|
||||
----
|
||||
- Includes recipes `nova-common`
|
||||
- Sets up the nova networks with `nova-manage`
|
||||
|
||||
scheduler
|
||||
----
|
||||
- Includes recipe `nova-common`
|
||||
- Installs nova scheduler service
|
||||
|
||||
vncproxy
|
||||
----
|
||||
- Includes recipe `nova-common`
|
||||
- Installs and configures the vncproxy service for console access to VMs
|
||||
|
||||
serialproxy
|
||||
----
|
||||
- Includes recipe `nova-common`
|
||||
- Installs and configures the serialproxy service for serial console access to VMs
|
||||
- 'ceph', '>= 0.8.1'
|
||||
- 'openstack-common', '>= 13.0.0'
|
||||
- 'openstack-identity', '>= 13.0.0'
|
||||
- 'openstack-image', '>= 13.0.0'
|
||||
- 'openstack-network', '>= 13.0.0'
|
||||
- 'python', '~> 1.4.6'
|
||||
|
||||
Attributes
|
||||
==========
|
||||
|
||||
Openstack Compute attributes are in the attribute namespace ["openstack"]["compute"].
|
||||
Please see the extensive inline documentation in `attributes/*.rb` for
|
||||
descriptions of all the settable attributes for this cookbook.
|
||||
|
||||
* `openstack["compute"]["identity_service_chef_role"]` - The name of the Chef role that sets up the Keystone Service API
|
||||
* `openstack["compute"]["user"]` - User nova services run as
|
||||
* `openstack["compute"]["group"]` - Group nova services run as
|
||||
* `openstack["compute"]["db"]["username"]` - Username for nova database access
|
||||
* `openstack["compute"]["service_tenant_name"]` - Tenant name used by nova when interacting with keystone
|
||||
* `openstack["compute"]["service_user"]` - User name used by nova when interacting with keystone
|
||||
* `openstack["compute"]["service_role"]` - User role used by nova when interacting with keystone
|
||||
* `openstack["compute"]["floating_cmd"]` - Path to the `nova-manage floating create` wrapper script.
|
||||
* `openstack["compute"]["osapi_compute_workers"]` - Number of api workers
|
||||
* `openstack["compute"]["metadata_workers"]` - Number of metadata workders
|
||||
* `openstack["compute"]["config"]["volume_api_class"]` - API Class used for Volume support
|
||||
* `openstack['compute']['driver'] = Driver to use for controlling virtualization
|
||||
* `openstack['compute']['manager'] = Full class name for the Manager for compute
|
||||
* `openstack['compute']['default_ephemeral_format'] = The default format an ephemeral_volume will be formatted with on creation
|
||||
* `openstack['compute']['preallocate_images'] = VM image preallocation mode
|
||||
* `openstack['compute']['use_cow_images'] = Whether to use cow images
|
||||
* `openstack['compute']['vif_plugging_is_fatal'] = Fail instance boot if vif plugging fails
|
||||
* `openstack['compute']['vif_plugging_timeout'] = Number of seconds to wait for neutron vif plugging events to arrive before continuing or failing
|
||||
* `openstack['compute']['ssl_only'] = Disallow non-encrypted connections
|
||||
* `openstack['compute']['cert'] = SSL certificate file
|
||||
* `openstack['compute']['key'] = SSL key file (if separate from cert)
|
||||
* `openstack['compute']['dbsync_timeout']` - Set dbsync command timeout value
|
||||
* `openstack["compute"]["compute"]["api"]["protocol"]` - Protocol used for the OS API
|
||||
* `openstack["compute"]["compute"]["api"]["port"]` - Port on which OS API runs
|
||||
* `openstack["compute"]["compute"]["api"]["version"]` - Version of the OS API used
|
||||
* `openstack["compute"]["compute"]["adminURL"]` - URL used to access the OS API for admin functions
|
||||
* `openstack["compute"]["compute"]["internalURL"]` - URL used to access the OS API for user functions from an internal network
|
||||
* `openstack["compute"]["compute"]["publicURL"]` - URL used to access the OS API for user functions from an external network
|
||||
* `openstack["compute"]["compute"]["dnsmasq_config_file"]` - Override the default dnsmasq settings with this file
|
||||
* `openstack["compute"]["config"]["availability_zone"]` - Nova availability zone. Usually set at the node level to place a compute node in another az
|
||||
* `openstack["compute"]["config"]["default_schedule_zone"]` - The availability zone to schedule instances in when no az is specified in the request
|
||||
* `openstack["compute"]["config"]["force_raw_images"]` - Convert all images used as backing files for instances to raw (we default to false)
|
||||
* `openstack["compute"]["config"]["allow_same_net_traffic"]` - Disable security groups for internal networks (we default to true)
|
||||
* `openstack["compute"]["config"]["osapi_max_limit"]` - The maximum number of items returned in a single response from a collection resource (default is 1000)
|
||||
* `openstack["compute"]["config"]["osapi_compute_link_prefix"]` - Base URL that will be presented to users in links to the OpenStack Compute API (default is nil)
|
||||
* `openstack["compute"]["config"]["osapi_glance_link_prefix"]` - Base URL that will be presented to users in links to glance resources(default is nil)
|
||||
* `openstack["compute"]["config"]["cpu_allocation_ratio"]` - Virtual CPU to Physical CPU allocation ratio (default 16.0)
|
||||
* `openstack["compute"]["config"]["ram_allocation_ratio"]` - Virtual RAM to Physical RAM allocation ratio (default 1.5)
|
||||
* `openstack["compute"]["config"]["snapshot_image_format"]` - Snapshot image format (valid options are : raw, qcow2, vmdk, vdi [we default to qcow2]).
|
||||
* `openstack["compute"]["config"]["start_guests_on_host_boot"]` - Whether to restart guests when the host reboots
|
||||
* `openstack["compute"]["config"]["resume_guests_state_on_host_boot"]` - Whether to start guests that were running before the host rebooted
|
||||
* `openstack["compute"]["config"]["disk_allocation_ratio"]` - Virtual disk to physical disk allocation ratio (default 1.0)
|
||||
* `openstack["compute"]["config"]["allow_resize_to_same_host"]` - Allow destination machine to match source for resize. Useful when testing in single-host environments (default is false)
|
||||
* `openstack["compute"]["config"]["resize_confirm_window"]` - Automatically confirm resizes after N seconds, Set to 0 to disable (default is 0)
|
||||
* `openstack["compute"]["config"]["reserved_host_memory_mb"]` - Amount of disk in MB to reserve for the host (default is 512)
|
||||
* `openstack["compute"]["config"]["disk_cachemodes"]` - Cachemodes to use for different disk types e.g: "file=directsync,block=none". Valid cache values are "default", "none", "writethrough", "writeback", "directsync" and "unsafe".
|
||||
* `openstack["compute"]["config"]["live_migration_retry_count"]` - Number of 1 second retries needed in live_migration
|
||||
* `openstack["compute"]["config"]["flat_injected"]` - Whether to attempt to inject network setup into guest. Used by config_drive support.
|
||||
* `openstack["compute"]["config"]["config_drive_format"]` - Config drive format.
|
||||
* `openstack["compute"]["api"]["signing_dir"]` - Keystone PKI needs a location to hold the signed tokens
|
||||
* `openstack["compute"]["api"]["signing_dir"]` - Keystone PKI needs a location to hold the signed tokens
|
||||
* `openstack["compute"]["rpc_thread_pool_size"]` - Size of RPC thread pool (default 64)
|
||||
* `openstack["compute"]["rpc_conn_pool_size"]` - Size of RPC connection pool (default 30)
|
||||
* `openstack["compute"]["rpc_response_timeout"]` - Seconds to wait for a response from call or multicall (default 60)
|
||||
* `openstack['compute']['api']['auth']['version']` - Select v2.0 or v3.0. Default v2.0. The auth API version used to interact with identity service.
|
||||
* `openstack['compute']['api']['auth']['memcached_servers']` - A list of memcached server(s) for caching
|
||||
* `openstack['compute']['api']['auth']['memcache_security_strategy']` - Whether token data should be authenticated or authenticated and encrypted. Acceptable values are MAC or ENCRYPT.
|
||||
* `openstack['compute']['api']['auth']['memcache_secret_key']` - This string is used for key derivation.
|
||||
* `openstack['compute']['api']['auth']['hash_algorithms']` - Hash algorithms to use for hashing PKI tokens.
|
||||
* `openstack['compute']['api']['auth']['cafile']` - A PEM encoded Certificate Authority to use when verifying HTTPs connections.
|
||||
* `openstack['compute']['api']['auth']['insecure']` - Whether to allow the client to perform insecure SSL (https) requests.
|
||||
* `openstack['compute']['conductor']['workers']` = Number of conductor workers
|
||||
Note that all attributes are in the `default['openstack']` "namespace"
|
||||
|
||||
The usage of attributes to generate the node.conf is decribed in the
|
||||
openstack-common cookbook.
|
||||
|
||||
MQ attributes
|
||||
-------------
|
||||
* `openstack["compute"]["mq"]["service_type"]` - Select qpid or rabbitmq. default rabbitmq
|
||||
TODO: move rabbit parameters under openstack["compute"]["mq"]
|
||||
* `openstack["compute"]["rabbit"]["username"]` - Username for nova rabbit access
|
||||
* `openstack["compute"]["rabbit"]["vhost"]` - The rabbit vhost to use
|
||||
* `openstack["compute"]["rabbit"]["port"]` - The rabbit port to use
|
||||
* `openstack["compute"]["rabbit"]["host"]` - The rabbit host to use (must set when `openstack["compute"]["rabbit"]["ha"]` false).
|
||||
* `openstack["compute"]["rabbit"]["ha"]` - Whether or not to use rabbit ha
|
||||
* `openstack["compute"]["rabbit"]["heartbeat_timeout_threshold"]` - Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disable the heartbeat)
|
||||
* `openstack["compute"]["rabbit"]["heartbeat_rate"]` - How often times during the heartbeat_timeout_threshold we check the heartbeat
|
||||
Recipes
|
||||
=======
|
||||
|
||||
* `openstack["compute"]["mq"]["qpid"]["host"]` - The qpid host to use
|
||||
* `openstack["compute"]["mq"]["qpid"]["port"]` - The qpid port to use
|
||||
* `openstack["compute"]["mq"]["qpid"]["qpid_hosts"]` - Qpid hosts. TODO. use only when ha is specified.
|
||||
* `openstack["compute"]["mq"]["qpid"]["username"]` - Username for qpid connection
|
||||
* `openstack["compute"]["mq"]["qpid"]["password"]` - Password for qpid connection
|
||||
* `openstack["compute"]["mq"]["qpid"]["sasl_mechanisms"]` - Space separated list of SASL mechanisms to use for auth
|
||||
* `openstack["compute"]["mq"]["qpid"]["reconnect_timeout"]` - The number of seconds to wait before deciding that a reconnect attempt has failed.
|
||||
* `openstack["compute"]["mq"]["qpid"]["reconnect_limit"]` - The limit for the number of times to reconnect before considering the connection to be failed.
|
||||
* `openstack["compute"]["mq"]["qpid"]["reconnect_interval_min"]` - Minimum number of seconds between connection attempts.
|
||||
* `openstack["compute"]["mq"]["qpid"]["reconnect_interval_max"]` - Maximum number of seconds between connection attempts.
|
||||
* `openstack["compute"]["mq"]["qpid"]["reconnect_interval"]` - Equivalent to setting qpid_reconnect_interval_min and qpid_reconnect_interval_max to the same value.
|
||||
* `openstack["compute"]["mq"]["qpid"]["heartbeat"]` - Seconds between heartbeat messages sent to ensure that the connection is still alive.
|
||||
* `openstack["compute"]["mq"]["qpid"]["protocol"]` - Protocol to use. Default tcp.
|
||||
* `openstack["compute"]["mq"]["qpid"]["tcp_nodelay"]` - Disable the Nagle algorithm. default disabled.
|
||||
## openstack-compute::api-metadata
|
||||
- Installs the nova metadata package
|
||||
|
||||
Glance Attributes
|
||||
-----------------
|
||||
## openstack-compute::api-os-compute
|
||||
- Installs OS API and configures the service and endpoints in keystone
|
||||
|
||||
* `openstack["compute"]["image"]["glance_api_insecure"]` - If True, this indicates that glance-api allows the client to perform insecure SSL(https) requests, this should be the same as the setting in the glance-api service.
|
||||
* `openstack["compute"]["image"]["ssl"]["ca_file"]` - CA certificate file to use to verify connecting clients.
|
||||
* `openstack["compute"]["image"]["ssl"]["cert_file"]` - Certificate file to use when starting the server securely.
|
||||
* `openstack["compute"]["image"]["ssl"]["key_file"]` - Private key file to use when starting the server securely.
|
||||
## openstack-compute::client
|
||||
- Install the nova client packages
|
||||
|
||||
Cinder Attributes
|
||||
-----------------
|
||||
## openstack-compute::compute
|
||||
- Installs nova-compute service
|
||||
|
||||
* `openstack["compute"]["block-storage"]["cinder_ca_certificates_file"]` - Location of ca certificates file to use for cinder client requests.
|
||||
* `openstack["compute"]["block-storage"]["cinder_api_insecure"]` - Allow to perform insecure SSL requests to cinder.
|
||||
* `openstack["compute"]["block-storage"]["cinder_catalog_info"]` - Info to match when looking for cinder in the service catalog.
|
||||
## openstack-compute::compute
|
||||
- Installs nova-conductor service
|
||||
|
||||
Networking Attributes
|
||||
---------------------
|
||||
## openstack-compute::identity_registration
|
||||
- Registers the nova endpoints with keystone
|
||||
|
||||
Basic networking configuration is controlled with the following attributes:
|
||||
## openstack-compute::libvirt
|
||||
- Installs libvirt, used by nova compute for management of the virtual machine
|
||||
environment
|
||||
|
||||
* `openstack["compute"]["network"]["network_manager"]` - Defaults to "nova.network.manager.FlatDHCPManager". Set to "nova.network.manager.VlanManager" to configure VLAN Networking.
|
||||
* `openstack["compute"]["network"]["dmz_cidr"]` - A CIDR for the range of IP addresses that will NOT be SNAT'ed by the nova network controller
|
||||
* `openstack["compute"]["network"]["public_interface"]` - Defaults to eth0. Refers to the network interface used for VM addresses`.
|
||||
* `openstack["compute"]["network"]["vlan_interface"]` - Defaults to eth0. Refers to the network interface used for VM addresses when VMs are assigned in a VLAN subnet.
|
||||
* `openstack["compute"]["network"]["auto_assign_floating_ip"]` - Defaults to false. Autoassigning floating ip to VM, this should be only for nova network.
|
||||
* `openstack["compute"]["network"]["force_dhcp_release"]` - If True, send a dhcp release on instance termination. (Default is false on "fedora", "redhat", "centos")
|
||||
* `openstack["compute"]["network"]["use_ipv6"]` - If True, use ipv6 support.
|
||||
* `openstack["compute"]["network"]["neutron"]["api_insecure"]` - If True, this indicates that neutron-api allows the client to perform insecure SSL (https) requests. This should be the same as the setting in the neutron api service.
|
||||
## openstack-compute::libvirt_rbd
|
||||
- Prepares the compute node for interaction with a Ceph cluster for block
|
||||
storage (RBD)
|
||||
- Depends on `ceph::_common`, `ceph::install`, and `ceph::conf` for packages and
|
||||
cluster connectivity (i.e. a proper `/etc/ceph/ceph.conf`)
|
||||
|
||||
You can have the cookbook automatically create networks in Nova for you by adding a Hash to the `openstack["compute"]["networks"]` Array.
|
||||
**Note**: The `openstack-compute::nova-setup` recipe contains the code that creates these pre-defined networks.
|
||||
## openstack-compute::nova-cert
|
||||
- Installs nova-cert service
|
||||
|
||||
Each Hash must contain the following keys:
|
||||
## openstack-compute::nova-common
|
||||
- Builds the basic nova.conf config file with details of the rabbitmq, mysql,
|
||||
glance and keystone servers
|
||||
|
||||
* `ipv4_cidr` - The CIDR representation of the subnet. Supplied to the nova-manage network create command as `--fixed_ipv4_range`
|
||||
* `label` - A name for the network
|
||||
## openstack-compute::nova-setup
|
||||
- Sets up the nova networks with `nova-manage`
|
||||
|
||||
In addition to the above required keys in the Hash, the below keys are optional:
|
||||
## openstack-compute::scheduler
|
||||
- Installs nova scheduler service
|
||||
|
||||
* `num_networks` - Passed as-is to `nova-manage network create` as the `--num_networks` option. This overrides the default `num_networks` nova.conf value.
|
||||
* `network_size` - Passed as-is to `nova-manage network create` as the `--network_size` option. This overrides the default `network_size` nova.conf value.
|
||||
* `bridge` - Passed as-is to `nova-manage network create` as the `--bridge` option.
|
||||
* `bridge_interface` -- Passed as-is to `nova-manage network create` as the `--bridge_interface` option. This overrides the default `vlan_interface` nova.conf value.
|
||||
* `dns1` - Passed as-is to `nova-manage network create` as the `--dns1` option.
|
||||
* `dns2` - Passed as-is to `nova-manage network create` as the `--dns2` option.
|
||||
* `multi_host` - Passed as-is to `nova-manage network create` as the `--multi_host` option. Values should be either 'T' or 'F'
|
||||
* `vlan` - Passed as-is to `nova-manage network create` as the `--vlan` option. Should be the VLAN tag ID.
|
||||
## openstack-compute::vncproxy
|
||||
- Installs and configures the vncproxy service for console access to VMs
|
||||
|
||||
By default, the `openstack["compute"]["networks"]` array has two networks:
|
||||
## openstack-compute::serialproxy
|
||||
- Installs and configures the serialproxy service for serial console access to VMs
|
||||
|
||||
* `openstack["compute"]["networks"]["public"]["label"]` - Network label to be assigned to the public network on creation
|
||||
* `openstack["compute"]["networks"]["public"]["ipv4_cidr"]` - Network to be created (in CIDR notation, e.g., 192.168.100.0/24)
|
||||
* `openstack["compute"]["networks"]["public"]["num_networks"]` - Number of networks to be created
|
||||
* `openstack["compute"]["networks"]["public"]["network_size"]` - Number of IP addresses to be used in this network
|
||||
* `openstack["compute"]["networks"]["public"]["bridge"]` - Bridge to be created for accessing the VM network (e.g., br100)
|
||||
* `openstack["compute"]["networks"]["public"]["bridge_dev"]` - Physical device on which the bridge device should be attached (e.g., eth2)
|
||||
* `openstack["compute"]["networks"]["public"]["dns1"]` - DNS server 1
|
||||
* `openstack["compute"]["networks"]["public"]["dns2"]` - DNS server 2
|
||||
|
||||
* `openstack["compute"]["networks"]["private"]["label"]` - Network label to be assigned to the private network on creation
|
||||
* `openstack["compute"]["networks"]["private"]["ipv4_cidr"]` - Network to be created (in CIDR notation e.g., 192.168.200.0/24)
|
||||
* `openstack["compute"]["networks"]["private"]["num_networks"]` - Number of networks to be created
|
||||
* `openstack["compute"]["networks"]["private"]["network_size"]` - Number of IP addresses to be used in this network
|
||||
* `openstack["compute"]["networks"]["private"]["bridge"]` - Bridge to be created for accessing the VM network (e.g., br200)
|
||||
* `openstack["compute"]["networks"]["private"]["bridge_dev"]` - Physical device on which the bridge device should be attached (e.g., eth3)
|
||||
|
||||
Libvirt Configuration Attributes
|
||||
---------------------------------
|
||||
|
||||
* `openstack["compute"]["libvirt"]["virt_type"]` - What hypervisor software layer to use with libvirt (e.g., kvm, qemu)
|
||||
* `openstack["compute"]["libvirt"]["volume_backend"]` - What block storage backend to use with libvirt (e.g. rbd)
|
||||
* `openstack["compute"]["libvirt"]["auth_tcp"]` - Type of authentication your libvirt layer requires
|
||||
* `openstack["compute"]["libvirt"]["ssh"]["private_key"]` - Private key to use if using SSH authentication to your libvirt layer
|
||||
* `openstack["compute"]["libvirt"]["ssh"]["public_key"]` - Public key to use if using SSH authentication to your libvirt layer
|
||||
* `openstack["compute"]["libvirt"]["max_clients"]` - Maximum number of concurrent client connections to allow over all sockets combined. (default: 20)
|
||||
* `openstack["compute"]["libvirt"]["max_workers"]` - Maximum number of workers spawned, typically equal to max_clients. (default: 20)
|
||||
* `openstack["compute"]["libvirt"]["max_requests"]` - Total global limit on concurrent RPC calls. Should be at least as large as max_workers. (default: 20)
|
||||
* `openstack["compute"]["libvirt"]["max_client_requests"]` - Limit on concurrent requests from a single client connection. (default: 5)
|
||||
* `openstack["compute"]["libvirt"]["libvirt_inject_key"]` - Inject the ssh public key at boot time, without an agent. (default: true)
|
||||
* `openstack["compute"]["libvirt"]["libvirt_inject_password"]` - Inject the admin password at boot time, without an agent. (default: false)
|
||||
* `openstack["compute"]["libvirt"]["libvirt_inject_partition"]` - The partition to inject to : -2 => disable, -1 => inspect (libguestfs only), 0 => not partitioned, >0 => partition number. (default: -2)
|
||||
* `openstack["compute"]["libvirt"]["images_type"]` - How to store local images (ephemeral disks): raw, qcow2, lvm, rbd, or default
|
||||
* `openstack["compute"]["libvirt"]["volume_group"]` - When images_type is lvm: volume group to use
|
||||
* `openstack["compute"]["libvirt"]["sparse_logical_volumes"]` - When images_type is lvm: use sparse logical volumes
|
||||
* `openstack["compute"]["libvirt"]["unix_sock_rw_perms"]` - Set the UNIX socket permissions for the R/W socket. This is used for full management of VMs.
|
||||
* `openstack["compute"]["libvirt"]["live_migration_bandwidth"]` - Maximum bandwidth to be used during migration, in Mbps.
|
||||
* `openstack["compute"]["libvirt"]["live_migration_flag"]` - Migration flags to be set for live migration.
|
||||
* `openstack["compute"]["libvirt"]["block_migration_flag"]` - Migration flags to be set for block migration.
|
||||
* `openstack["compute"]["libvirt"]["live_migration_uri"]` - Migration target URI (any included "%s" is replaced with the migration target hostname).
|
||||
* `openstack["compute"]["libvirt"]["rbd"]["glance"]["pool"]` - When images_type is rbd: use this RBD pool for images
|
||||
* `openstack["compute"]["libvirt"]["rbd"]["cinder"]["pool"]` - When images_type is rbd: use this RBD pool for volumes
|
||||
* `openstack["compute"]["libvirt"]["rbd"]["nova"]["pool"]` - When images_type is rbd: use this RBD pool for instances
|
||||
* `openstack["compute"]["libvirt"]["rbd"]["ceph_conf"]` - When images_type is rbd: use this ceph.conf
|
||||
* `openstack["compute"]["libvirt"]["rbd"]["cinder"]["user"]` - The cephx user used for accessing the RBD pool used for block storage. (Which pool to use is passed by cinder when nova-compute is instructed to mount a volume.)
|
||||
* `openstack["compute"]["libvirt"]["rbd"]["cinder"]["secret_uuid"]` - A shared secret between cinder and libvirt. It should be the same as the secret_uuid that is defined in block-storage.
|
||||
* `openstack["compute"]["libvirt"]["rng_dev_path"]` - A path to a device that will be used as source of entropy on the host. Permitted options are: /dev/random or /dev/hwrng (string value)
|
||||
|
||||
Bare Metal Configuration Attributes
|
||||
-----------------------------------
|
||||
|
||||
* `openstack['compute']['scheduler']['use_baremetal_filters']` Boolean that decides whether to use baremetal_scheduler_default_filters or not.
|
||||
If this attribute is set to true, the following attributes will be overwritten:
|
||||
`openstack['compute']['driver']`
|
||||
`openstack['compute']['manager']`
|
||||
`openstack['compute']['scheduler']['scheduler_host_manager']`
|
||||
`openstack['compute']['config']['ram_allocation_ratio']`
|
||||
`openstack['compute']['config']['reserved_host_memory_mb']`
|
||||
* `openstack['compute']['scheduler']['baremetal_default_filters']` A list of filters enabled for baremetal schedulers that support them.
|
||||
|
||||
Keymgr Configuration Attributes
|
||||
-------------------------------
|
||||
|
||||
* `openstack["compute"]["keymgr"]["api_class"] - the full class name of the key manager API class.
|
||||
* `openstack["compute"]["keymgr"]["fixed_key"] - the fixed key returned by key manager, specified in hex (string value).
|
||||
|
||||
Scheduler Configuration Attributes
|
||||
----------------------------------
|
||||
|
||||
* `openstack["compute"]["scheduler"]["scheduler_manager"]` - the scheduler manager to use
|
||||
* `openstack["compute"]["scheduler"]["scheduler_driver"]` - the scheduler driver to use
|
||||
NOTE: The filter scheduler currently does not work with ec2.
|
||||
* `openstack["compute"]["scheduler"]["available_filters"]` - Filter classes available to the scheduler which may be specified more than once.
|
||||
* `openstack["compute"]["scheduler"]["default_filters"]` - a list of filters enabled for schedulers that support them.
|
||||
|
||||
Syslog Configuration Attributes
|
||||
-------------------------------
|
||||
|
||||
* `openstack["compute"]["syslog"]["use"]` - Should nova log to syslog?
|
||||
* `openstack["compute"]["syslog"]["facility"]` - Which facility nova should use when logging in python style (for example, `LOG_LOCAL1`)
|
||||
* `openstack["compute"]["syslog"]["config_facility"]` - Which facility nova should use when logging in rsyslog style (for example, local1)
|
||||
|
||||
OSAPI Compute Extentions
|
||||
------------------------
|
||||
|
||||
* `openstack["compute"]["plugins"]` - Array of osapi compute exntesions to add to nova
|
||||
|
||||
Miscellaneous Options
|
||||
---------------------
|
||||
|
||||
Arrays whose elements will be copied exactly into the respective config files (contents e.g. ['option1=value1', 'option2=value2']).
|
||||
|
||||
* `openstack["compute"]["misc_nova"]` - Array of bare options for `nova.conf`.
|
||||
* `openstack["compute"]["misc_paste"]` - Array of bare options for `api-paste.ini`
|
||||
|
||||
API Configuration Attributes
|
||||
----------------------------
|
||||
|
||||
* `openstack["compute"]["enabled_apis"]` - Which apis have been enabled in nova compute, only for osapi_compute. For metadata, include the api-metadata recipe.
|
||||
|
||||
Notification Attributes
|
||||
-----------------------
|
||||
|
||||
* `openstack["compute"]["metering"]`- Boolean that indicates whether to enable the metering attributes with sensible defaults. Default is false.
|
||||
* `openstack["compute"]["config"]["notification_drivers"]`- An array of drivers to handle sending notifications.
|
||||
* `openstack["compute"]["config"]["instance_usage_audit"]`- Boolean that indicates whether to generate intance usage audits.
|
||||
* `openstack["compute"]["config"]["instance_usage_audit_period"]`- Time period to generate instance usages for. Time period must be "hour", "day", "month" or "year".
|
||||
* `openstack["compute"]["config"]["notify_on_state_change"]`- If set, send compute.instance.update notifications on instance state changes. Valid values are None, "vm_state" or "vm_and_task_state".
|
||||
* `openstack["compute"]["config"]["notification_topics"]`- AMQP topic used for OpenStack notifications.
|
||||
|
||||
When enabling nova metering with ceilometer, the notification configuration
|
||||
properties need to be set to values that are different from the default values
|
||||
used when metering is off. In order to facilitate setting all those
|
||||
notification properties, the cookbook includes the `openstack["compute"]["metering"]`
|
||||
attribute which when set to `true` will automatically set all notification
|
||||
properties to the suggested defaults.
|
||||
|
||||
One of the notification_drivers that is set when metering is on comes from
|
||||
ceilometer. In order for the notification driver to be available, make sure
|
||||
the `os-telemetry-agent-compute` role (or the openstack-telemetry::agent-compute recipe)
|
||||
are set on this node.
|
||||
|
||||
Monitor Attributes
|
||||
-----------------------
|
||||
|
||||
* `openstack["compute"]["config"]["compute_available_monitors"]`- Monitor classes available to the compute.
|
||||
* `openstack["compute"]["config"]["compute_monitors"]`- An array of monitors that can be used for getting compute metrics.
|
||||
|
||||
VMware Configuration Attributes
|
||||
-------------------------------
|
||||
|
||||
* `openstack['compute']['vmware']['secret_name']` - VMware databag secret name
|
||||
* `openstack['compute']['vmware']['host_ip']` - URL for connection to VMware ESX/VC host. (string value)
|
||||
* `openstack['compute']['vmware']['host_username']` - Username for connection to VMware ESX/VC host. (string value)
|
||||
* `openstack['compute']['vmware']['cluster_name']` - Name of a VMware Cluster ComputeResource. Used only if compute_driver is vmwareapi.VMwareVCDriver. (multi valued)
|
||||
* `openstack['compute']['vmware']['datastore_regex']` - Regex to match the name of a datastore. (string value)
|
||||
* `openstack['compute']['vmware']['task_poll_interval']` - The interval used for polling of remote tasks. (floating point value, default 0.5)
|
||||
* `openstack['compute']['vmware']['api_retry_count']` - The number of times we retry on failures, e.g., socket error, etc. (integer value, default 10)
|
||||
* `openstack['compute']['vmware']['vnc_port']` - VNC starting port (integer value, default 5900)
|
||||
* `openstack['compute']['vmware']['vnc_port_total']` - Total number of VNC ports (integer value, default 10000)
|
||||
* `openstack['compute']['vmware']['use_linked_clone']` - Whether to use linked clone (boolean value, default true)
|
||||
* `openstack['compute']['vmware']['vlan_interface']` - Physical ethernet adapter name for vlan networking (string value, default vmnic0)
|
||||
* `openstack['compute']['vmware']['wsdl_location']` - Optional VIM Service WSDL Location, you must specify this location of the WSDL files when you try to connect vSphere vCenter versions 5.0 and earlier.
|
||||
* `openstack['compute']['vmware']['maximum_objects']` - The maximum number of ObjectContent data objects that should be returned in a single result. (integer value, default 100)
|
||||
* `openstack['compute']['vmware']['integration_bridge']` - Name of Integration Bridge (string value, default br-int)
|
||||
|
||||
Upgrade levels Attribute
|
||||
------------------------
|
||||
* `openstack['openstack']['compute']['upgrade_levels']` - The RPC version numbers or release name alias
|
||||
|
||||
Docker configuration Attributes
|
||||
-------------------------------
|
||||
|
||||
* `['openstack']['compute']['docker']['enable']` - Mark this as true to make compute docker type and use nova docker driver as compute driver. Docker computes are supported only in Ubuntu and Rhel
|
||||
* `['openstack']['compute']['docker']['driver']` - The nova docker driver that will be configured in a docker type compute
|
||||
* `['openstack']['compute']['platform']['docker_build_pkgs']` - Additoinal packages required for nova docker driver build and installation from git source
|
||||
* `['openstack']['compute']['docker']['pip_build_pkgs']` - Additional python packages required for nova docker driver build and installation from git source
|
||||
* `['openstack']['compute']['docker']['github']['repository']` - github repository from which nova-docker source will be downloaded
|
||||
* `['openstack']['compute']['docker']['github']['branch']` - github branch from which nova-docker source will be downloaded. Default is master
|
||||
* `['openstack']['compute']['docker']['filter_source_path']` - Relative path to docker filter files in nova-docker source which will be cloned from git repo
|
||||
* `['openstack']['compute']['docker']['service_sock']` - Path to docker service sock file
|
||||
* `['openstack']['compute']['docker']['service_sock_mode']` - Permission level to be assigned to docker sock file
|
||||
* `['openstack']['compute']['docker']['group']` - Docker group which will be created and added with openstack compute user
|
||||
|
||||
The following attributes are defined in attributes/default.rb of the common cookbook, but are documented here due to their relevance:
|
||||
|
||||
* `openstack['endpoints']['compute-compute api-bind']['host']` - The IP address to bind the compute api service to
|
||||
* `openstack['endpoints']['compute-compute api-bind']['port']` - The port to bind the compute api service to
|
||||
* `openstack['endpoints']['compute-compute api-bind']['bind_interface']` - The interface name to bind the compute api service to
|
||||
|
||||
* `openstack['endpoints']['compute-xvpvnc-bind']['host']` - The IP address to bind the xvpvnc service to
|
||||
* `openstack['endpoints']['compute-xvpvnc-bind']['port']` - The port to bind the xvpvnc service to
|
||||
* `openstack['endpoints']['compute-xvpvnc-bind']['bind_interface']` - The interface name to bind the xvpvnc service to
|
||||
|
||||
* `openstack['endpoints']['compute-novnc-bind']['host']` - The IP address to bind the novnc service to
|
||||
* `openstack['endpoints']['compute-novnc-bind']['port']` - The port to bind the novnc service to
|
||||
* `openstack['endpoints']['compute-novnc-bind']['bind_interface']` - The interface name to bind the novnc service to
|
||||
|
||||
* `openstack['endpoints']['compute-vnc-bind']['host']` - The IP address to bind the vnc service to
|
||||
* `openstack['endpoints']['compute-vnc-bind']['bind_interface']` - The interface name to bind the vnc service to
|
||||
|
||||
* `openstack['endpoints']['compute-vnc-proxy-bind']['host']` - The IP address to bind the vnc proxy service to
|
||||
* `openstack['endpoints']['compute-vnc-proxy-bind']['bind_interface']` - The interface name to bind the vnc proxy service to
|
||||
|
||||
If the value of the 'bind_interface' attribute is non-nil, then the service will be bound to the first IP address on that interface. If the value of the 'bind_interface' attribute is nil, then the service will be bound to the IP address specified in the host attribute.
|
||||
|
||||
Testing
|
||||
=====
|
||||
|
||||
Please refer to the [TESTING.md](TESTING.md) for instructions for testing the cookbook.
|
||||
|
||||
Berkshelf
|
||||
=====
|
||||
|
||||
Berks will resolve version requirements and dependencies on first run and
|
||||
store these in Berksfile.lock. If new cookbooks become available you can run
|
||||
`berks update` to update the references in Berksfile.lock. Berksfile.lock will
|
||||
be included in stable branches to provide a known good set of dependencies.
|
||||
Berksfile.lock will not be included in development branches to encourage
|
||||
development against the latest cookbooks.
|
||||
|
||||
License and Author
|
||||
==================
|
||||
|
@ -463,6 +123,8 @@ License and Author
|
|||
| **Author** | Mark Vanderwiel (<vanderwl@us.ibm.com>) |
|
||||
| **Author** | Eric Zhou (<zyouzhou@cn.ibm.com>) |
|
||||
| **Author** | Mathew Odden (<mrodden@us.ibm.com>) |
|
||||
| **Author** | Jan Klare (<j.klare@cloudbau.de>) |
|
||||
| **Author** | Christoph Albers (<c.albers@x-ion.de>) |
|
||||
| | |
|
||||
| **Copyright** | Copyright (c) 2012-2013, Rackspace US, Inc. |
|
||||
| **Copyright** | Copyright (c) 2012-2013, Opscode, Inc. |
|
||||
|
|
17
metadata.rb
17
metadata.rb
|
@ -6,22 +6,6 @@ description 'The OpenStack Compute service Nova.'
|
|||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
||||
version '13.0.0'
|
||||
|
||||
recipe 'openstack-compute::api-metadata', 'Installs the nova metadata package'
|
||||
recipe 'openstack-compute::api-os-compute', 'Installs OS API'
|
||||
recipe 'openstack-compute::client', 'Install nova client packages'
|
||||
recipe 'openstack-compute::compute', 'nova-compute service'
|
||||
recipe 'openstack-compute::conductor', 'Installs nova conductor service'
|
||||
recipe 'openstack-compute::libvirt', 'Installs libvirt, used by nova compute for management of the virtual machine environment'
|
||||
recipe 'openstack-compute::libvirt_rbd', 'Manages the RBD portions of libvirt. Included by openstack-compute::libvirt'
|
||||
recipe 'openstack-compute::identity_registration', 'Registers the API endpoints with Keystone'
|
||||
recipe 'openstack-compute::network', 'Installs nova network service'
|
||||
recipe 'openstack-compute::nova-cert', 'Installs nova-cert service'
|
||||
recipe 'openstack-compute::nova-common', 'Builds the basic nova.conf config file with details of the rabbitmq, mysql, glance and keystone servers'
|
||||
recipe 'openstack-compute::nova-setup', 'Sets up the nova database on the mysql server, including the initial schema and subsequent creation of the appropriate networks'
|
||||
recipe 'openstack-compute::scheduler', 'Installs nova scheduler service'
|
||||
recipe 'openstack-compute::vncproxy', 'Installs and configures the vncproxy service for console access to VMs'
|
||||
recipe 'openstack-compute::serialproxy', 'Installs and configures the serialproxy service for serial console access to VMs'
|
||||
|
||||
%w(ubuntu redhat centos).each do |os|
|
||||
supports os
|
||||
end
|
||||
|
@ -31,5 +15,4 @@ depends 'openstack-common', '>= 13.0.0'
|
|||
depends 'openstack-identity', '>= 13.0.0'
|
||||
depends 'openstack-image', '>= 13.0.0'
|
||||
depends 'openstack-network', '>= 13.0.0'
|
||||
depends 'selinux', '~> 0.9.0'
|
||||
depends 'python', '~> 1.4.6'
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
# encoding: UTF-8
|
||||
#
|
||||
# Cookbook Name:: openstack-compute
|
||||
# Recipe:: default
|
||||
#
|
||||
# Copyright 2012, Opscode, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
Loading…
Reference in New Issue