Tashi: Your Faithful Cluster Manager
Apache Tashi

Configuration Options for Tashi

Option Default Description
[ClusterManager]
service tashi.clustermanager.ClusteManagerService This specifies the class name of the cluster manager service
data tashi.clustermanager.data.GetentOverride This specifies the class name for the data backend. Available options are: GetentOverride, LdapOverride, Pickled, FromConfig, and SQL (all in tashi.clustermanager.data)
dfs tashi.dfs.Vfs This specifies the class name of the DFS implementation used at the cluster manager
publisher tashi.messaging.GangliaPublisher This specifies the class name of the publisher used at the cluster manager
nodeManagerPort 9883 This specifies what port number to try to connect to Node Managers on
[ClusterManagerService]
convertExceptions True Whether exceptions raised in ClusterManagerService should be converted to generic exceptions and passed along to the client
port 9882 What port to listen on for client requests
expireHostTime 30.0 The amount of time (in seconds) to let pass before considering a host down if the cluster manager has not heard from it
allowDecayed 30.0 The amount of time to let an instance or a host be decayed before attempting to sync
allowMismatchedVersions False Whether to allow Node Managers that have different software versions to join the cluster
maxMemory 7680 The maximum amount of memory any user can request for a VM
maxCores 8 The maximum number of cores any user can request for a VM
allowDuplicateNames False Whether VMs are allowed to have duplicate names
[Accounting]
publisher tashi.messaging.GangliaPublisher This specifies the class name of the publisher used at the accounting server
[GetentOverride]
baseData tashi.clustermanager.data.Pickled The backend data class to use for data not related to users
fetchThreshold 60.0 The minimum amount of time to wait between calling "getent"
[LdapOverride]
baseData tashi.clustermanager.data.Pickled The backend data class to use for data not related to users
fetchThreshold 3600.0 The minimum amount of time to wait between issuing LDAP queries
nameKey sAMAccountName The variable name that represents usernames in the LDAP results
idKey msSFU30UidNumber The variable name that represents user ids in the LDAP results
ldapCommand ldapsearch -x -w password -h host -b searchbase -D binddn msSFU30LoginShell=* -z 0 The ldap command to run to perform lookups
[FromConfig]
hostn Host(d={'id':1,'name':'blade043'}) Specifies a host object to be created
networkn Network(d={'id':1,'name':'global'}) Specifies a network object to be created
usern User(d={'id':1,'name':'mryan3'}) Specifies a user object to be created
[Pickled]
file /var/tmp/cm.dat The file to use to store pickled data for the cluster manager
[SQL]
uri mysql://root@localhost/tashi The URI that describes what SQL backend to use -- examples include sqlite://filename and mysql://user@host/dbname
password changeme The password to use when connecting to a MySQL database
[NodeManager]
dfs tashi.dfs.Vfs This specifies the class name of the DFS implementation used at the node manager
vmm tashi.nodemanager.vmcontrol.Qemu This specifies the class name of the VMM backend used at the node manager
service tashi.nodemanager.NodeManagerService This specifies the class name of the node manager service
publisher tashi.messaging.GangliaPublisher This specifies the class name of the publisher used at the node manager
[NodeManagerService]
convertExceptions True Whether exceptions raised in NodeManagerService should be converted to generic exceptions and passed along to the client
port 9883 What port to listen on for client requests
registerHost False Should the nodemanager auto-register the host with the cluster manager?
registerFrequency 10.0 How many seconds should the node manager wait between registering with the cluster manager?
clusterManagerHost localhost What host to connect to in order to find the cluster manager
clusterManagerPort 9882 What port to connect to the cluster manager on
statsInterval 0 How often should the node manager output per-VM statistics using the publisher
[Qemu]
qemuBin /usr/bin/kvm The location of the Qemu/Kqemu/KVM binary to be used
infoDir /var/tmp/VmControlQemu/ A location into which the Qemu backend places per-VM control information
statsInterval 0 How often should per-VM statistics be collected
scratchDir /tmp Location where Qemu snapshot disk images can be placed
scratchVg None Volume group where host-local logical volumes can be allocated
reservedMem 512 Memory to reserve for the host (in megabytes)
pollDelay 1 How often to check and see if a VM has exited
migrationRetries 10 How many retries are allowed on failed migrations
monitorTimeout 60 How long to wait before timing out on monitor command execution
migrateTimeout 300 How long to wait before timing out a live migration
maxParallelMigrations 10 How many parallel live migrations are allowed
useMigrateArgument False (DEPRECATED) An option to allow the use of "migrate=True" as an argument to KVM -- requires a patch to KVM
suspendHandler gzip Machine state being saved will be piped through this program
resumeHandler zcat Machine state being loaded will be piped through this program
[XenPV]
vmNamePrefix tashi The name prefix to use when dealing with Xen domains?
transientdir /tmp A place to put transient deltas of disk images
defaultVmType kernel This specifies the type and kernel loading mechanism for the VM -- options are "pvgrub", "pygrub", "kernel", and "hvm"
defaultKernel /boot/vmlinuz-xen If the VmType is "kernel", this is the kernel to load for use in the guest
defaultRamdisk /boot/initrd-xen If the VmType is "kernel", this is the initrd to load for use in the guest
defaultDiskType qcow Default disk image format, e.g. qcow, vhd
defaultBridgeFormat br%s Format string to combine with a network ID to obtain a bridge name
[Vfs]
prefix /dfs A location into which all DFS access is directed -- this is usually a mount point to common storage
[LocalityService]
host localityserver The hostname clients use to find the locality server
port 9884 The port to listen on for requests
staticLayout /location/of/layout/file The location of a layout specification file
[Client]
clusterManagerHost localhost The hostname to use to find the cluster manager
clusterManagerPort 9882 The port to use when communicating with the cluster manager
clusterManagerTimeout 5.0 The number of seconds to wait before assuming an operation has timed out
[Primitive]
hookn tashi.agents.DhcpDns This allows the specification of an ordered list of agent hooks that perform actions when VMs are started and stopped
scheduleDelay 2.0 How long to delay between scheduling cycles
densePack False Should VMs be densely packed across hosts
publisher tashi.messaging.GangliaPublisher The publisher to use for the scheduling agent
[DhcpDns]
dnsKeyFile /location/of/private/key/for/dns The location of the private key file for DNS updates
dnsServer 1.2.3.4 53 The server to connect to to perform DNS updates
dnsDomain your.domain.com The domain in which VM hostnames are inserted
dnsExpire 31536000 How long are entries cacheable
dhcpServer 1.2.3.4 The server with to which DHCP updates are sent
dhcpKeyName OMAPI The name of the DHCP key being used
dhcpSecretKey ABcdEf12GhIJKLmnOpQrsT== The DHCP secret key
ipRangen 172.16.128.2-172.16.255.254 For network n, this specifies the IP range to be used for allocations
reverseDns True Should reverse DNS entries be inserted and removed
[GangliaPublisher]
dmax 60 The amount of time that published messages are held on to before discarding
retry 3600 How often, in seconds, to retry executing gmetric to see if it has been installed

Disclaimer

Apache Tashi is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.