summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiku Voipio <riku.voipio@linaro.org>2014-05-10 22:51:16 +0300
committerRiku Voipio <riku.voipio@linaro.org>2014-05-10 22:51:16 +0300
commitecabc3da227171cd073f7c61c24368435b504275 (patch)
tree02b7d0d0438bc4f8d8d649ef2daaae3155e5120e
downloadnova-ecabc3da227171cd073f7c61c24368435b504275.tar.gz
initial revision
-rw-r--r--debian/README.xcp_and_openstack243
-rw-r--r--debian/changelog5
-rw-r--r--debian/compat1
-rw-r--r--debian/control692
-rw-r--r--debian/copyright77
-rw-r--r--debian/debian_control_vars1
-rw-r--r--debian/gbp.conf8
-rw-r--r--debian/nova-api-ec2.upstart.in18
-rw-r--r--debian/nova-api-metadata.upstart.in18
-rw-r--r--debian/nova-api-os-compute.manpages1
-rw-r--r--debian/nova-api-os-compute.upstart.in18
-rw-r--r--debian/nova-api.config.in11
-rw-r--r--debian/nova-api.init100
-rw-r--r--debian/nova-api.install2
-rw-r--r--debian/nova-api.logrotate13
-rw-r--r--debian/nova-api.manpages1
-rw-r--r--debian/nova-api.postinst.in21
-rw-r--r--debian/nova-api.postrm10
-rw-r--r--debian/nova-api.templates40
-rw-r--r--debian/nova-api.upstart.in18
-rw-r--r--debian/nova-baremetal.init100
-rw-r--r--debian/nova-baremetal.install2
-rw-r--r--debian/nova-baremetal.logrotate14
-rw-r--r--debian/nova-baremetal.upstart.in18
-rw-r--r--debian/nova-cells.init100
-rw-r--r--debian/nova-cells.install1
-rw-r--r--debian/nova-cells.logrotate14
-rw-r--r--debian/nova-cells.upstart.in17
-rw-r--r--debian/nova-cert.init100
-rw-r--r--debian/nova-cert.install1
-rw-r--r--debian/nova-cert.logrotate14
-rw-r--r--debian/nova-cert.manpages1
-rw-r--r--debian/nova-cert.postrm10
-rw-r--r--debian/nova-cert.upstart.in18
-rw-r--r--debian/nova-common.config.in64
-rw-r--r--debian/nova-common.dirs14
-rw-r--r--debian/nova-common.install8
-rw-r--r--debian/nova-common.manpages2
-rw-r--r--debian/nova-common.postinst.in105
-rw-r--r--debian/nova-common.postrm35
-rw-r--r--debian/nova-common.prerm16
-rw-r--r--debian/nova-common.sudoers1
-rw-r--r--debian/nova-common.templates117
-rw-r--r--debian/nova-compute-baremetal.conf6
-rw-r--r--debian/nova-compute-kvm.conf7
-rw-r--r--debian/nova-compute-kvm.postinst13
-rw-r--r--debian/nova-compute-lxc.conf4
-rw-r--r--debian/nova-compute-lxc.postinst13
-rw-r--r--debian/nova-compute-qemu.conf4
-rw-r--r--debian/nova-compute-qemu.postinst13
-rw-r--r--debian/nova-compute-uml.conf4
-rw-r--r--debian/nova-compute-uml.postinst13
-rw-r--r--debian/nova-compute-xen.conf.dist2
-rw-r--r--debian/nova-compute-xen.config32
-rw-r--r--debian/nova-compute-xen.postinst.in39
-rw-r--r--debian/nova-compute-xen.postrm9
-rw-r--r--debian/nova-compute-xen.templates37
-rw-r--r--debian/nova-compute.dirs1
-rw-r--r--debian/nova-compute.init103
-rw-r--r--debian/nova-compute.install2
-rw-r--r--debian/nova-compute.logrotate14
-rw-r--r--debian/nova-compute.manpages1
-rw-r--r--debian/nova-compute.postrm9
-rw-r--r--debian/nova-compute.upstart.in20
-rw-r--r--debian/nova-conductor.init101
-rw-r--r--debian/nova-conductor.install1
-rw-r--r--debian/nova-conductor.logrotate14
-rw-r--r--debian/nova-conductor.manpages1
-rw-r--r--debian/nova-conductor.upstart.in26
-rw-r--r--debian/nova-console.init100
-rw-r--r--debian/nova-console.install1
-rw-r--r--debian/nova-console.logrotate15
-rw-r--r--debian/nova-console.manpages1
-rw-r--r--debian/nova-console.postrm10
-rw-r--r--debian/nova-console.upstart.in19
-rw-r--r--debian/nova-consoleauth.init100
-rw-r--r--debian/nova-consoleauth.install1
-rw-r--r--debian/nova-consoleauth.logrotate14
-rw-r--r--debian/nova-consoleauth.manpages1
-rw-r--r--debian/nova-consoleauth.upstart.in19
-rw-r--r--debian/nova-consoleproxy.config21
-rw-r--r--debian/nova-consoleproxy.install3
-rw-r--r--debian/nova-consoleproxy.logrotate16
-rw-r--r--debian/nova-consoleproxy.manpages2
-rw-r--r--debian/nova-consoleproxy.mydefault7
-rw-r--r--debian/nova-consoleproxy.nova-novncproxy.init108
-rw-r--r--debian/nova-consoleproxy.nova-novncproxy.upstart.in25
-rw-r--r--debian/nova-consoleproxy.nova-spicehtml5proxy.init107
-rw-r--r--debian/nova-consoleproxy.nova-spicehtml5proxy.upstart.in25
-rw-r--r--debian/nova-consoleproxy.nova-xenvncproxy.init106
-rw-r--r--debian/nova-consoleproxy.postinst27
-rw-r--r--debian/nova-consoleproxy.postrm11
-rw-r--r--debian/nova-consoleproxy.templates12
-rw-r--r--debian/nova-doc.doc-base9
-rw-r--r--debian/nova-network.dirs1
-rw-r--r--debian/nova-network.init100
-rw-r--r--debian/nova-network.install3
-rw-r--r--debian/nova-network.logrotate15
-rw-r--r--debian/nova-network.manpages2
-rw-r--r--debian/nova-network.postrm10
-rw-r--r--debian/nova-network.upstart.in25
-rw-r--r--debian/nova-scheduler.init100
-rw-r--r--debian/nova-scheduler.install2
-rw-r--r--debian/nova-scheduler.logrotate14
-rw-r--r--debian/nova-scheduler.manpages2
-rw-r--r--debian/nova-scheduler.postrm10
-rw-r--r--debian/nova-scheduler.upstart.in26
-rw-r--r--debian/nova-xcp-plugins.docs1
-rw-r--r--debian/nova-xcp-plugins.init169
-rw-r--r--debian/nova-xcp-plugins.install13
-rw-r--r--debian/nova-xcp-plugins.postrm11
-rw-r--r--debian/nova.conf597
-rw-r--r--debian/nova.conf.example3698
-rw-r--r--debian/nova_tgt1
-rw-r--r--debian/po/POTFILES.in4
-rw-r--r--debian/po/cs.po506
-rw-r--r--debian/po/da.po467
-rw-r--r--debian/po/de.po10473
-rw-r--r--debian/po/es.po546
-rw-r--r--debian/po/fr.po510
-rw-r--r--debian/po/gl.po423
-rw-r--r--debian/po/it.po508
-rw-r--r--debian/po/ja.po499
-rw-r--r--debian/po/nl.po425
-rw-r--r--debian/po/pl.po455
-rw-r--r--debian/po/pt.po516
-rw-r--r--debian/po/pt_BR.po458
-rw-r--r--debian/po/ru.po490
-rw-r--r--debian/po/sk.po455
-rw-r--r--debian/po/sv.po499
-rw-r--r--debian/po/templates.pot402
-rw-r--r--debian/po/zh_CN.po435
-rw-r--r--debian/pydist-overrides1
-rw-r--r--debian/python-nova.install3
-rw-r--r--debian/python-nova.pyremove3
-rwxr-xr-xdebian/rules108
-rw-r--r--debian/source_nova.py34
-rw-r--r--debian/ubuntu_control_vars0
-rw-r--r--debian/watch2
-rw-r--r--debian/xen-openvswitch-nova.rules1
-rwxr-xr-xnova-pkg.sh28
-rw-r--r--nova-template5
142 files changed, 26375 insertions, 0 deletions
diff --git a/debian/README.xcp_and_openstack b/debian/README.xcp_and_openstack
new file mode 100644
index 0000000..7a9bc66
--- /dev/null
+++ b/debian/README.xcp_and_openstack
@@ -0,0 +1,243 @@
+This file intends to be a quick howto on how to setup openstack together with
+XCP. This should also apply to the commercial version of XCP: XenServer, but
+this hasn't been tested by the author of this file.
+
+1/ Setting-up XCP
+-----------------
+Please follow the XCP README.Debian howto. Make sure that you can create,
+boot, shutdown and destroy virtual machines using the xe command line.
+
+2/ Setting-up a domU to install openstack on it
+-----------------------------------------------
+Best way to setup Openstack with XCP is to set it up in a XCP domU. Again,
+follow the XCP README.debian located in /usr/share/doc/xcp-xapi once you have
+installed the XenAPI package (eg: apt-get install xcp-xapi).
+
+About 1GB of RAM should be enough for your first Openstack domU.
+
+With nova-compute-kvm, you would install nova-compute on each physical server.
+Not with nova-compute-xen. Here, you need only one instance of nova-compute,
+which will "talk" to XenAPI. XCP will then manage pooling of servers and
+storage.
+
+3/ Preparing the server
+-----------------------
+You may want to lower the debconf priority to have all questions prompted to
+you when you install software:
+
+dpkg-reconfigure debconf
+
+Then make sure you select priority medium (by default on Debian systems, the
+priority is set to high, asking you less things).
+
+Because you're on a server environment, it's better not to install the
+packages that are in the Recommends: of each package:
+
+echo "APT { Install-Recommends \"false\"; }" >/etc/apt/apt.conf.d/20norecommends
+
+You might also want to receive mail for root, so installing postfix might be
+a good idea:
+
+apt-get install postfix
+
+then make sure that /etc/aliases has something like this (not needed if you
+have changed the debconf priority to medium):
+
+root: your-email@example.com
+
+and run "newaliases".
+
+You can check if sending mail to root forwards to your email address by
+installing the bsd-mailx package, watching the /var/log/mail.log and using the
+below command:
+
+Mailx root
+
+4/ Getting all needed packages installed on your server
+-------------------------------------------------------
+You will need to install all nova packages, plus a bit more:
+apt-get install nova-network nova-compute-xen nova-compute nova-api \
+ nova-scheduler nova-console glance-api glance-registry python-glance glance \
+ keystone python-keystoneclient mysql-server rabbitmq-server dnsmasq \
+ python-software-properties python-mysqldb
+
+python-mysqldb is only needed if you wish to use MySQL as SQL server (eg:
+you could also use postgres if you like, in which case... I don't know!).
+
+5. Setting-up the MySQL server and the nova and glance dbs
+----------------------------------------------------------
+5.1 MySQL root password
+- - - - - - - - - - - -
+Make sure you have changed the default root password for mysql-server. If
+needed, do dpkg-reconfigure mysql-server-5.1 to set the password after the
+MySQL server is installed.
+
+5.2 Listening on all IPs
+- - - - - - - - - - - -
+If you wish to setup nova components using a remote MySQL server (eg not on the
+domU where nova will run), then you should set your MySQL server to listen on
+the network. To do so, configure /etc/mysql/my.cnf so that it listen not just
+on 127.0.0.1 (which is the default in Debian):
+sed -i "s/127.0.0.1/0.0.0.0/" /etc/mysql/my.cnf
+
+Then restart MySQL:
+invoke-rc.d mysql start
+
+5.3 Setting-up glance and nova dbs
+- - - - - - - - - - - - - - - - -
+Create the nova and glance dbs:
+
+mysql --defaults-file=/etc/mysql/debian.cnf -e \
+ "CREATE DATABASE nova; CREATE DATABASE glance;"
+
+then create the nova and glance users, give them passwords,
+and access to their respective databases:
+
+mysql --defaults-file=/etc/mysql/debian.cnf -e \
+ "CREATE USER 'nova'@'localhost' IDENTIFIED BY 'change-this-pass';"
+mysql --defaults-file=/etc/mysql/debian.cnf -e \
+ "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' WITH GRANT OPTION;"
+mysql --defaults-file=/etc/mysql/debian.cnf -e \
+ "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' WITH GRANT OPTION;"
+
+mysql --defaults-file=/etc/mysql/debian.cnf -e \
+ "CREATE USER 'glance'@'localhost' IDENTIFIED BY 'change-this-pass';"
+mysql --defaults-file=/etc/mysql/debian.cnf -e \
+ "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' WITH GRANT OPTION;
+mysql --defaults-file=/etc/mysql/debian.cnf -e \
+ "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' WITH GRANT OPTION;
+
+The above lines with "localhost" are to grant access only on the local network,
+the one with % for everything else (take your pick).
+
+6/ Configuring Openstack
+------------------------
+6.1 Configuration file for nova
+- - - - - - - - - - - - - - - -
+In /etc/nova/nova.conf, you will need a configuration file
+looking like this one:
+
+--sql_connection=mysql://nova:change-this-pass@127.0.0.1/nova
+--rabbit_host=127.0.0.1
+--network_manager=nova.network.manager.FlatManager
+--flat_network_bridge=xenbr0
+--connection_type=xenapi
+--xenapi_connection_url=https://<ip-of-your-xcp-dom0>
+--xenapi_connection_username=root
+--xenapi_connection_password=XXXXXXXXXXXX
+--reboot_timeout=600
+--rescue_timeout=86400
+--resize_confirm_window=86400
+--allow_admin_api
+--allow_resize_to_same_host
+--logdir=/var/log/nova
+--state_path=/var/lib/nova
+--lock_path=/var/lock/nova
+--force_dhcp_release
+--use_deprecated_auth
+--use_project_ca
+--verbose
+
+If you decide to install rabbitmq or MySQL on another server, of course, you
+should set the matching IP address above.
+
+Options for --network_manager are:
+nova.network.manager.FlatManager
+nova.network.manager.FlatDHCPManager
+nova.network.manager.VlanManager
+
+VLAN networking with DHCP (the 3rd one above) is the Default if no network
+manager is defined in nova.conf. In this mode, each projects will have its
+virtual machines isolated in a VLAN. If you don't know, just choose that one.
+
+6.2 Getting the dbs in sync with the latest nova and glance
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+Make sure all tables and SQL schema are up-to-date with what Nova and
+glance are using:
+
+nova-manage db sync
+glance-manage db_sync
+
+Then restart all nova daemons.
+
+7/ Install the XCP nova plugin on the XCP dom0
+----------------------------------------------
+XCP has a plugin architecture, and nova implements it. So you need to install
+the nova plugin for XCP in your dom0 running XenAPI:
+apt-get install nova-xcp-pluggins
+
+XCP is supposed to report a PRODUCT_VERSION, but as of now, this isn't yet
+ready. So for the moment, you need to do:
+
+echo 6.0.0 >/etc/xcp/xapi_version_override
+
+and then restart xcp-xapi. (Do not worry too much about this.)
+
+8/ Restarting daemons
+---------------------
+Restart nova-compute, nova-api, nova-scheduler, nova-objectstore and
+nova-network and check that they really are started, then check the
+logs files in /var/log/nova to make sure no daemon crashed and did a
+python stack dump.
+
+Particularly, you should be seeing nova-compute polling XCP every X seconds
+and ouput something like this:
+
+<date> nova...vm_utils [uuid] (VM_UTILS) xenserver vm state -> |Halted|
+<date> nova...vm_utils [uuid] (VM_UTILS) xenapi power_state -> |4|
+<date> nova...vm_utils [uuid] (VM_UTILS) xenserver vm state -> |Running|
+<date> nova...vm_utils [uuid] (VM_UTILS) xenapi power_state -> |1|
+
+Note: I have reformated the log output (removed some of it) so that the log
+line can fit on 80 cols of this text file. This should match more or less what
+you see on the dom0 when you do "xe vm-list".
+
+That's it, you have a working nova installation! Now, let's play with our new
+cloud computing infrastructure by creating projects, users and VMs.
+
+9/ Create a nova user and project
+---------------------------------
+In Nova, each user owns projects, and in each projects, you can start virtual
+machines. So we need to first create a user, attach a project to it, and
+finally assign a private network to it. Everything is done using the
+nova-manage userland tool, where you've installed nova. The syntax is like
+this:
+nova-manage user create <user_name>
+nova-manage project create <project_name> <user_name>
+nova-manage network create <project-network> <num-of-networks-in-proj> \
+ <addresses-in-each-network>
+
+So, let's say I want to have a user "zigo" with project name "proj1",
+and a simple private network, it goes like this:
+
+nova-manage user create zigo
+nova-manage project create proj1 zigo
+nova-manage network create 192.168.0.0/24 1 256
+
+When you create the new user, you will see the EC2 keys printed on the
+screen. You don't need to write them down though, we will later on fetch all
+of these in a convenient .zip file:
+
+nova-manage project zipfile proj1 zigo
+
+This will save a nova.zip file for the proj1 of zigo. Unzip that file with:
+unzip nova.zip
+
+This will extract the below files:
+cacert.pem cert.pem novarc pk.pem
+
+novarc contains all the script variables needed for you to remote control nova
+as a user. The above .pem files contain the keys that are referenced by the
+novarc. Then everything is done with the "nova" command if you want to use the
+native "nova-client", or with euca-* if you wish to use the EC2 API (the novarc
+define variables for both).
+
+10/ Upload a VM image and start the VM to check everything is working
+
+
+
+6/ Generate the Openstack CA
+
+<FIX ME: insert here how to do that>
+
+ -- Thomas Goirand <zigo@debian.org> Wed, 28 Dec 2011 12:19:41 +0000
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..06c1661
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+nova (2014.1-4) unstable; urgency=medium
+
+ * Test if /sbin/route is present before using it (Closes: #737052).
+
+ -- Thomas Goirand <zigo@debian.org> Sun, 04 May 2014 00:31:54 +0800
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..9468531
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,692 @@
+Source: nova
+Section: net
+Priority: extra
+Maintainer: PKG OpenStack <openstack-devel@lists.alioth.debian.org>
+Uploaders: Julien Danjou <acid@debian.org>,
+ Thomas Goirand <zigo@debian.org>,
+ Mehdi Abaakouk <sileht@sileht.net>,
+ Gonéri Le bouder <goneri@debian.org>,
+ gustavo panizzo <gfa@zumbi.com.ar>
+Build-Depends: debhelper (>= 9),
+ openstack-pkg-tools (>= 9~),
+ po-debconf,
+ python-all (>= 2.6.6-3~),
+ python-pbr (>= 0.6),
+ python-setuptools
+Build-Depends-Indep: bpython,
+ euca2ools,
+ ipython,
+ libvirt-bin,
+ openssh-client,
+ procps,
+ pylint,
+ python-amqplib,
+ python-anyjson (>= 0.3.3),
+ python-babel (>= 1.3),
+ python-boto (>= 2.12.0),
+ python-cinderclient (>= 1:1.0.6),
+ python-coverage (>= 3.6),
+ python-eventlet (>= 0.13.0),
+ python-feedparser,
+ python-fixtures (>= 0.3.14),
+ python-glanceclient (>= 1:0.10.0),
+ python-greenlet (>= 0.3.2),
+ python-hacking (>= 0.8.0),
+ python-iso8601 (>= 0.1.9),
+ python-jinja2,
+ python-jsonschema (>= 2.0.0),
+ python-keystoneclient (>= 1:0.7.0),
+ python-kombu (>= 2.5.12),
+ python-lockfile,
+ python-lxml,
+ python-memcache,
+ python-migrate (>= 0.8.2),
+ python-mock (>= 1.0),
+ python-mox,
+ python-mysqldb,
+ python-netaddr (>= 0.7.6),
+ python-neutronclient (>= 2.3.4),
+ python-novaclient (>= 1:2.9.0),
+ python-oslo.config (>= 1:1.2.1),
+ python-oslo.messaging (>= 1.3.0~a9),
+ python-oslo.rootwrap,
+ python-oslosphinx,
+ python-paramiko (>= 1.9.0),
+ python-paste,
+ python-pastedeploy,
+ python-psycopg2,
+ python-pyasn1,
+ python-pycadf (>= 0.4.1),
+ python-qpid,
+ python-requests (>= 1.1),
+ python-routes,
+ python-setuptools-git,
+ python-simplejson,
+ python-six (>= 1.5.2),
+ python-sphinx (>> 1.0),
+ python-sqlalchemy (>= 0.7.8),
+ python-stevedore (>= 0.14),
+ python-subunit (>= 0.0.18),
+ python-suds (>= 0.4.0),
+ python-testrepository (>= 0.0.14),
+ python-testtools (>= 0.9.34),
+ python-webob (>= 1.2.3),
+ python-xattr,
+ python-zmq,
+ subunit (>= 0.0.18),
+ sqlite3,
+ testrepository (>= 0.0.18),
+ websockify (>= 0.5.1)
+# python-xenapi,
+Build-Conflicts: python-cjson
+Standards-Version: 3.9.5
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=openstack/nova.git;a=summary
+Vcs-Git: git://anonscm.debian.org/openstack/nova.git
+Homepage: http://www.openstack.org/software/openstack-compute/
+
+Package: python-nova
+Architecture: all
+Section: python
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: openssh-client,
+ openssl,
+ python-amqplib,
+ python-anyjson (>= 0.3.3),
+ python-argparse,
+ python-babel (>= 1.3),
+ python-boto (>= 2.12.0),
+ python-cinderclient (>= 1:1.0.6),
+ python-daemon,
+ python-eventlet (>= 0.13.0),
+ python-feedparser,
+ python-glanceclient (>= 1:0.10.0),
+ python-greenlet (>= 0.3.2),
+ python-iso8601 (>= 0.1.9),
+ python-jinja2,
+ python-jsonschema (>= 2.0.0),
+ python-keystoneclient (>= 1:0.7.0),
+ python-kombu (>= 2.5.12),
+ python-libxml2,
+ python-lockfile,
+ python-lxml,
+ python-memcache,
+ python-migrate (>= 0.8.2),
+ python-mysqldb,
+ python-netaddr (>= 0.7.6),
+ python-neutronclient (>= 2.3.4),
+ python-novaclient (>= 1:2.9.0),
+ python-oslo.config (>= 1:1.2.1),
+ python-oslo.messaging (>= 1.3.0~a9),
+ python-oslo.rootwrap,
+ python-paramiko (>= 1.9.0),
+ python-paste,
+ python-pastedeploy,
+ python-pbr (>= 0.6),
+ python-pyasn1,
+ python-pycadf (>= 0.4.1),
+ python-pycurl,
+ python-pyparsing (>= 1.5.7),
+ python-requests (>= 1.1),
+ python-routes,
+ python-simplejson,
+ python-six (>= 1.5.2),
+ python-stevedore (>= 0.14),
+ python-sqlalchemy (>= 0.7.8),
+ python-subunit,
+ python-suds,
+ python-support,
+ python-tempita,
+ python-testrepository,
+ python-webob (>= 1.2.3),
+ python-xattr,
+ sudo,
+ websockify (>= 0.5.1),
+ ${misc:Depends},
+ ${python:Depends}
+Suggests: python-suds (>= 0.4.0)
+Conflicts: python-cjson
+Description: OpenStack Compute - libraries
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This package contains the core Python parts of Nova.
+
+Package: nova-common
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: adduser,
+ dbconfig-common,
+ iproute2 | iproute,
+ python-amqplib,
+ python-configobj,
+ python-iso8601,
+ python-nova (= ${binary:Version}),
+ sqlite3,
+ ${misc:Depends},
+ ${python:Depends}
+Suggests: python-pysqlite2 | python-mysqldb | python-pygresql
+Description: OpenStack Compute - common files
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This package contains elements that are needed by all parts of Nova.
+
+Package: nova-compute
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: adduser,
+ curl,
+ ebtables,
+ gawk,
+ iptables,
+ kpartx,
+ nova-common (= ${binary:Version}),
+ nova-compute-kvm | nova-compute-hypervisor,
+ open-iscsi,
+ parted,
+ python-cinderclient,
+ qemu-utils,
+ vlan,
+ ${misc:Depends},
+ ${ostack-lsb-base},
+ ${python:Depends}
+Replaces: python-nova (<< 2012.1~rc1-1)
+Breaks: python-nova (<< 2012.1~rc1-1)
+Description: OpenStack Compute - compute node
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This package equips a system to function as a compute node, running the
+ virtual machines.
+
+Package: nova-compute-lxc
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: adduser,
+ dpkg-dev,
+ libvirt-bin,
+ nova-common,
+ nova-compute,
+ python-libvirt,
+ ${misc:Depends}
+Provides: nova-compute-hypervisor
+Conflicts: nova-baremetal,
+ nova-compute-kvm,
+ nova-compute-qemu,
+ nova-compute-uml,
+ nova-compute-xen
+Description: OpenStack Compute - compute node (LXC)
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This is a dependency package for compute nodes using LXC.
+
+Package: nova-compute-uml
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: adduser,
+ dpkg-dev,
+ libvirt-bin,
+ nova-common,
+ nova-compute,
+ python-libvirt,
+ user-mode-linux,
+ ${misc:Depends}
+Provides: nova-compute-hypervisor
+Conflicts: nova-baremetal,
+ nova-compute-kvm,
+ nova-compute-lxc,
+ nova-compute-qemu,
+ nova-compute-xen
+Description: OpenStack Compute - compute node (UserModeLinux)
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This is a dependency package for compute nodes using UserModeLinux.
+
+#Package: nova-compute-xen
+#Architecture: all
+#Pre-Depends: dpkg (>= 1.15.6~)
+#Depends: adduser, nova-common, nova-compute, python-xenapi, ${misc:Depends}
+#Provides: nova-compute-hypervisor
+#Conflicts: nova-baremetal,
+# nova-compute-kvm,
+# nova-compute-lxc,
+# nova-compute-qemu,
+# nova-compute-uml
+#Description: OpenStack Compute - compute node (Xen)
+# OpenStack is a reliable cloud infrastructure. Its mission is to produce
+# the ubiquitous cloud computing platform that will meet the needs of public
+# and private cloud providers regardless of size, by being simple to implement
+# and massively scalable.
+# .
+# OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+# designed to be modular and easy to extend and adapt. In addition to its
+# "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+# many different database backends (including SQLite, MySQL, and PostgreSQL),
+# hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+# .
+# This is a dependency package for compute nodes to remote-control a XenServer
+# or an XCP (Xen Cloud Platform) cloud using Xen API.
+
+Package: nova-compute-qemu
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: adduser,
+ dpkg-dev,
+ libvirt-bin,
+ nova-common,
+ nova-compute,
+ python-libvirt,
+ qemu,
+ ${misc:Depends}
+Provides: nova-compute-hypervisor
+Conflicts: nova-baremetal,
+ nova-compute-kvm,
+ nova-compute-lxc,
+ nova-compute-uml,
+ nova-compute-xen
+Description: OpenStack Compute - compute node (QEmu)
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This is a dependency package for compute nodes using QEmu.
+
+Package: nova-compute-kvm
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: adduser,
+ dpkg-dev,
+ qemu-kvm | kvm,
+ libvirt-bin,
+ nova-common,
+ nova-compute,
+ python-libvirt,
+ ${misc:Depends}
+Provides: nova-compute-hypervisor
+Recommends: guestmount
+Conflicts: nova-baremetal,
+ nova-compute-lxc,
+ nova-compute-qemu,
+ nova-compute-uml,
+ nova-compute-xen
+Description: OpenStack Compute - compute node (KVM)
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This is a dependency package for compute nodes using KVM.
+
+#Package: nova-xcp-plugins
+#Architecture: all
+#Pre-Depends: dpkg (>= 1.15.6~)
+#Depends: xcp-xapi, ${misc:Depends}, ${python:Depends}
+#Provides: nova-xcp-network
+#Breaks: nova-xcp-network (<< 2013.1.2-1)
+#Replaces: nova-xcp-network (<< 2013.1.2-1)
+#Description: OpenStack Compute plugin for the Xen Cloud Platform
+# OpenStack is a reliable cloud infrastructure. Its mission is to produce
+# the ubiquitous cloud computing platform that will meet the needs of public
+# and private cloud providers regardless of size, by being simple to implement
+# and massively scalable.
+# .
+# OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+# designed to be modular and easy to extend and adapt. In addition to its
+# "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+# many different database backends (including SQLite, MySQL, and PostgreSQL),
+# hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+# .
+# This package is to be installed on the server where you have installed your
+# master Xen API server (see the xcp-xapi package), so that nova-compute can
+# remotely control your XCP nodes and start VM instances.
+
+Package: nova-conductor
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: nova-common (= ${binary:Version}),
+ ${misc:Depends},
+ ${ostack-lsb-base},
+ ${python:Depends}
+Description: OpenStack Compute - conductor service
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This is the Nova conductor service component.
+
+Package: nova-cert
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: nova-common (= ${binary:Version}),
+ ${misc:Depends},
+ ${ostack-lsb-base},
+ ${python:Depends}
+Description: OpenStack Compute - certificate manager
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This package provides the certificate manager. This enables the generation
+ and revocation of X.509 certificates used to access the platform.
+
+Package: nova-scheduler
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: nova-common (= ${binary:Version}),
+ ${misc:Depends},
+ ${ostack-lsb-base},
+ ${python:Depends}
+Description: OpenStack Compute - virtual machine scheduler
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This is the Nova scheduler.
+
+Package: nova-volume
+Section: oldlibs
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: cinder-api, cinder-scheduler, cinder-volume, ${misc:Depends}
+Description: OpenStack Compute - storage metapackage
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This metapackage is for the transition from nova-volume to Cinder.
+
+Package: nova-api
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: debconf,
+ nova-common (= ${binary:Version}),
+ ${misc:Depends},
+ ${ostack-lsb-base},
+ ${python:Depends}
+Recommends: python-keystone
+Description: OpenStack Compute - compute API frontend
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This package provides the API frontend.
+
+Package: nova-network
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: bridge-utils,
+ dnsmasq-base,
+ dnsmasq-utils,
+ iptables,
+ iputils-arping,
+ netcat,
+ nova-common (= ${binary:Version}),
+ vlan,
+ conntrack,
+ ${misc:Depends},
+ ${ostack-lsb-base},
+ ${python:Depends}
+Replaces: python-nova (<< 2012.1~rc1-1)
+Breaks: python-nova (<< 2012.1~rc1-1)
+Suggests: radvd
+Description: OpenStack Compute - network manager
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This package equips a system to function as a network node. This service is
+ responsible for managing floating and fixed IP addresses, DHCP, bridging, and
+ VLANs, and in some cases acts as a gateway. Different networking strategies
+ can be accessed by setting the network_manager flag to FlatManager,
+ FlatDHCPManager, or VlanManager (the default).
+
+Package: nova-console
+Provides: nova-consoleauth
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: nova-common (= ${binary:Version}),
+ ${misc:Depends},
+ ${ostack-lsb-base},
+ ${python:Depends}
+Recommends: nova-consoleauth
+Description: OpenStack Compute - console
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This package provides the console server. This enables the use of consoles
+ with XVP and XenServer. It is a publicly reachable component which proxies
+ access to VNCs running on compute nodes.
+
+Package: nova-consoleauth
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: nova-common (= ${binary:Version}),
+ ${misc:Depends},
+ ${ostack-lsb-base},
+ ${python:Depends}
+Breaks: nova-console (<< 2013.1)
+Replaces: nova-console (<< 2013.1)
+Description: OpenStack Compute - Console Authenticator
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This package provides the authentication service for nova-console. It grants
+ user requests for console access based on tokens in the identity service and
+ allows access to virtual consoles via a browser.
+
+Package: nova-doc
+Architecture: all
+Section: doc
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: ${sphinxdoc:Depends}, ${misc:Depends}
+Description: OpenStack Compute - documentation
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This package contains the documentation for Nova.
+
+Package: nova-cells
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: nova-common (= ${binary:Version}),
+ ${misc:Depends},
+ ${ostack-lsb-base},
+ ${python:Depends}
+Description: Openstack Compute - cells
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This is the Nova cells component.
+
+Package: nova-baremetal
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: dnsmasq,
+ ipmitool,
+ nova-common (= ${binary:Version}),
+ open-iscsi,
+ syslinux,
+ ${misc:Depends},
+ ${ostack-lsb-base},
+ ${python:Depends}
+Provides: nova-compute-hypervisor
+Conflicts: nova-compute-kvm,
+ nova-compute-lxc,
+ nova-compute-qemu,
+ nova-compute-uml,
+ nova-compute-xen
+Description: Openstack Compute - baremetal virt
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This is the baremetal virt component.
+
+Package: nova-consoleproxy
+Architecture: all
+Pre-Depends: dpkg (>= 1.15.6~)
+Provides: nova-novncproxy, nova-spicehtml5proxy, nova-xvpvncproxy, nova-ajax-console-proxy, nova-spiceproxy
+Conflicts: nova-novncproxy, nova-spicehtml5proxy, nova-xvpvncproxy
+Replaces: nova-novncproxy, nova-spicehtml5proxy, nova-xvpvncproxy
+Depends: debconf,
+ nova-common (= ${binary:Version}),
+ novnc,
+ spice-html5,
+ websockify,
+ ${misc:Depends},
+ ${ostack-lsb-base},
+ ${python:Depends}
+Description: OpenStack Compute - NoVNC proxy
+ OpenStack is a reliable cloud infrastructure. Its mission is to produce
+ the ubiquitous cloud computing platform that will meet the needs of public
+ and private cloud providers regardless of size, by being simple to
+ implement
+ and massively scalable.
+ .
+ OpenStack Compute, codenamed Nova, is a cloud computing fabric controller
+ designed to be modular and easy to extend and adapt. In addition to its
+ "native" OpenStack API, it also supports the Amazon EC2 API, and it
+ supports
+ many different database backends (including SQLite, MySQL, and PostgreSQL),
+ hypervisors (KVM, Xen), and user directory systems (LDAP, SQL).
+ .
+ This package provides the proxy for the console in Nova: either the VNC proxy,
+ the SPICE HTML5 proxy, or the XVP (Xen VNC Proxy) proxy. It is a publically
+ reachable component which proxies access to the console running on compute
+ nodes.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..2d4f55b
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,77 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: nova
+Source: https://github.com/openstack/nova.git
+
+Files: *
+Copyright: (c) 2010-2011 United States Government as represented
+ by the Administrator of the National Aeronautics
+ and Space Administration.
+ (c) 2010 OpenStack LLC
+ (c) 2010-2012, Others (See individual files for more details)
+License: Apache-2
+ 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.
+ .
+ On Debian-based systems the full text of the Apache version 2.0 license
+ can be found in `/usr/share/common-licenses/Apache-2.0'.
+
+Files: contrib/boto_v6/*
+Copyright: 2006-2010, Mitch Garnaat http://garnaat.org/
+ 2010, Eucalyptus Systems, Inc.
+License: BSD-Style
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+Files: bin/nova-manage
+Copyright: 2005, the Lawrence Journal-World
+License: BSD
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ .
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ 3. Neither the name of Django nor the names of its contributors may be
+ used to endorse or promote products derived from this software without
+ specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
diff --git a/debian/debian_control_vars b/debian/debian_control_vars
new file mode 100644
index 0000000..81c3723
--- /dev/null
+++ b/debian/debian_control_vars
@@ -0,0 +1 @@
+ostack-lsb-base= lsb-base (>= 3.0.6)
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..f315e66
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,8 @@
+[DEFAULT]
+upstream-branch = master
+debian-branch = debian/icehouse
+upstream-tag = %(version)s
+compression = xz
+
+[git-buildpackage]
+export-dir = ../build-area/
diff --git a/debian/nova-api-ec2.upstart.in b/debian/nova-api-ec2.upstart.in
new file mode 100644
index 0000000..0acce29
--- /dev/null
+++ b/debian/nova-api-ec2.upstart.in
@@ -0,0 +1,18 @@
+description "Nova EC2 API server"
+author "Joe Heck <heckj@mac.com>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova/
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova/
+end script
+
+exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-api-ec2 -- --config-file=/etc/nova/nova.conf
diff --git a/debian/nova-api-metadata.upstart.in b/debian/nova-api-metadata.upstart.in
new file mode 100644
index 0000000..c7d798c
--- /dev/null
+++ b/debian/nova-api-metadata.upstart.in
@@ -0,0 +1,18 @@
+description "Nova Metadata API server"
+author "Joe Heck <heckj@mac.com>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova/
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova/
+end script
+
+exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-api-metadata -- --config-file=/etc/nova/nova.conf
diff --git a/debian/nova-api-os-compute.manpages b/debian/nova-api-os-compute.manpages
new file mode 100644
index 0000000..9f5f82f
--- /dev/null
+++ b/debian/nova-api-os-compute.manpages
@@ -0,0 +1 @@
+doc/build/man/nova-api-os-compute.1
diff --git a/debian/nova-api-os-compute.upstart.in b/debian/nova-api-os-compute.upstart.in
new file mode 100644
index 0000000..d894b61
--- /dev/null
+++ b/debian/nova-api-os-compute.upstart.in
@@ -0,0 +1,18 @@
+description "Nova OpenStack Compute API server"
+author "Joe Heck <heckj@mac.com>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova/
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova/
+end script
+
+exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-api-os-compute -- --config-file=/etc/nova/nova.conf
diff --git a/debian/nova-api.config.in b/debian/nova-api.config.in
new file mode 100644
index 0000000..701b73d
--- /dev/null
+++ b/debian/nova-api.config.in
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+. /usr/share/debconf/confmodule
+
+#PKGOS-INCLUDE#
+
+pkgos_register_endpoint_config nova
+
+exit 0
diff --git a/debian/nova-api.init b/debian/nova-api.init
new file mode 100644
index 0000000..cc951a8
--- /dev/null
+++ b/debian/nova-api.init
@@ -0,0 +1,100 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nova-api
+# Required-Start: $network $local_fs $remote_fs $syslog
+# Required-Stop: $remote_fs
+# Should-Start: postgresql mysql keystone rabbitmq-server ntp
+# Should-Stop: postgresql mysql keystone rabbitmq-server ntp
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Nova API server
+# Description: Frontend Nova API server
+### END INIT INFO
+
+# Author: Julien Danjou <acid@debian.org>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OpenStack Compute API"
+NAME=nova-api
+DAEMON=/usr/bin/nova-api
+DAEMON_ARGS="--config-file=/etc/nova/nova.conf"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+NOVA_USER=nova
+LOCK_DIR=/var/lock/nova/
+
+# Exit if the package is not installed
+[ -x $DAEMON ] || exit 0
+
+. /lib/lsb/init-functions
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$NAME.log"
+
+mkdir -p ${LOCK_DIR}
+chown ${NOVA_USER} ${LOCK_DIR}
+
+do_start() {
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+case "$1" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
+esac
+
+exit 0
diff --git a/debian/nova-api.install b/debian/nova-api.install
new file mode 100644
index 0000000..475c85c
--- /dev/null
+++ b/debian/nova-api.install
@@ -0,0 +1,2 @@
+etc/nova/rootwrap.d/api-metadata.filters
+usr/bin/nova-api
diff --git a/debian/nova-api.logrotate b/debian/nova-api.logrotate
new file mode 100644
index 0000000..5663eb3
--- /dev/null
+++ b/debian/nova-api.logrotate
@@ -0,0 +1,13 @@
+/var/log/nova/nova-api.log {
+ daily
+ missingok
+ compress
+ delaycompress
+ postrotate
+ if dpkg-vendor --derives-from ubuntu ; then
+ service nova-api restart >/dev/null 2>&1 || true
+ else
+ invoke-rc.d nova-api restart >/dev/null 2>&1 || true
+ fi
+ endscript
+}
diff --git a/debian/nova-api.manpages b/debian/nova-api.manpages
new file mode 100644
index 0000000..a4c5c96
--- /dev/null
+++ b/debian/nova-api.manpages
@@ -0,0 +1 @@
+doc/build/man/nova-api.1
diff --git a/debian/nova-api.postinst.in b/debian/nova-api.postinst.in
new file mode 100644
index 0000000..fb0adcb
--- /dev/null
+++ b/debian/nova-api.postinst.in
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+#PKGOS-INCLUDE#
+
+if [ "$1" = "configure" ] ; then
+ . /usr/share/debconf/confmodule
+ pkgos_register_endpoint_postinst nova nova compute "Nova Compute Service" 8774 /v2/'%(tenant_id)s'
+
+ db_get nova/active-api
+ if [ -n "${RET}" ] ; then
+ NOVA_APIS=`echo ${RET} | sed "s/ //g"`
+ pkgos_inifile set /etc/nova/nova.conf DEFAULT enabled_apis ${NOVA_APIS}
+ fi
+ db_stop
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/nova-api.postrm b/debian/nova-api.postrm
new file mode 100644
index 0000000..3361aa6
--- /dev/null
+++ b/debian/nova-api.postrm
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "purge" ] ; then
+ rm -f /var/log/nova/nova-api.log*
+fi
+
+
+#DEBHELPER#
diff --git a/debian/nova-api.templates b/debian/nova-api.templates
new file mode 100644
index 0000000..18048c5
--- /dev/null
+++ b/debian/nova-api.templates
@@ -0,0 +1,40 @@
+Template: nova/register-endpoint
+Type: boolean
+Default: false
+_Description: Register Nova in the keystone endpoint catalog?
+ Each Openstack services (each API) should be registered in order to be
+ accessible. This is done using "keystone service-create" and "keystone
+ endpoint-create". Select if you want to run these commands now.
+ .
+ Note that you will need to have an up and running keystone server on which to
+ connect using the Keystone auth token.
+
+Template: nova/keystone-ip
+Type: string
+_Description: Keystone IP address:
+ Enter the IP address of your keystone server, so that nova-api can
+ contact Keystone to do the Nova service and endpoint creation.
+
+Template: nova/keystone-auth-token
+Type: password
+_Description: Keystone Auth Token:
+ To configure its endpoint in Keystone, nova-api needs the Keystone auth
+ token.
+
+Template: nova/endpoint-ip
+Type: string
+_Description: Nova endpoint IP address:
+ Enter the IP address that will be used to contact Nova (eg: the Nova
+ endpoint IP address).
+ .
+ This IP address should be accessible from the clients that will use this
+ service, so if you are installing a public cloud, this should be a public
+ IP address.
+
+Template: nova/region-name
+Type: string
+Default: regionOne
+_Description: Name of the region to register:
+ Openstack can be used using availability zones, with each region representing
+ a location. Please enter the zone that you wish to use when registering the
+ endpoint.
diff --git a/debian/nova-api.upstart.in b/debian/nova-api.upstart.in
new file mode 100644
index 0000000..4398385
--- /dev/null
+++ b/debian/nova-api.upstart.in
@@ -0,0 +1,18 @@
+description "Nova API server"
+author "Soren Hansen <soren@linux2go.dk>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova/
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova/
+end script
+
+exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-api -- --config-file=/etc/nova/nova.conf
diff --git a/debian/nova-baremetal.init b/debian/nova-baremetal.init
new file mode 100644
index 0000000..13afdc4
--- /dev/null
+++ b/debian/nova-baremetal.init
@@ -0,0 +1,100 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nova-baremetal
+# Required-Start: $network $local_fs $remote_fs $syslog
+# Required-Stop: $remote_fs
+# Should-Start: postgresql mysql keystone
+# Should-Stop: postgresql mysql keystone
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Nova API server
+# Description: Frontend Nova API server
+### END INIT INFO
+
+# Author: Julien Danjou <acid@debian.org>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OpenStack Compute Baremetal"
+NAME=nova-baremetal-deploy-helper
+DAEMON=/usr/bin/nova-baremetal-deploy-helper
+DAEMON_ARGS="--config-file=/etc/nova/nova.conf"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+NOVA_USER=nova
+LOCK_DIR=/var/lock/nova/
+
+# Exit if the package is not installed
+[ -x $DAEMON ] || exit 0
+
+. /lib/lsb/init-functions
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$NAME.log"
+
+mkdir -p ${LOCK_DIR}
+chown ${NOVA_USER} ${LOCK_DIR}
+
+do_start() {
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+case "$1" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
+esac
+
+exit 0
diff --git a/debian/nova-baremetal.install b/debian/nova-baremetal.install
new file mode 100644
index 0000000..2db9ce6
--- /dev/null
+++ b/debian/nova-baremetal.install
@@ -0,0 +1,2 @@
+usr/bin/nova-baremetal-deploy-helper
+usr/bin/nova-baremetal-manage
diff --git a/debian/nova-baremetal.logrotate b/debian/nova-baremetal.logrotate
new file mode 100644
index 0000000..40585eb
--- /dev/null
+++ b/debian/nova-baremetal.logrotate
@@ -0,0 +1,14 @@
+/var/log/nova/nova-baremetal.log {
+ daily
+ missingok
+ compress
+ delaycompress
+ notifempty
+ postrotate
+ if dpkg-vendor --derives-from ubuntu ; then
+ service nova-baremetal restart >/dev/null 2>&1 || true
+ else
+ invoke-rc.d nova-baremetal restart >/dev/null 2>&1 || true
+ fi
+ endscript
+}
diff --git a/debian/nova-baremetal.upstart.in b/debian/nova-baremetal.upstart.in
new file mode 100644
index 0000000..bee3a9f
--- /dev/null
+++ b/debian/nova-baremetal.upstart.in
@@ -0,0 +1,18 @@
+description "Nova baremetal"
+author "Chuck Short <zulcss@ubuntu.com>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova/
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova/
+end script
+
+exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-baremetal-deploy-helper -- --config-file=/etc/nova/nova.conf
diff --git a/debian/nova-cells.init b/debian/nova-cells.init
new file mode 100644
index 0000000..aafbe09
--- /dev/null
+++ b/debian/nova-cells.init
@@ -0,0 +1,100 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nova-cells
+# Required-Start: $network $local_fs $remote_fs $syslog
+# Required-Stop: $remote_fs
+# Should-Start: postgresql mysql keystone
+# Should-Stop: postgresql mysql keystone
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Nova Cells server
+# Description: Frontend Nova Cells server
+### END INIT INFO
+
+# Author: Julien Danjou <acid@debian.org>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OpenStack Compute Cells"
+NAME=nova-cells
+DAEMON=/usr/bin/nova-cells
+DAEMON_ARGS="--config-file=/etc/nova/nova.conf"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+NOVA_USER=nova
+LOCK_DIR=/var/lock/nova/
+
+# Exit if the package is not installed
+[ -x $DAEMON ] || exit 0
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$NAME.log"
+
+. /lib/lsb/init-functions
+
+mkdir -p ${LOCK_DIR}
+chown ${NOVA_USER} ${LOCK_DIR}
+
+do_start() {
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+case "$1" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
+esac
+
+exit 0
diff --git a/debian/nova-cells.install b/debian/nova-cells.install
new file mode 100644
index 0000000..6ebc28f
--- /dev/null
+++ b/debian/nova-cells.install
@@ -0,0 +1 @@
+usr/bin/nova-cells
diff --git a/debian/nova-cells.logrotate b/debian/nova-cells.logrotate
new file mode 100644
index 0000000..a7a3b5c
--- /dev/null
+++ b/debian/nova-cells.logrotate
@@ -0,0 +1,14 @@
+/var/log/nova/nova-cells.log {
+ daily
+ missingok
+ compress
+ delaycompress
+ notifempty
+ postrotate
+ if dpkg-vendor --derives-from ubuntu ; then
+ service nova-cells restart >/dev/null 2>&1 || true
+ else
+ invoke-rc.d nova-cells restart >/dev/null 2>&1 || true
+ fi
+ endscript
+}
diff --git a/debian/nova-cells.upstart.in b/debian/nova-cells.upstart.in
new file mode 100644
index 0000000..a0e2659
--- /dev/null
+++ b/debian/nova-cells.upstart.in
@@ -0,0 +1,17 @@
+description "Nova cells"
+author "Chuck Short <zulcss@ubuntu.com>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova/
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova nova
+end script
+
+exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-cells -- --config-file=/etc/nova/nova.conf
diff --git a/debian/nova-cert.init b/debian/nova-cert.init
new file mode 100644
index 0000000..63e0dce
--- /dev/null
+++ b/debian/nova-cert.init
@@ -0,0 +1,100 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nova-cert
+# Required-Start: $network $local_fs $remote_fs $syslog
+# Required-Stop: $remote_fs
+# Should-Start: postgresql mysql keystone rabbitmq-server ntp
+# Should-Stop: postgresql mysql keystone rabbitmq-server ntp
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Nova Cert server
+# Description: Nova Cert server
+### END INIT INFO
+
+# Author: Julien Danjou <acid@debian.org>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OpenStack Compute Cert"
+NAME=nova-cert
+DAEMON=/usr/bin/nova-cert
+DAEMON_ARGS="--config-file=/etc/nova/nova.conf"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+NOVA_USER=nova
+LOCK_DIR=/var/lock/nova/
+
+# Exit if the package is not installed
+[ -x $DAEMON ] || exit 0
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$NAME.log"
+
+mkdir -p ${LOCK_DIR}
+chown ${NOVA_USER} ${LOCK_DIR}
+
+. /lib/lsb/init-functions
+
+do_start() {
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+case "$1" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
+esac
+
+exit 0
diff --git a/debian/nova-cert.install b/debian/nova-cert.install
new file mode 100644
index 0000000..ff4af36
--- /dev/null
+++ b/debian/nova-cert.install
@@ -0,0 +1 @@
+usr/bin/nova-cert
diff --git a/debian/nova-cert.logrotate b/debian/nova-cert.logrotate
new file mode 100644
index 0000000..ac57106
--- /dev/null
+++ b/debian/nova-cert.logrotate
@@ -0,0 +1,14 @@
+/var/log/nova/nova-cert.log {
+ daily
+ missingok
+ compress
+ delaycompress
+ notifempty
+ postrotate
+ if dpkg-vendor --derives-from ubuntu ; then
+ service nova-cert restart >/dev/null 2>&1 || true
+ else
+ invoke-rc.d nova-cert restart >/dev/null 2>&1 || true
+ fi
+ endscript
+}
diff --git a/debian/nova-cert.manpages b/debian/nova-cert.manpages
new file mode 100644
index 0000000..daddb09
--- /dev/null
+++ b/debian/nova-cert.manpages
@@ -0,0 +1 @@
+doc/build/man/nova-cert.1
diff --git a/debian/nova-cert.postrm b/debian/nova-cert.postrm
new file mode 100644
index 0000000..f7d6547
--- /dev/null
+++ b/debian/nova-cert.postrm
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "purge" ] ; then
+ rm -f /var/log/nova/nova-cert.log*
+fi
+
+
+#DEBHELPER#
diff --git a/debian/nova-cert.upstart.in b/debian/nova-cert.upstart.in
new file mode 100644
index 0000000..a13dcfa
--- /dev/null
+++ b/debian/nova-cert.upstart.in
@@ -0,0 +1,18 @@
+description "Nova cert"
+author "Soren Hansen <soren@linux2go.dk>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova/
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova/
+end script
+
+exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-cert -- --config-file=/etc/nova/nova.conf
diff --git a/debian/nova-common.config.in b/debian/nova-common.config.in
new file mode 100644
index 0000000..be7a6cc
--- /dev/null
+++ b/debian/nova-common.config.in
@@ -0,0 +1,64 @@
+#!/bin/sh
+set -e
+
+. /usr/share/debconf/confmodule
+
+NOVA_CONF=/etc/nova/nova.conf
+
+#PKGOS-INCLUDE#
+
+set_enabled_apis_multiselect () {
+ local NOVA_APIS NOVA_API MULTISEL_VAL
+ pkgos_inifile get ${NOVA_CONF} DEFAULT enabled_apis
+ if [ -n "${RET}" ] && [ ! "${RET}" = "NOT_FOUND" ] ; then
+ NOVA_APIS=`echo $RET | sed "s/,/ /g"`
+ for NOVA_API in ${NOVA_APIS} ; do
+ if [ -n "${MULTISEL_VAL}" ] ; then
+ MULTISEL_VAL="${MULTISEL_VAL}, "
+ fi
+ MULTISEL_VAL="${MULTISEL_VAL}${NOVA_API}"
+ done
+ if [ -n "${MULTISEL_VAL}" ] ; then
+ db_set nova/active-api ${MULTISEL_VAL}
+ fi
+ fi
+ db_input high nova/active-api || true
+ db_go
+}
+
+manage_nova_my_ip () {
+ pkgos_inifile get ${NOVA_CONF} DEFAULT my_ip
+ if [ -n "${RET}" ] && [ ! "${RET}" = "NOT_FOUND" ] ; then
+ db_set nova/my-ip "${RET}"
+ else
+ if [ -r /proc/net/route ] && [ -x /sbin/route ] ; then
+ DEFROUTE_IF=`LC_ALL=C /sbin/route | grep default |awk -- '{ print $8 }' | cut -d" " -f1`
+ if [ -n "${DEFROUTE_IF}" ] ; then
+ DEFROUTE_IP=`LC_ALL=C ip addr show "${DEFROUTE_IF}" | grep inet | head -n 1 | awk '{print $2}' | cut -d/ -f1 | grep -E '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$'`
+ if [ -n "${DEFROUTE_IP}" ] ; then
+ db_set nova/my-ip ${DEFROUTE_IP}
+ fi
+ fi
+ fi
+ fi
+ db_input high nova/my-ip || true
+ db_go
+}
+
+read_neutron_config () {
+ pkgos_read_config -p high ${NOVA_CONF} DEFAULT neutron_url nova/neutron_url
+ pkgos_read_config -p medium ${NOVA_CONF} DEFAULT neutron_admin_tenant_name nova/neutron_admin_tenant_name
+ pkgos_read_config -p medium ${NOVA_CONF} DEFAULT neutron_admin_username nova/neutron_admin_username
+ pkgos_read_config -p high ${NOVA_CONF} DEFAULT neutron_admin_password nova/neutron_admin_password
+}
+
+pkgos_var_user_group nova
+pkgos_dbc_read_conf -pkg nova-common ${NOVA_CONF} database connection nova $@
+pkgos_rabbit_read_conf ${NOVA_CONF} DEFAULT nova
+pkgos_read_admin_creds ${NOVA_CONF} keystone_authtoken nova
+read_neutron_config
+
+set_enabled_apis_multiselect
+manage_nova_my_ip
+
+exit 0
diff --git a/debian/nova-common.dirs b/debian/nova-common.dirs
new file mode 100644
index 0000000..cf18106
--- /dev/null
+++ b/debian/nova-common.dirs
@@ -0,0 +1,14 @@
+etc/nova
+etc/nova/rootwrap.d
+var/lib/nova/buckets
+var/lib/nova/CA
+var/lib/nova/CA/INTER
+var/lib/nova/CA/newcerts
+var/lib/nova/CA/private
+var/lib/nova/CA/reqs
+var/lib/nova/images
+var/lib/nova/instances
+var/lib/nova/keys
+var/lib/nova/networks
+var/lib/nova/tmp
+var/log/nova
diff --git a/debian/nova-common.install b/debian/nova-common.install
new file mode 100644
index 0000000..c15832a
--- /dev/null
+++ b/debian/nova-common.install
@@ -0,0 +1,8 @@
+debian/nova.conf.example usr/share/nova-common
+debian/nova.conf usr/share/nova-common
+etc/nova/api-paste.ini usr/share/nova-common
+etc/nova/policy.json etc/nova
+etc/nova/policy.json etc/nova
+etc/nova/rootwrap.conf etc/nova
+usr/bin/nova-manage
+usr/bin/nova-rootwrap
diff --git a/debian/nova-common.manpages b/debian/nova-common.manpages
new file mode 100644
index 0000000..ccd4972
--- /dev/null
+++ b/debian/nova-common.manpages
@@ -0,0 +1,2 @@
+doc/build/man/nova-manage.1
+doc/build/man/nova-rootwrap.1
diff --git a/debian/nova-common.postinst.in b/debian/nova-common.postinst.in
new file mode 100644
index 0000000..a98d405
--- /dev/null
+++ b/debian/nova-common.postinst.in
@@ -0,0 +1,105 @@
+#!/bin/sh
+
+set -e
+
+NOVA_CONF=/etc/nova/nova.conf
+
+#PKGOS-INCLUDE#
+
+manage_nova_api_field () {
+ db_get nova/active-api
+ if [ -n "${RET}" ] ; then
+ # We get an answer from a multiselect debconf, so we trim spaces out
+ # before putting it in the config file
+ NOVA_APIS=`echo ${RET} | sed "s/ //g"`
+ pkgos_inifile set ${NOVA_CONF} DEFAULT enabled_apis ${NOVA_APIS}
+ fi
+}
+
+manage_nova_my_ip_field () {
+ db_get nova/my-ip
+ if [ -n "${RET}" ] ; then
+ pkgos_inifile set ${NOVA_CONF} DEFAULT my_ip ${RET}
+ fi
+}
+
+manage_keystone_auth_fields () {
+ db_get nova/auth-host
+ pkgos_inifile set ${NOVA_CONF} keystone_authtoken auth_host ${RET}
+ db_get nova/admin-tenant-name
+ pkgos_inifile set ${NOVA_CONF} keystone_authtoken admin_tenant_name ${RET}
+ db_get nova/admin-user
+ pkgos_inifile set ${NOVA_CONF} keystone_authtoken admin_user ${RET}
+ db_get nova/admin-password
+ if [ -n "${RET}" ] ; then
+ pkgos_inifile set ${NOVA_CONF} keystone_authtoken admin_password ${RET}
+ fi
+}
+
+maintain_var_lib_nova_perms () {
+ if [ -z "$2" ]; then
+ # New install - blanket permissions
+ chown -R nova:nova /var/lib/nova/
+ elif dpkg --compare-versions "$2" lt "2011.3"; then
+ # Make sure the LXC rootfs mount points are excluded
+ # during upgrades from previous versions
+ find /var/lib/nova/ -name 'rootfs' -prune -o \
+ -group root -a -user nova -exec chown nova:nova {} \;
+ find /var/lib/nova/ -name 'rootfs' -prune -o \
+ -group nogroup -a -user nova -exec chown nova:nova {} \;
+ fi
+ chmod 0755 /var/lib/nova
+}
+
+read_neutron_config () {
+ db_get nova/neutron_url
+ pkgos_inifile set ${NOVA_CONF} DEFAULT neutron_url ${RET}
+ db_get nova/neutron_admin_tenant_name
+ pkgos_inifile set ${NOVA_CONF} DEFAULT neutron_admin_tenant_name ${RET}
+ db_get nova/neutron_admin_username
+ pkgos_inifile set ${NOVA_CONF} DEFAULT neutron_admin_username ${RET}
+ db_get nova/neutron_admin_password
+ pkgos_inifile set ${NOVA_CONF} DEFAULT neutron_admin_password ${RET}
+}
+
+
+if [ "$1" = "configure" ] || [ "$1" = "reconfigure" ] ; then
+ . /usr/share/debconf/confmodule
+ . /usr/share/dbconfig-common/dpkg/postinst
+
+ pkgos_var_user_group nova
+ maintain_var_lib_nova_perms $@
+
+ # Create config files if they don't exist
+ pkgos_write_new_conf nova nova.conf
+ pkgos_write_new_conf nova api-paste.ini
+ pkgos_write_new_conf nova logging.conf
+
+ # Tweak config files depending on debconf answers
+ pkgos_dbc_postinst /etc/nova/nova.conf database connection nova $@
+ pkgos_rabbit_write_conf /etc/nova/nova.conf DEFAULT nova
+ manage_nova_api_field
+ manage_nova_my_ip_field
+ manage_keystone_auth_fields
+
+ # Needed, because in some cases, it's owned by root:root,
+ # which makes the nova-manage db sync fail.
+ touch /var/log/nova/nova-manage.log
+ chown nova:nova /var/log/nova/nova-manage.log
+
+ db_get nova/configure_db
+ if [ "$RET" = "true" ]; then
+ echo "nova-common: Now running \"nova-manage db sync\", this may take a while..."
+ su nova -c "nova-manage db sync" || true
+ fi
+
+ db_stop
+
+ # Fixup sudoers rights and clean old config file location
+ chmod 0440 /etc/sudoers.d/nova-common
+ [ -f /etc/sudoers.d/nova_sudoers ] && rm -f /etc/sudoers.d/nova_sudoers # That's the old file that we get rid of
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/nova-common.postrm b/debian/nova-common.postrm
new file mode 100644
index 0000000..ef9b002
--- /dev/null
+++ b/debian/nova-common.postrm
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "purge" ] ; then
+ if [ -r /usr/share/debconf/confmodule ] ; then
+ . /usr/share/debconf/confmodule
+ db_get nova/configure_db || true
+ if [ "$RET" = "true" ] ; then
+ if [ -f /usr/share/dbconfig-common/dpkg/postrm ] ; then
+ . /usr/share/dbconfig-common/dpkg/postrm
+ dbc_go nova-common $@
+ else
+ rm -f /etc/dbconfig-common/nova-common.conf
+ if which ucf >/dev/null 2>&1; then
+ ucf --purge /etc/dbconfig-common/nova-common.conf
+ ucfr --purge nova-common /etc/dbconfig-common/nova-common.conf
+ fi
+ fi
+ fi
+ fi
+
+ rm -f /var/log/nova/nova-manage.log
+ rm -rf /var/lib/nova/CA
+ rm -f /var/lib/nova/.rnd
+ rm -f /etc/nova/nova.conf
+ rm -f /etc/default/nova-common
+ rm -f /etc/nova/api-paste.ini
+ rm -f /etc/nova/logging.conf
+ rmdir --ignore-fail-on-non-empty /etc/nova
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/nova-common.prerm b/debian/nova-common.prerm
new file mode 100644
index 0000000..e194cba
--- /dev/null
+++ b/debian/nova-common.prerm
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+if [ "${1}" = "remove" ] && [ -r /usr/share/debconf/confmodule ] && [ -r /usr/share/dbconfig-common/dpkg/prerm ] ; then
+ . /usr/share/debconf/confmodule
+ db_get nova/configure_db || true
+ if [ "$RET" = "true" ] ; then
+ . /usr/share/dbconfig-common/dpkg/prerm
+ dbc_go nova-common $@
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/nova-common.sudoers b/debian/nova-common.sudoers
new file mode 100644
index 0000000..9aff40f
--- /dev/null
+++ b/debian/nova-common.sudoers
@@ -0,0 +1 @@
+nova ALL = (root) NOPASSWD: /usr/bin/nova-rootwrap *
diff --git a/debian/nova-common.templates b/debian/nova-common.templates
new file mode 100644
index 0000000..bed0d9b
--- /dev/null
+++ b/debian/nova-common.templates
@@ -0,0 +1,117 @@
+# These templates have been reviewed by the debian-l10n-english
+# team
+#
+# If modifications/additions/rewording are needed, please ask
+# debian-l10n-english@lists.debian.org for advice.
+#
+# Even minor modifications require translation updates and such
+# changes should be coordinated with translators and reviewers.
+
+Template: nova/auth-host
+Type: string
+Default: 127.0.0.1
+_Description: Auth server hostname:
+ Please specify the URL of your Nova authentication server. Typically
+ this is also the URL of your OpenStack Identity Service (Keystone).
+
+Template: nova/admin-tenant-name
+Type: string
+Default: admin
+_Description: Auth server tenant name:
+
+Template: nova/admin-user
+Type: string
+Default: admin
+_Description: Auth server username:
+
+Template: nova/admin-password
+Type: password
+_Description: Auth server password:
+
+Template: nova/configure_db
+Type: boolean
+Default: false
+_Description: Set up a database for Nova?
+ No database has been set up for Nova to use. If you want
+ to set one up now, please make sure you have all needed
+ information:
+ .
+ * the host name of the database server (which must allow TCP
+ connections from this machine);
+ * a username and password to access the database;
+ * the type of database management software you want to use.
+ .
+ If you don't choose this option, no database will be set up and Nova
+ will use regular SQLite support.
+ .
+ You can change this setting later on by running "dpkg-reconfigure
+ -plow nova-common".
+
+Template: nova/active-api
+Type: multiselect
+Choices: ec2, osapi_compute, metadata
+_Description: API to activate:
+ Openstack Nova supports different API services, each of them binding on a
+ different port. Select which one nova-api should support.
+ .
+ If it is a compute node that you are setting-up, then you only need to run the
+ metadata API server. If you run Cinder, then you don't need osapi_volume (you
+ cannot run osapi_volume and cinder-api on the same server: they bind on the
+ same port).
+
+Template: nova/my-ip
+Type: string
+_Description: Value for my_ip:
+ This value will be stored in the my_ip directive of nova.conf.
+
+Template: nova/neutron_url
+Type: string
+Default: http://127.0.0.1:9696
+_Description: Neutron server URL:
+ Please enter the URL of the Neutron server.
+
+Template: nova/neutron_admin_tenant_name
+Type: string
+Default: admin
+_Description: Neutron admin tenant name:
+ Nova needs to be able to communicate with Neutron through Keystone. Therefore
+ Nova needs to know the Neutron admin tenant, username and password.
+ .
+ Please enter the name of the admin tenant for Neutron.
+
+Template: nova/neutron_admin_username
+Type: string
+Default: admin
+_Description: Neutron administrator username:
+ Please enter the username of the Neutron administrator.
+
+Template: nova/neutron_admin_password
+Type: password
+_Description: Neutron administrator password:
+ Please enter the password of the Neutron administrator.
+
+Template: nova/rabbit_host
+Type: string
+Default: localhost
+_Description: IP address of your RabbitMQ host:
+ In order to interoperate with other components of OpenStack, this package
+ needs to connect to a central RabbitMQ server.
+ .
+ Please specify the IP address of that server.
+
+Template: nova/rabbit_userid
+Type: string
+Default: guest
+_Description: Username for connection to the RabbitMQ server:
+ In order to interoperate with other components of OpenStack, this package
+ needs to connect to a central RabbitMQ server.
+ .
+ Please specify the username used to connect to the RabbitMQ server.
+
+Template: nova/rabbit_password
+Type: password
+_Description: Password for connection to the RabbitMQ server:
+ In order to interoperate with other components of OpenStack, this package
+ needs to connect to a central RabbitMQ server.
+ .
+ Please specify the password used to connect to the RabbitMQ server.
diff --git a/debian/nova-compute-baremetal.conf b/debian/nova-compute-baremetal.conf
new file mode 100644
index 0000000..2c88d41
--- /dev/null
+++ b/debian/nova-compute-baremetal.conf
@@ -0,0 +1,6 @@
+[default]
+compute_driver=nova.virt.baremetal.driver.BareMetalDriver
+firewall_driver = nova.virt.firewall.NoopFirewallDriver
+scheduler_host_manager=nova.scheduler.baremetal_host_manager.BaremetalHostManager
+ram_allocation_ratio=1.0
+reserved_host_memory_mb=0
diff --git a/debian/nova-compute-kvm.conf b/debian/nova-compute-kvm.conf
new file mode 100644
index 0000000..9d0ddf7
--- /dev/null
+++ b/debian/nova-compute-kvm.conf
@@ -0,0 +1,7 @@
+[DEFAULT]
+compute_driver=libvirt.LibvirtDriver
+neutron_ovs_bridge=br-int
+[libvirt]
+virt_type=kvm
+vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver
+use_virtio_for_bridges=true
diff --git a/debian/nova-compute-kvm.postinst b/debian/nova-compute-kvm.postinst
new file mode 100644
index 0000000..6a35069
--- /dev/null
+++ b/debian/nova-compute-kvm.postinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "configure" ]; then
+ if dpkg-vendor --derives-from ubuntu ; then
+ adduser --quiet nova libvirtd
+ else
+ adduser --quiet nova libvirt
+ fi
+fi
+
+#DEBHELPER#
diff --git a/debian/nova-compute-lxc.conf b/debian/nova-compute-lxc.conf
new file mode 100644
index 0000000..725f9f6
--- /dev/null
+++ b/debian/nova-compute-lxc.conf
@@ -0,0 +1,4 @@
+[DEFAULT]
+compute_driver=libvirt.LibvirtDriver
+[libvirt]
+virt_type=lxc
diff --git a/debian/nova-compute-lxc.postinst b/debian/nova-compute-lxc.postinst
new file mode 100644
index 0000000..6a35069
--- /dev/null
+++ b/debian/nova-compute-lxc.postinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "configure" ]; then
+ if dpkg-vendor --derives-from ubuntu ; then
+ adduser --quiet nova libvirtd
+ else
+ adduser --quiet nova libvirt
+ fi
+fi
+
+#DEBHELPER#
diff --git a/debian/nova-compute-qemu.conf b/debian/nova-compute-qemu.conf
new file mode 100644
index 0000000..1ef5590
--- /dev/null
+++ b/debian/nova-compute-qemu.conf
@@ -0,0 +1,4 @@
+[DEFAULT]
+compute_driver=libvirt.LibvirtDriver
+[libvirt]
+virt_type=qemu
diff --git a/debian/nova-compute-qemu.postinst b/debian/nova-compute-qemu.postinst
new file mode 100644
index 0000000..6a35069
--- /dev/null
+++ b/debian/nova-compute-qemu.postinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "configure" ]; then
+ if dpkg-vendor --derives-from ubuntu ; then
+ adduser --quiet nova libvirtd
+ else
+ adduser --quiet nova libvirt
+ fi
+fi
+
+#DEBHELPER#
diff --git a/debian/nova-compute-uml.conf b/debian/nova-compute-uml.conf
new file mode 100644
index 0000000..9c491f8
--- /dev/null
+++ b/debian/nova-compute-uml.conf
@@ -0,0 +1,4 @@
+[DEFAULT]
+compute_driver=libvirt.LibvirtDriver
+[libvirt]
+virt_type=uml
diff --git a/debian/nova-compute-uml.postinst b/debian/nova-compute-uml.postinst
new file mode 100644
index 0000000..6a35069
--- /dev/null
+++ b/debian/nova-compute-uml.postinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "configure" ]; then
+ if dpkg-vendor --derives-from ubuntu ; then
+ adduser --quiet nova libvirtd
+ else
+ adduser --quiet nova libvirt
+ fi
+fi
+
+#DEBHELPER#
diff --git a/debian/nova-compute-xen.conf.dist b/debian/nova-compute-xen.conf.dist
new file mode 100644
index 0000000..86de8b2
--- /dev/null
+++ b/debian/nova-compute-xen.conf.dist
@@ -0,0 +1,2 @@
+[DEFAULT]
+compute_driver=xenapi.XenAPIDriver
diff --git a/debian/nova-compute-xen.config b/debian/nova-compute-xen.config
new file mode 100644
index 0000000..158e78f
--- /dev/null
+++ b/debian/nova-compute-xen.config
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+set -e
+
+action=$1
+version=$2
+
+. /usr/share/debconf/confmodule
+
+XENAPI_FILE=/etc/nova/nova-compute-xen.conf
+# Find already existing configuration values from the config file
+if [ -e ${XENAPI_FILE} ] ; then
+ if grep -E -q "^[- \t]*xenapi_connection_url=" ${XENAPI_FILE} ; then
+ XENAPI_URL=`grep -E "^[- \t]*xenapi_connection_url=" ${XENAPI_FILE} | cut -d"=" -f2`
+ db_set nova-compute-xen/xenapi_url ${XENAPI_URL}
+ fi
+ if grep -E -q "^[- \t]*xenapi_connection_username=" ${XENAPI_FILE} ; then
+ XENAPI_USERNAME=`grep -E "^[- \t]*xenapi_connection_username=" ${XENAPI_FILE} | cut -d"=" -f2`
+ db_set nova-compute-xen/xenapi_username ${XENAPI_USERNAME}
+ fi
+ if grep -E -q "^[- \t]*xenapi_connection_password=" ${XENAPI_FILE} ; then
+ XENAPI_PASSWORD=`grep -E "^[- \t]*xenapi_connection_password=" ${XENAPI_FILE} | cut -d"=" -f2`
+ db_set nova-compute-xen/xenapi_password ${XENAPI_PASSWORD}
+ fi
+fi
+
+db_input high nova-compute-xen/xenapi_url || true
+db_input high nova-compute-xen/xenapi_username || true
+db_input high nova-compute-xen/xenapi_password || true
+db_go
+
+exit 0
diff --git a/debian/nova-compute-xen.postinst.in b/debian/nova-compute-xen.postinst.in
new file mode 100644
index 0000000..b198d09
--- /dev/null
+++ b/debian/nova-compute-xen.postinst.in
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+set -e
+
+XENAPI_CONFFILE=/etc/nova/nova-compute.conf
+
+#PKGOS-INCLUDE#
+
+if [ "$1" = "configure" ] || [ "$1" = "reconfigure" ] ; then
+ . /usr/share/debconf/confmodule
+
+ pkgos_var_user_group nova
+ pkgos_write_new_conf nova nova-compute.conf
+
+ # DEFAULT
+ db_get nova-compute-xen/xenapi_url
+ XENAPI_URL=$RET
+ if ! grep -E -q "^[- \t]*xenapi_connection_url=" ${XENAPI_CONFFILE} ; then
+ echo "xenapi_connection_url=" >> ${XENAPI_CONFFILE}
+ fi
+ sed -i "s#^[- \t]*xenapi_connection_url=.*#xenapi_connection_url=${XENAPI_URL}#" ${XENAPI_CONFFILE}
+
+ db_get nova-compute-xen/xenapi_username
+ XENAPI_USER=$RET
+ if ! grep -E -q "^[- \t]*xenapi_connection_username=" ${XENAPI_CONFFILE} ; then
+ echo "xenapi_connection_username=" >> ${XENAPI_CONFFILE}
+ fi
+ sed -i "s#^[- \t]*xenapi_connection_username=.*#xenapi_connection_username=${XENAPI_USER}#" ${XENAPI_CONFFILE}
+
+ db_get nova-compute-xen/xenapi_password
+ XENAPI_PASS=$RET
+ if ! grep -E -q "^[- \t]*xenapi_connection_password=" ${XENAPI_CONFFILE} ; then
+ echo "xenapi_connection_password=" >> ${XENAPI_CONFFILE}
+ fi
+ sed -i "s#^[- \t]*xenapi_connection_password=.*#xenapi_connection_password=${XENAPI_PASS}#" ${XENAPI_CONFFILE}
+ db_stop
+fi
+
+#DEBHELPER#
diff --git a/debian/nova-compute-xen.postrm b/debian/nova-compute-xen.postrm
new file mode 100644
index 0000000..1acf44e
--- /dev/null
+++ b/debian/nova-compute-xen.postrm
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "purge" ] ; then
+ rm -f /etc/nova/nova-compute.conf
+fi
+
+#DEBHELPER#
diff --git a/debian/nova-compute-xen.templates b/debian/nova-compute-xen.templates
new file mode 100644
index 0000000..6153a5f
--- /dev/null
+++ b/debian/nova-compute-xen.templates
@@ -0,0 +1,37 @@
+# These templates have been reviewed by the debian-l10n-english
+# team
+#
+# If modifications/additions/rewording are needed, please ask
+# debian-l10n-english@lists.debian.org for advice.
+#
+# Even minor modifications require translation updates and such
+# changes should be coordinated with translators and reviewers.
+
+Template: nova-compute-xen/xenapi_url
+Type: string
+Default: https://my-dom0.example.com
+_Description: Address of the XenAPI dom0:
+ Nova Compute Xen needs to know the address of the server running XenAPI. You
+ can enter an IP address, or a fully qualified domain name if it resolves
+ correctly.
+ .
+ This may be a server running Citrix XenServer, the CentOS Xen Cloud Platform
+ (XCP) appliance installed from an ISO image, or even the Kronos Project's XCP
+ (available in Debian and Ubuntu as the package xcp-xapi).
+ .
+ This can later be edited in /etc/nova/nova-compute.conf.
+
+Template: nova-compute-xen/xenapi_username
+Type: string
+Default: root
+_Description: Username to connect to XenAPI:
+ Please enter the username used to connect to your XenAPI (XCP server).
+ .
+ This can later be edited in /etc/nova/nova-compute.conf.
+
+Template: nova-compute-xen/xenapi_password
+Type: password
+_Description: Password to connect to XenAPI:
+ Please enter the password used to connect to your XenAPI (XCP server).
+ .
+ This can later be edited in /etc/nova/nova-compute.conf.
diff --git a/debian/nova-compute.dirs b/debian/nova-compute.dirs
new file mode 100644
index 0000000..7d9ff4a
--- /dev/null
+++ b/debian/nova-compute.dirs
@@ -0,0 +1 @@
+/var/lib/nova/instances
diff --git a/debian/nova-compute.init b/debian/nova-compute.init
new file mode 100644
index 0000000..687af2c
--- /dev/null
+++ b/debian/nova-compute.init
@@ -0,0 +1,103 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nova-compute
+# Required-Start: $network $local_fs $remote_fs $syslog
+# Required-Stop: $remote_fs
+# Should-Start: libvirt-bin postgresql mysql keystone rabbitmq-server ntp
+# Should-Stop: libvirt-bin postgresql mysql keystone rabbitmq-server ntp
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Nova Compute server
+# Description: Provides compute server resources for the
+# OpenStack cloud computing system
+### END INIT INFO
+
+# Author: Julien Danjou <acid@debian.org>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OpenStack Compute"
+NAME=nova-compute
+DAEMON=/usr/bin/nova-compute
+DAEMON_ARGS="--config-file=/etc/nova/nova.conf"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+NOVA_USER=nova
+LOCK_DIR=/var/lock/nova/
+
+# Exit if the package is not installed
+[ -x $DAEMON ] || exit 0
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$NAME.log"
+
+mkdir -p ${LOCK_DIR}
+chown ${NOVA_USER} ${LOCK_DIR}
+
+. /lib/lsb/init-functions
+
+test -f '/etc/nova/nova-compute.conf' && DAEMON_ARGS=${DAEMON_ARGS}" --config-file=/etc/nova/nova-compute.conf"
+
+do_start() {
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+case "$1" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
+esac
+
+exit 0
diff --git a/debian/nova-compute.install b/debian/nova-compute.install
new file mode 100644
index 0000000..cf8fc46
--- /dev/null
+++ b/debian/nova-compute.install
@@ -0,0 +1,2 @@
+etc/nova/rootwrap.d/compute.filters
+usr/bin/nova-compute
diff --git a/debian/nova-compute.logrotate b/debian/nova-compute.logrotate
new file mode 100644
index 0000000..9604418
--- /dev/null
+++ b/debian/nova-compute.logrotate
@@ -0,0 +1,14 @@
+/var/log/nova/nova-compute.log {
+ daily
+ missingok
+ compress
+ delaycompress
+ notifempty
+ postrotate
+ if dpkg-vendor --derives-from ubuntu ; then
+ service nova-compute restart >/dev/null 2>&1 || true
+ else
+ invoke-rc.d nova-compute restart >/dev/null 2>&1 || true
+ fi
+ endscript
+}
diff --git a/debian/nova-compute.manpages b/debian/nova-compute.manpages
new file mode 100644
index 0000000..6f33ce1
--- /dev/null
+++ b/debian/nova-compute.manpages
@@ -0,0 +1 @@
+doc/build/man/nova-compute.1
diff --git a/debian/nova-compute.postrm b/debian/nova-compute.postrm
new file mode 100644
index 0000000..8fd1dc4
--- /dev/null
+++ b/debian/nova-compute.postrm
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "purge" ] ; then
+ rm -f /var/log/nova/nova-compute.log*
+fi
+
+#DEBHELPER#
diff --git a/debian/nova-compute.upstart.in b/debian/nova-compute.upstart.in
new file mode 100644
index 0000000..1eed933
--- /dev/null
+++ b/debian/nova-compute.upstart.in
@@ -0,0 +1,20 @@
+description "Nova compute worker"
+author "Soren Hansen <soren@linux2go.dk>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova/
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova/
+
+ modprobe nbd
+end script
+
+exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-compute -- --config-file=/etc/nova/nova.conf --config-file=/etc/nova/nova-compute.conf
diff --git a/debian/nova-conductor.init b/debian/nova-conductor.init
new file mode 100644
index 0000000..e4ea4f1
--- /dev/null
+++ b/debian/nova-conductor.init
@@ -0,0 +1,101 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nova-conductor
+# Required-Start: $network $local_fs $remote_fs $syslog
+# Required-Stop: $remote_fs
+# Should-Start: postgresql mysql keystone rabbitmq-server ntp
+# Should-Stop: postgresql mysql keystone rabbitmq-server ntp
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Nova Conductor server
+# Description: Frontend Nova Conductor server
+### END INIT INFO
+
+# Author: Julien Danjou <acid@debian.org>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OpenStack Compute Conductor"
+NAME=nova-conductor
+DAEMON=/usr/bin/nova-conductor
+DAEMON_ARGS="--config-file=/etc/nova/nova.conf"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+NOVA_USER=nova
+LOCK_DIR=/var/lock/nova/
+
+# Exit if the package is not installed
+[ -x $DAEMON ] || exit 0
+
+. /lib/lsb/init-functions
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$NAME.log"
+
+
+mkdir -p ${LOCK_DIR}
+chown ${NOVA_USER} ${LOCK_DIR}
+
+do_start() {
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+case "$1" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
+esac
+
+exit 0
diff --git a/debian/nova-conductor.install b/debian/nova-conductor.install
new file mode 100644
index 0000000..873ae74
--- /dev/null
+++ b/debian/nova-conductor.install
@@ -0,0 +1 @@
+usr/bin/nova-conductor
diff --git a/debian/nova-conductor.logrotate b/debian/nova-conductor.logrotate
new file mode 100644
index 0000000..e65a2fe
--- /dev/null
+++ b/debian/nova-conductor.logrotate
@@ -0,0 +1,14 @@
+/var/log/nova/nova-conductor.log {
+ daily
+ missingok
+ compress
+ delaycompress
+ notifempty
+ postrotate
+ if dpkg-vendor --derives-from ubuntu ; then
+ service nova-conductor restart >/dev/null 2>&1 || true
+ else
+ invoke-rc.d nova-conductor restart >/dev/null 2>&1 || true
+ fi
+ endscript
+}
diff --git a/debian/nova-conductor.manpages b/debian/nova-conductor.manpages
new file mode 100644
index 0000000..c28bc8a
--- /dev/null
+++ b/debian/nova-conductor.manpages
@@ -0,0 +1 @@
+doc/build/man/nova-conductor.1
diff --git a/debian/nova-conductor.upstart.in b/debian/nova-conductor.upstart.in
new file mode 100644
index 0000000..c55eef9
--- /dev/null
+++ b/debian/nova-conductor.upstart.in
@@ -0,0 +1,26 @@
+description "Nova conductor"
+author "Chuck Short <zulcss@ubuntu.com>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova/
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova/
+end script
+
+script
+ [ -r /etc/default/openstack ] && . /etc/default/openstack
+ [ -r /etc/default/$UPSTART_JOB ] && . /etc/default/$UPSTART_JOB
+
+ [ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+ [ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$UPSTART_JOB.log"
+
+ exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-conductor -- --config-file=/etc/nova/nova.conf $DAEMON_ARGS
+end script
diff --git a/debian/nova-console.init b/debian/nova-console.init
new file mode 100644
index 0000000..918e65a
--- /dev/null
+++ b/debian/nova-console.init
@@ -0,0 +1,100 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nova-console
+# Required-Start: $network $local_fs $remote_fs $syslog
+# Required-Stop: $remote_fs
+# Should-Start: postgresql mysql keystone rabbitmq-server ntp
+# Should-Stop: postgresql mysql keystone rabbitmq-server ntp
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Nova Console for XenServer and XVP
+# Description: Nova Console for XenServer and XVP
+### END INIT INFO
+
+# Author: Julien Danjou <acid@debian.org>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OpenStack Compute Console"
+NAME=nova-console
+DAEMON=/usr/bin/nova-console
+DAEMON_ARGS="--config-file=/etc/nova/nova.conf"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+NOVA_USER=nova
+LOCK_DIR=/var/lock/nova/
+
+# Exit if the package is not installed
+[ -x $DAEMON ] || exit 0
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$NAME.log"
+
+mkdir -p ${LOCK_DIR}
+chown ${NOVA_USER} ${LOCK_DIR}
+
+. /lib/lsb/init-functions
+
+do_start() {
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+case "$1" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
+esac
+
+exit 0
diff --git a/debian/nova-console.install b/debian/nova-console.install
new file mode 100644
index 0000000..b16c696
--- /dev/null
+++ b/debian/nova-console.install
@@ -0,0 +1 @@
+usr/bin/nova-console
diff --git a/debian/nova-console.logrotate b/debian/nova-console.logrotate
new file mode 100644
index 0000000..c37f72a
--- /dev/null
+++ b/debian/nova-console.logrotate
@@ -0,0 +1,15 @@
+/var/log/nova/nova-console.log /var/log/nova/nova-consoleauth.log {
+ daily
+ copytruncate
+ missingok
+ compress
+ delaycompress
+ notifempty
+ postrotate
+ if dpkg-vendor --derives-from ubuntu ; then
+ service nova-console restart >/dev/null 2>&1 || true
+ else
+ invoke-rc.d nova-console restart >/dev/null 2>&1 || true
+ fi
+ endscript
+}
diff --git a/debian/nova-console.manpages b/debian/nova-console.manpages
new file mode 100644
index 0000000..814f2b9
--- /dev/null
+++ b/debian/nova-console.manpages
@@ -0,0 +1 @@
+doc/build/man/nova-console.1
diff --git a/debian/nova-console.postrm b/debian/nova-console.postrm
new file mode 100644
index 0000000..ffbc951
--- /dev/null
+++ b/debian/nova-console.postrm
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "purge" ] ; then
+ rm -f /var/log/nova/nova-console*.log*
+fi
+
+
+#DEBHELPER#
diff --git a/debian/nova-console.upstart.in b/debian/nova-console.upstart.in
new file mode 100644
index 0000000..99fe45f
--- /dev/null
+++ b/debian/nova-console.upstart.in
@@ -0,0 +1,19 @@
+description "Nova Console"
+author "Vishvananda Ishaya <vishvananda@gmail.com>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+respawn
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova
+end script
+
+exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-console -- --config-file=/etc/nova/nova.conf
diff --git a/debian/nova-consoleauth.init b/debian/nova-consoleauth.init
new file mode 100644
index 0000000..4e3be68
--- /dev/null
+++ b/debian/nova-consoleauth.init
@@ -0,0 +1,100 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nova-consoleauth
+# Required-Start: $network $local_fs $remote_fs $syslog
+# Required-Stop: $remote_fs
+# Should-Start: postgresql mysql keystone rabbitmq-server ntp
+# Should-Stop: postgresql mysql keystone rabbitmq-server ntp
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Nova Console Auth
+# Description: Nova Console Auth
+### END INIT INFO
+
+# Author: Julien Danjou <acid@debian.org> & Thomas Goirand <zigo@debian.org>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OpenStack Compute Console"
+NAME=nova-consoleauth
+DAEMON=/usr/bin/nova-consoleauth
+DAEMON_ARGS="--config-file=/etc/nova/nova.conf"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+NOVA_USER=nova
+LOCK_DIR=/var/lock/nova/
+
+# Exit if the package is not installed
+[ -x $DAEMON ] || exit 0
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$NAME.log"
+
+mkdir -p ${LOCK_DIR}
+chown ${NOVA_USER} ${LOCK_DIR}
+
+. /lib/lsb/init-functions
+
+do_start() {
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+case "$1" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+ ;;
+esac
+
+exit 0
diff --git a/debian/nova-consoleauth.install b/debian/nova-consoleauth.install
new file mode 100644
index 0000000..1f8bba5
--- /dev/null
+++ b/debian/nova-consoleauth.install
@@ -0,0 +1 @@
+usr/bin/nova-consoleauth
diff --git a/debian/nova-consoleauth.logrotate b/debian/nova-consoleauth.logrotate
new file mode 100644
index 0000000..26fc276
--- /dev/null
+++ b/debian/nova-consoleauth.logrotate
@@ -0,0 +1,14 @@
+/var/log/nova/nova-consoleauth.log {
+ daily
+ missingok
+ compress
+ delaycompress
+ notifempty
+ postrotate
+ if dpkg-vendor --derives-from ubuntu ; then
+ service nova-consoleauth restart >/dev/null 2>&1 || true
+ else
+ invoke-rc.d nova-consoleauth restart >/dev/null 2>&1 || true
+ fi
+ endscript
+}
diff --git a/debian/nova-consoleauth.manpages b/debian/nova-consoleauth.manpages
new file mode 100644
index 0000000..8e28693
--- /dev/null
+++ b/debian/nova-consoleauth.manpages
@@ -0,0 +1 @@
+doc/build/man/nova-consoleauth.1
diff --git a/debian/nova-consoleauth.upstart.in b/debian/nova-consoleauth.upstart.in
new file mode 100644
index 0000000..0da5fc7
--- /dev/null
+++ b/debian/nova-consoleauth.upstart.in
@@ -0,0 +1,19 @@
+description "Nova Console"
+author "Vishvananda Ishaya <vishvananda@gmail.com>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+respawn
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova
+end script
+
+exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-consoleauth -- --config-file=/etc/nova/nova.conf
diff --git a/debian/nova-consoleproxy.config b/debian/nova-consoleproxy.config
new file mode 100644
index 0000000..77721fe
--- /dev/null
+++ b/debian/nova-consoleproxy.config
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+. /usr/share/debconf/confmodule
+
+if [ -r /etc/default/nova-consoleproxy ] ; then
+ . /etc/default/nova-consoleproxy
+fi
+
+if [ "${NOVA_CONSOLE_PROXY_TYPE}" = "novnc" ] ; then
+ db_set nova-consoleproxy/daemon_type novnc
+elif [ "${NOVA_CONSOLE_PROXY_TYPE}" = "xenvnc" ] ; then
+ db_set nova-consoleproxy/daemon_type xenvnc
+else
+ db_set nova-consoleproxy/daemon_type spicehtml5
+fi
+db_input medium nova-consoleproxy/daemon_type || true
+db_go
+
+exit 0
diff --git a/debian/nova-consoleproxy.install b/debian/nova-consoleproxy.install
new file mode 100644
index 0000000..b05335f
--- /dev/null
+++ b/debian/nova-consoleproxy.install
@@ -0,0 +1,3 @@
+usr/bin/nova-novncproxy
+usr/bin/nova-spicehtml5proxy
+usr/bin/nova-xvpvncproxy
diff --git a/debian/nova-consoleproxy.logrotate b/debian/nova-consoleproxy.logrotate
new file mode 100644
index 0000000..28d5360
--- /dev/null
+++ b/debian/nova-consoleproxy.logrotate
@@ -0,0 +1,16 @@
+/var/log/nova/nova-consoleproxy.log {
+ daily
+ missingok
+ compress
+ delaycompress
+ create 640 nova nova
+ postrotate
+ if [ -f /var/run/nova-spicehtml5proxy.pid ] ; then \
+ if dpkg-vendor --derives-from ubuntu ; then \
+ echo "TODO: restart the daemon in Ubuntu" ; \
+ else
+ /etc/init.d/nova-spicehtml5proxy restart 2>/dev/null >/dev/null; \
+ fi ; \
+ fi
+ endscript
+}
diff --git a/debian/nova-consoleproxy.manpages b/debian/nova-consoleproxy.manpages
new file mode 100644
index 0000000..f962558
--- /dev/null
+++ b/debian/nova-consoleproxy.manpages
@@ -0,0 +1,2 @@
+doc/build/man/nova-novncproxy.1
+doc/build/man/nova-xvpvncproxy.1
diff --git a/debian/nova-consoleproxy.mydefault b/debian/nova-consoleproxy.mydefault
new file mode 100644
index 0000000..12aa2b2
--- /dev/null
+++ b/debian/nova-consoleproxy.mydefault
@@ -0,0 +1,7 @@
+# The below switch enables you to select which type of console proxy daemon you
+# wish to start at boot time. Possible values are:
+# - spicehtml5
+# - xenvnc
+# - novnc
+
+NOVA_CONSOLE_PROXY_TYPE=spicehtml5
diff --git a/debian/nova-consoleproxy.nova-novncproxy.init b/debian/nova-consoleproxy.nova-novncproxy.init
new file mode 100644
index 0000000..f5de3b3
--- /dev/null
+++ b/debian/nova-consoleproxy.nova-novncproxy.init
@@ -0,0 +1,108 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nova-novncproxy
+# Required-Start: $network $local_fs $remote_fs $syslog
+# Required-Stop: $remote_fs
+# Should-Start: nova-consoleauth
+# Should-Stop: nova-consoleauth
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Nova novncproxy server
+# Description: Frontend Nova novncproxy server
+### END INIT INFO
+
+# Authors: Julien Danjou <acid@debian.org> & Thomas Goirand <zigo@debian.org>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OpenStack Compute novncproxy"
+NAME=nova-novncproxy
+DAEMON=/usr/bin/nova-novncproxy
+DAEMON_ARGS="--config-file=/etc/nova/nova.conf"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+NOVA_USER=nova
+LOCK_DIR=/var/lock/nova/
+
+# Exit if the package is not installed, or the default file not present,
+# or not set to this daemon
+[ -x $DAEMON ] || exit 0
+if ! [ -r /etc/default/nova-consoleproxy ] ; then
+ exit 0
+fi
+. /etc/default/nova-consoleproxy
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+
+if ! [ "${NOVA_CONSOLE_PROXY_TYPE}" = "novnc" ] ; then
+ exit 0
+fi
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/nova-consoleproxy.log"
+
+. /lib/lsb/init-functions
+
+mkdir -p ${LOCK_DIR}
+chown ${NOVA_USER} ${LOCK_DIR}
+
+do_start() {
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+case "$1" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
+esac
+
+exit 0
diff --git a/debian/nova-consoleproxy.nova-novncproxy.upstart.in b/debian/nova-consoleproxy.nova-novncproxy.upstart.in
new file mode 100644
index 0000000..9b7afc2
--- /dev/null
+++ b/debian/nova-consoleproxy.nova-novncproxy.upstart.in
@@ -0,0 +1,25 @@
+description "Nova NoVNC proxy"
+author "Vishvananda Ishaya <vishvananda@gmail.com>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova/
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova/
+end script
+
+script
+ [ -r /etc/default/openstack ] && . /etc/default/openstack
+ [ -r /etc/default/$UPSTART_JOB ] && . /etc/default/$UPSTART_JOB
+
+ [ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+ [ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$UPSTART_JOB.log"
+
+ exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-novncproxy -- --config-file=/etc/nova/nova.conf $DAEMON_ARGS
+end script
diff --git a/debian/nova-consoleproxy.nova-spicehtml5proxy.init b/debian/nova-consoleproxy.nova-spicehtml5proxy.init
new file mode 100644
index 0000000..d69dfed
--- /dev/null
+++ b/debian/nova-consoleproxy.nova-spicehtml5proxy.init
@@ -0,0 +1,107 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nova-spicehtml5proxy
+# Required-Start: $network $local_fs $remote_fs $syslog
+# Required-Stop: $remote_fs
+# Should-Start: nova-consoleauth
+# Should-Stop: nova-consoleauth
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Nova Spice HTML5 Proxy
+# Description: Nova Spice HTML5 Proxy
+### END INIT INFO
+
+# Author: Thomas Goirand <zigo@debian.org>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OpenStack Compute Spice HTML5 Proxy"
+NAME=nova-spicehtml5proxy
+DAEMON=/usr/bin/nova-spicehtml5proxy
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+NOVA_USER=nova
+LOCK_DIR=/var/lock/nova/
+
+# Exit if the package is not installed, or the default file not present,
+# or not set to this daemon
+[ -x $DAEMON ] || exit 0
+if ! [ -r /etc/default/nova-consoleproxy ] ; then
+ exit 0
+fi
+. /etc/default/nova-consoleproxy
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/nova-consoleproxy.log"
+
+if ! [ "${NOVA_CONSOLE_PROXY_TYPE}" = "spicehtml5" ] ; then
+ exit 0
+fi
+
+mkdir -p ${LOCK_DIR}
+chown ${NOVA_USER} ${LOCK_DIR}
+
+. /lib/lsb/init-functions
+
+do_start() {
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+case "$1" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
+esac
+
diff --git a/debian/nova-consoleproxy.nova-spicehtml5proxy.upstart.in b/debian/nova-consoleproxy.nova-spicehtml5proxy.upstart.in
new file mode 100644
index 0000000..7b81f70
--- /dev/null
+++ b/debian/nova-consoleproxy.nova-spicehtml5proxy.upstart.in
@@ -0,0 +1,25 @@
+description "Nova spice proxy"
+author "Chuck Short <zulcss@ubnuntu.com"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova/
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova/
+end script
+
+script
+ [ -r /etc/default/openstack ] && . /etc/default/openstack
+ [ -r /etc/default/$UPSTART_JOB ] && . /etc/default/$UPSTART_JOB
+
+ [ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+ [ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$UPSTART_JOB.log"
+
+ exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-spicehtml5proxy -- --config-file=/etc/nova/nova.conf $DAEMON_ARGS
+end script
diff --git a/debian/nova-consoleproxy.nova-xenvncproxy.init b/debian/nova-consoleproxy.nova-xenvncproxy.init
new file mode 100644
index 0000000..a9f8bab
--- /dev/null
+++ b/debian/nova-consoleproxy.nova-xenvncproxy.init
@@ -0,0 +1,106 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nova-xvpvncproxy
+# Required-Start: $network $local_fs $remote_fs $syslog
+# Required-Stop: $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Nova XVP VNC proxy
+# Description: Nova XVP VNC proxy
+### END INIT INFO
+
+# Authors: Julien Danjou <acid@debian.org> & Thomas Goirand <zigo@debian.org>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OpenStack XVP VNC proxy"
+NAME=nova-xvpvncproxy
+DAEMON=/usr/bin/nova-xvpvncproxy
+DAEMON_ARGS="--config-file=/etc/nova/nova.conf"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+NOVA_USER=nova
+LOCK_DIR=/var/lock/nova/
+
+# Exit if the package is not installed, or the default file not present,
+# or not set to this daemon
+[ -x $DAEMON ] || exit 0
+if ! [ -r /etc/default/nova-consoleproxy ] ; then
+ exit 0
+fi
+. /etc/default/nova-consoleproxy
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+
+if ! [ "${NOVA_CONSOLE_PROXY_TYPE}" = "xenvnc" ] ; then
+ exit 0
+fi
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/nova-consoleproxy.log"
+
+mkdir -p ${LOCK_DIR}
+chown ${NOVA_USER} ${LOCK_DIR}
+
+. /lib/lsb/init-functions
+
+do_start() {
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --background --quiet --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+case "$1" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+ ;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
+esac
+
+exit 0
diff --git a/debian/nova-consoleproxy.postinst b/debian/nova-consoleproxy.postinst
new file mode 100644
index 0000000..3e97b9a
--- /dev/null
+++ b/debian/nova-consoleproxy.postinst
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+set -e
+
+DEF_FILE=/etc/default/nova-consoleproxy
+
+if [ "${1}" = "configure" ] || [ "$1" = "reconfigure" ] ; then
+ if [ ! -e ${DEF_FILE} ] && [ -r /usr/share/nova-consoleproxy/default ] ; then
+ cp /usr/share/nova-consoleproxy/default ${DEF_FILE}
+ fi
+ if [ ! -r ${DEF_FILE} ] ; then
+ exit 0
+ fi
+
+ . /usr/share/debconf/confmodule
+ db_get nova-consoleproxy/daemon_type
+ DAEMON_TYPE=$RET
+ if ! grep -E -q "^[- \t]*NOVA_CONSOLE_PROXY_TYPE=" ${DEF_FILE} ; then
+ echo "xenapi_connection_url=" >> ${DEF_FILE}
+ fi
+ sed -i "s#^[- \t]*NOVA_CONSOLE_PROXY_TYPE=.*#NOVA_CONSOLE_PROXY_TYPE=${DAEMON_TYPE}#" ${DEF_FILE}
+ db_stop
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/nova-consoleproxy.postrm b/debian/nova-consoleproxy.postrm
new file mode 100644
index 0000000..53b8a3c
--- /dev/null
+++ b/debian/nova-consoleproxy.postrm
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "purge" ] ; then
+ rm -f /var/log/nova/nova-*proxy.log*
+ rm -f /etc/default/nova-consoleproxy
+fi
+
+
+#DEBHELPER#
diff --git a/debian/nova-consoleproxy.templates b/debian/nova-consoleproxy.templates
new file mode 100644
index 0000000..45f490e
--- /dev/null
+++ b/debian/nova-consoleproxy.templates
@@ -0,0 +1,12 @@
+Template: nova-consoleproxy/daemon_type
+Type: select
+Choices: spicehtml5, xenvnc, novnc
+Default: spicehtml5
+_Description: Type of console daemon to start at boot time:
+ Nova Console supports 3 types of consoles. One is specific to Xen, called
+ XVP (Xen VNC Proxy), and the other daemon supports KVM. While the SPICE
+ protocol is normally faster than VNC, it also requires support for web
+ sockets in your browser, and that is a feature only very modern browsers
+ have support for.
+ .
+ This can later be edited in /etc/default/nova-consoleproxy.
diff --git a/debian/nova-doc.doc-base b/debian/nova-doc.doc-base
new file mode 100644
index 0000000..8ae125e
--- /dev/null
+++ b/debian/nova-doc.doc-base
@@ -0,0 +1,9 @@
+Document: nova-doc
+Title: Nova Documentation
+Author: OpenStack
+Abstract: Sphinx documentation for Nova
+Section: Network/File Transfer
+
+Format: HTML
+Index: /usr/share/doc/nova-doc/html/index.html
+Files: /usr/share/doc/nova-doc/html/*
diff --git a/debian/nova-network.dirs b/debian/nova-network.dirs
new file mode 100644
index 0000000..858f03a
--- /dev/null
+++ b/debian/nova-network.dirs
@@ -0,0 +1 @@
+/var/lib/nova/networks
diff --git a/debian/nova-network.init b/debian/nova-network.init
new file mode 100644
index 0000000..6ea1c52
--- /dev/null
+++ b/debian/nova-network.init
@@ -0,0 +1,100 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nova-network
+# Required-Start: $network $local_fs $remote_fs $syslog
+# Required-Stop: $remote_fs
+# Should-Start: postgresql mysql keystone
+# Should-Stop: postgresql mysql keystone
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Nova Network
+# Description: Provides network resources
+### END INIT INFO
+
+# Author: Julien Danjou <acid@debian.org>, Thomas Goirand <zigo@debian.org>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OpenStack Compute Network"
+NAME=nova-network
+DAEMON=/usr/bin/nova-network
+DAEMON_ARGS="--config-file=/etc/nova/nova.conf"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+NOVA_USER=nova
+LOCK_DIR=/var/lock/nova/
+
+# Exit if the package is not installed
+[ -x $DAEMON ] || exit 0
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$NAME.log"
+
+mkdir -p ${LOCK_DIR}
+chown ${NOVA_USER} ${LOCK_DIR}
+
+. /lib/lsb/init-functions
+
+do_start() {
+ start-stop-daemon --start --quiet --background --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --quiet --background --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+case "$1" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
+esac
+
+exit 0
diff --git a/debian/nova-network.install b/debian/nova-network.install
new file mode 100644
index 0000000..b684246
--- /dev/null
+++ b/debian/nova-network.install
@@ -0,0 +1,3 @@
+etc/nova/rootwrap.d/network.filters
+usr/bin/nova-dhcpbridge
+usr/bin/nova-network
diff --git a/debian/nova-network.logrotate b/debian/nova-network.logrotate
new file mode 100644
index 0000000..8382a45
--- /dev/null
+++ b/debian/nova-network.logrotate
@@ -0,0 +1,15 @@
+/var/log/nova/nova-network.log {
+ daily
+ missingok
+ compress
+ delaycompress
+ notifempty
+}
+
+/var/log/nova/nova-dhcpbridge.log {
+ daily
+ missingok
+ compress
+ delaycompress
+ notifempty
+}
diff --git a/debian/nova-network.manpages b/debian/nova-network.manpages
new file mode 100644
index 0000000..ab50310
--- /dev/null
+++ b/debian/nova-network.manpages
@@ -0,0 +1,2 @@
+doc/build/man/nova-network.1
+doc/build/man/nova-dhcpbridge.1
diff --git a/debian/nova-network.postrm b/debian/nova-network.postrm
new file mode 100644
index 0000000..0afd64b
--- /dev/null
+++ b/debian/nova-network.postrm
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "purge" ] ; then
+ rm -f /var/log/nova/nova-network.log*
+ rm -f /var/log/nova/nova-dhcpbridge.log*
+fi
+
+#DEBHELPER#
diff --git a/debian/nova-network.upstart.in b/debian/nova-network.upstart.in
new file mode 100644
index 0000000..746bae2
--- /dev/null
+++ b/debian/nova-network.upstart.in
@@ -0,0 +1,25 @@
+description "Nova network worker"
+author "Soren Hansen <soren@linux2go.dk>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova/
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova/
+end script
+
+script
+ [ -r /etc/default/openstack ] && . /etc/default/openstack
+ [ -r /etc/default/$UPSTART_JOB ] && . /etc/default/$UPSTART_JOB
+
+ [ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+ [ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$UPSTART_JOB.log"
+
+ exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-network -- --config-file=/etc/nova/nova.conf $DAEMON_ARGS
+end script
diff --git a/debian/nova-scheduler.init b/debian/nova-scheduler.init
new file mode 100644
index 0000000..a40d726
--- /dev/null
+++ b/debian/nova-scheduler.init
@@ -0,0 +1,100 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nova-scheduler
+# Required-Start: $network $local_fs $remote_fs $syslog
+# Required-Stop: $remote_fs
+# Should-Start: postgresql mysql keystone
+# Should-Stop: postgresql mysql keystone
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Nova Scheduler
+# Description: Schedules instances, volumes, etc. for Nova
+### END INIT INFO
+
+# Author: Julien Danjou <acid@debian.org>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OpenStack Compute Scheduler"
+NAME=nova-scheduler
+DAEMON=/usr/bin/nova-scheduler
+DAEMON_ARGS="--config-file=/etc/nova/nova.conf"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+NOVA_USER=nova
+LOCK_DIR=/var/lock/nova/
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$NAME.log"
+
+# Exit if the package is not installed
+[ -x $DAEMON ] || exit 0
+
+mkdir -p ${LOCK_DIR}
+chown ${NOVA_USER} ${LOCK_DIR}
+
+. /lib/lsb/init-functions
+
+do_start() {
+ start-stop-daemon --start --quiet --background --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --quiet --background --chuid ${NOVA_USER}:nova --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+case "$1" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
+esac
+
+exit 0
diff --git a/debian/nova-scheduler.install b/debian/nova-scheduler.install
new file mode 100644
index 0000000..5607608
--- /dev/null
+++ b/debian/nova-scheduler.install
@@ -0,0 +1,2 @@
+usr/bin/nova-clear-rabbit-queues
+usr/bin/nova-scheduler
diff --git a/debian/nova-scheduler.logrotate b/debian/nova-scheduler.logrotate
new file mode 100644
index 0000000..75ba7ad
--- /dev/null
+++ b/debian/nova-scheduler.logrotate
@@ -0,0 +1,14 @@
+/var/log/nova/nova-scheduler.log {
+ daily
+ missingok
+ compress
+ delaycompress
+ notifempty
+ postrotate
+ if dpkg-vendor --derives-from ubuntu ; then
+ service nova-scheduler restart >/dev/null 2>&1 || true
+ else
+ invoke-rc.d nova-scheduler restart >/dev/null 2>&1 || true
+ fi
+ endscript
+}
diff --git a/debian/nova-scheduler.manpages b/debian/nova-scheduler.manpages
new file mode 100644
index 0000000..38edf91
--- /dev/null
+++ b/debian/nova-scheduler.manpages
@@ -0,0 +1,2 @@
+doc/build/man/nova-scheduler.1
+doc/build/man/nova-rpc-zmq-receiver.1
diff --git a/debian/nova-scheduler.postrm b/debian/nova-scheduler.postrm
new file mode 100644
index 0000000..a66acea
--- /dev/null
+++ b/debian/nova-scheduler.postrm
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "purge" ] ; then
+ rm -f /var/log/nova/nova-scheduler.log*
+fi
+
+
+#DEBHELPER#
diff --git a/debian/nova-scheduler.upstart.in b/debian/nova-scheduler.upstart.in
new file mode 100644
index 0000000..f98e0fb
--- /dev/null
+++ b/debian/nova-scheduler.upstart.in
@@ -0,0 +1,26 @@
+description "Nova scheduler"
+author "Soren Hansen <soren@linux2go.dk>"
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+
+chdir /var/run
+
+pre-start script
+ mkdir -p /var/run/nova
+ chown nova:root /var/run/nova/
+
+ mkdir -p /var/lock/nova
+ chown nova:root /var/lock/nova/
+end script
+
+script
+ [ -r /etc/default/openstack ] && . /etc/default/openstack
+ [ -r /etc/default/$UPSTART_JOB ] && . /etc/default/$UPSTART_JOB
+
+ [ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+ [ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file /var/log/nova/$UPSTART_JOB.log"
+
+ exec start-stop-daemon --start --chuid nova --exec /usr/bin/nova-scheduler -- --config-file=/etc/nova/nova.conf $DAEMON_ARGS
+end script
diff --git a/debian/nova-xcp-plugins.docs b/debian/nova-xcp-plugins.docs
new file mode 100644
index 0000000..1d7ad98
--- /dev/null
+++ b/debian/nova-xcp-plugins.docs
@@ -0,0 +1 @@
+debian/README.xcp_and_openstack
diff --git a/debian/nova-xcp-plugins.init b/debian/nova-xcp-plugins.init
new file mode 100644
index 0000000..f755e7c
--- /dev/null
+++ b/debian/nova-xcp-plugins.init
@@ -0,0 +1,169 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides: nova-xcp-plugins nova-xcp-network
+# Required-Start: $remote_fs $syslog xcp-networkd
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Apply initial OVS flows for Nova and network rules.
+# Description: Apply initial OVS flows for Nova, and setup networking
+# host rules for multi tenancy protections.
+### END INIT INFO
+
+# Written by Thomas Goirand <zigo@debian.org> using
+# plugins/xenserver/networking/etc/init.d/{openvswitch-nova,host-up}
+# as examples.
+#
+# 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.
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+DESC="XCP openvswitch networking rules"
+NAME="xcp-network"
+
+OVS_CONFIGURE_BASE_FLOWS=/usr/lib/xcp/plugins/ovs_configure_base_flows.py
+IPTABLES=/sbin/iptables
+EBTABLES=/sbin/ebtables
+ARPTABLES=/sbin/arptables
+
+. /lib/lsb/init-functions
+
+# Quick check if everything is there...
+if ! [ -x ${OVS_CONFIGURE_BASE_FLOWS} ] ; then
+ exit 0
+fi
+if ! [ -x ${IPTABLES} -a -x ${EBTABLES} -a -x ${ARPTABLES} ] ; then
+ exit 0
+fi
+if ! [ -x /usr/bin/ovs-ofctl -a -x /usr/bin/ovs-vsctl -a -x /sbin/ip ] ; then
+ exit 0
+fi
+
+# Load the VERBOSE setting and other rcS variables
+[ -r /lib/init/vars.sh ] && . /lib/init/vars.sh
+
+# Get $INTERFACES from /etc/default/openvswitch-nova,
+# default to all what is available.
+if [ -r /etc/default/openvswitch-nova ] ; then
+ . /etc/default/openvswitch-nova
+fi
+if [ -z "${INTERFACES}" ] ; then
+ INTERFACES=$(cd /sys/class/net/; /bin/ls -d eth*)
+fi
+
+# Get $NETWORK_MODE from /etc/xcp/network.conf,
+# default to openvswitch
+if [ -e /etc/xcp/network.conf ] ; then
+ NETWORK_MODE=`cat /etc/xcp/network.conf`
+fi
+
+if [ -z "${NETWORK_MODE}" ] ; then
+ NETWORK_MODE=openvswitch
+fi
+
+# Check validity of $NETWORK_MODE
+case "${NETWORK_MODE}" in
+vswitch|openvswitch)
+ ;;
+bridge)
+ exit 0
+ ;;
+*)
+ echo "Open vSwitch disabled (/etc/xcp/network.conf is invalid)" >&2
+ exit 0
+ ;;
+esac
+
+run_ovs_conf_base_flows () {
+ my_action="${1}"
+ my_all_interfaces=$(cd /sys/class/net/; /bin/ls -d eth*)
+ for i in ${INTERFACES} ; do
+ /usr/bin/python $OVS_CONFIGURE_BASE_FLOWS $my_action $i
+ done
+}
+
+# Functions to configure the firewall to work with openvswitch, XCP and nova
+iptables_up () {
+ ${IPTABLES} -P FORWARD DROP
+ for i in ${INTERFACES} ; do
+ ${IPTABLES} -A FORWARD -m physdev --physdev-in ${i} -j ACCEPT
+ done
+}
+ebtables_up () {
+ ${EBTABLES} -P FORWARD DROP
+ for i in ${INTERFACES} ; do
+ ${EBTABLES} -A FORWARD -o ${i} -j ACCEPT
+ done
+}
+arptables_up () {
+ ${ARPTABLES} -P FORWARD DROP
+ for i in ${INTERFACES} ; do
+ ${ARPTABLES} -A FORWARD --opcode Request --in-interface ${i} -j ACCEPT
+ ${ARPTABLES} -A FORWARD --opcode Reply --in-interface ${i} -j ACCEPT
+ done
+}
+iptables_down () {
+ ${IPTABLES} -P FORWARD ACCEPT
+ for i in ${INTERFACES} ; do
+ ${IPTABLES} -D FORWARD -m physdev --physdev-in ${i} -j ACCEPT
+ done
+}
+ebtables_down () {
+ ${EBTABLES} -P FORWARD ACCEPT
+ for i in ${INTERFACES} ; do
+ ${EBTABLES} -D FORWARD -o ${i} -j ACCEPT
+ done
+}
+arptables_down () {
+ ${ARPTABLES} -P FORWARD ACCEPT
+ for i in ${INTERFACES} ; do
+ ${ARPTABLES} -D FORWARD --opcode Request --in-interface ${i} -j ACCEPT
+ ${ARPTABLES} -D FORWARD --opcode Reply --in-interface ${i} -j ACCEPT
+ done
+}
+
+case "${1}" in
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ iptables_up
+ ebtables_up
+ arptables_up
+ run_ovs_conf_base_flows online
+ log_end_msg 0
+ ;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ run_ovs_conf_base_flows offline
+ iptables_down
+ ebtables_down
+ arptables_down
+ log_end_msg 0
+ ;;
+reload|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ run_ovs_conf_base_flows reset
+ log_end_msg 0
+ ;;
+restart)
+ $0 start
+ sleep 1
+ $0 stop
+ ;;
+*)
+ echo "Usage: $0 {start|stop|status|restart|reload|force-reload}" >&2
+ ;;
+esac
+
+exit 0
diff --git a/debian/nova-xcp-plugins.install b/debian/nova-xcp-plugins.install
new file mode 100644
index 0000000..0aeaa21
--- /dev/null
+++ b/debian/nova-xcp-plugins.install
@@ -0,0 +1,13 @@
+
+debian/xen-openvswitch-nova.rules /lib/udev/rules.d
+plugins/xenserver/networking/etc/sysconfig/openvswitch-nova /etc/default
+plugins/xenserver/networking/etc/xensource/scripts/novalib.py /usr/lib/xcp/plugins
+plugins/xenserver/networking/etc/xensource/scripts/ovs_configure_base_flows.py /usr/lib/xcp/plugins
+plugins/xenserver/networking/etc/xensource/scripts/ovs_configure_vif_flows.py /usr/lib/xcp/plugins
+plugins/xenserver/networking/etc/xensource/scripts/vif_rules.py /usr/lib/xcp/plugins
+plugins/xenserver/xenapi/etc/xapi.d/plugins/agent /usr/lib/xcp/plugins
+plugins/xenserver/xenapi/etc/xapi.d/plugins/glance /usr/lib/xcp/plugins
+plugins/xenserver/xenapi/etc/xapi.d/plugins/migration /usr/lib/xcp/plugins
+plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py /usr/lib/xcp/plugins
+plugins/xenserver/xenapi/etc/xapi.d/plugins/xenhost /usr/lib/xcp/plugins
+plugins/xenserver/xenapi/etc/xapi.d/plugins/xenstore.py /usr/lib/xcp/plugins
diff --git a/debian/nova-xcp-plugins.postrm b/debian/nova-xcp-plugins.postrm
new file mode 100644
index 0000000..b992261
--- /dev/null
+++ b/debian/nova-xcp-plugins.postrm
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "purge" ] ; then
+ rm -f /etc/xcp/xenhost.conf
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/nova.conf b/debian/nova.conf
new file mode 100644
index 0000000..9773dbd
--- /dev/null
+++ b/debian/nova.conf
@@ -0,0 +1,597 @@
+# Full list of options available at: http://wiki.openstack.org/NovaConfigOptions
+[DEFAULT]
+
+### nova.availability_zones ###
+###############################
+# availability_zone to show internal services under (string value)
+#internal_service_availability_zone=internal
+
+# default compute node availability_zone (string value)
+#default_availability_zone=nova
+
+### nova.crypto ###
+###################
+# Filename of root CA (string value)
+#ca_file=cacert.pem
+
+# Filename of private key (string value)
+#key_file=private/cakey.pem
+
+# Filename of root Certificate Revocation List (string value)
+#crl_file=crl.pem
+
+# Where we keep our keys (string value)
+#keys_path=$state_path/keys
+
+# Where we keep our root CA (string value)
+#ca_path=$state_path/CA
+
+# Should we use a CA for each project? (boolean value)
+#use_project_ca=false
+
+# Subject for certificate for users, %s for project, user,
+# timestamp (string value)
+#user_cert_subject=/C=US/ST=California/O=OpenStack/OU=NovaDev/CN=%.16s-%.16s-%s
+
+# Subject for certificate for projects, %s for project,
+# timestamp (string value)
+#project_cert_subject=/C=US/ST=California/O=OpenStack/OU=NovaDev/CN=project-ca-%.16s-%s
+
+### nova.exception ###
+# make exception message format errors fatal (boolean value)
+#fatal_exception_format_errors=false
+
+### nova.manager ###
+# Some periodic tasks can be run in a separate process. Should
+# we run them here? (boolean value)
+#run_external_periodic_tasks=true
+
+#############################
+# Mandatory general options #
+#############################
+# ip address of this host (string value)
+my_ip=192.168.206.130
+#use_ipv6=false
+
+
+########
+# APIs #
+########
+# Selects the type of APIs you want to activate.
+# Each API will bind on a specific port.
+# Compute nodes should run only the metadata API,
+# a nova API endpoint node should run osapi_compute.
+# If you want to use nova-volume you can also enable
+# osapi_volume, but if you want to run cinder, do not
+# activate it.
+# The list of API is: ec2,osapi_compute,metadata,osapi_volume
+enabled_apis=ec2,osapi_compute,metadata
+
+# NOVA API #
+# # # # # #
+#osapi_compute_listen="0.0.0.0"
+#osapi_compute_listen_port=8774
+
+#api_paste_config=api-paste.ini
+
+# Allows use of instance password during server creation
+#enable_instance_password=true
+
+
+# Name of this node. This can be an opaque identifier. It is
+# not necessarily a hostname, FQDN, or IP address. However,
+# the node name must be valid within an AMQP key, and if using
+# ZeroMQ, a valid hostname, FQDN, or IP address (string value)
+#host="firefly-2.local"
+
+#######################
+# Nova API extentions #
+#######################
+# osapi compute extension to load (multi valued)
+#osapi_compute_extension=nova.api.openstack.compute.contrib.standard_extensions
+
+# Specify list of extensions to load when using
+# osapi_compute_extension option with
+# nova.api.openstack.compute.contrib.select_extensions (list value)
+#osapi_compute_ext_list=""
+
+# Permit instance snapshot operations. (boolean value)
+#allow_instance_snapshots=true
+
+# S3 #
+# # #
+#s3_host=$my_ip
+#s3_port=3333
+
+# EC2 API #
+# # # # # #
+#ec2_host="$my_ip"
+#ec2_dmz_host="$my_ip"
+#ec2_private_dns_show_ip=True
+#ec2_path="/services/Cloud"
+#ec2_port=8773
+# the protocol to use when connecting to the ec2 api server (http, https) (string value)
+#ec2_scheme=http
+
+# port and IP for ec2 api to listen
+#ec2_listen="0.0.0.0"
+#ec2_listen_port=8773
+
+# Metadata API #
+# # # # # # # #
+#metadata_host=$my_ip
+#metadata_port=8775
+#metadata_listen=0.0.0.0
+
+########
+# MISC #
+########
+#resume_guests_state_on_host_boot=false
+#instance_name_template="instance-%08x"
+# Inject the admin password at boot time, without an agent.
+#libvirt_inject_password=false
+
+########
+# LOGS #
+########
+#log-date-format="%Y-%m-%d %H:%M:%S"
+#debug=false
+
+##########
+# SYSTEM #
+##########
+state_path=/var/lib/nova
+lock_path=/var/lock/nova
+rootwrap_config=/etc/nova/rootwrap.conf
+#memcached_servers=<None>
+
+##################
+# AUTHENTICATION #
+##################
+auth_strategy=keystone
+# Seconds for auth tokens to linger
+
+#############
+# SCHEDULER #
+#############
+#scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
+
+####################
+# VOLUMES / CINDER #
+####################
+# The full class name of the volume API class to use (string value)
+#volume_api_class=nova.volume.cinder.API
+
+# Allow to perform insecure SSL requests to cinder (boolean value)
+#cinder_api_insecure=false
+
+# Allow attach between instance and volume in different
+# availability zones. (boolean value)
+#cinder_cross_az_attach=true
+
+# Libvirt handlers for remote volumes. (list value)
+#libvirt_volume_drivers=iscsi=nova.virt.libvirt.volume.LibvirtISCSIVolumeDriver,local=nova.virt.libvirt.volume.LibvirtVolumeDriver,fake=nova.virt.libvirt.volume.LibvirtFakeVolumeDriver,rbd=nova.virt.libvirt.volume.LibvirtNetVolumeDriver,sheepdog=nova.virt.libvirt.volume.LibvirtNetVolumeDriver,nfs=nova.virt.libvirt.volume.LibvirtNFSVolumeDriver,aoe=nova.virt.libvirt.volume.LibvirtAOEVolumeDriver,glusterfs=nova.virt.libvirt.volume.LibvirtGlusterfsVolumeDriver,fibre_channel=nova.virt.libvirt.volume.LibvirtFibreChannelVolumeDriver,scality=nova.virt.libvirt.volume.LibvirtScalityVolumeDriver
+
+############
+# RABBITMQ #
+############
+rabbit_host = 127.0.0.1
+#fake_rabbit=false
+#rabbit_virtual_host=/
+rabbit_userid = guest
+rabbit_password = guest
+#rabbit_port=5672
+#rabbit_use_ssl=false
+#rabbit_retry_interval=1
+# The messaging module to use, defaults to kombu (works for rabbit).
+# You can also use qpid: nova.rpc.impl_qpid
+rpc_backend = nova.openstack.common.rpc.impl_kombu
+
+##########
+# GLANCE #
+##########
+#glance_host=$my_ip
+#glance_port=9292
+#glance_protocol=http
+
+# A list of the glance api servers available to nova. Prefix
+# with https:// for ssl-based glance api servers.
+# ([hostname|ip]:port) (list value)
+#glance_api_servers=$glance_host:$glance_port
+#glance_api_servers=192.168.0.1:9292
+
+# Allow to perform insecure SSL (https) requests to glance (boolean value)
+#glance_api_insecure=false
+
+# Cache glance images locally
+#cache_images=true
+# Number retries when downloading an image from glance (integer value)
+#glance_num_retries=0
+
+###############################
+# Type of network APIs to use #
+###############################
+# The full class name of the network API class to use (string value)
+# Possible values are:
+# nova.network.api.API (if you wish to use nova-network)
+# nova.network.neutronv2.api.API (if you want to use Neutron)
+network_api_class=nova.network.neutronv2.api.API
+
+# Type of security group API. Possible values are:
+# nova (if you are using nova-network)
+# neutron (if you use neutron)
+security_group_api = neutron
+
+# Driver used to create ethernet devices. (string value)
+# When using linux net, use: nova.network.linux_net.LinuxBridgeInterfaceDriver
+# for Neutron, use: nova.network.linux_net.LinuxOVSInterfaceDriver
+linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver
+
+# Firewall type to use. (defaults to hypervisor specific iptables driver) (string value)
+# For linux net, use: nova.virt.libvirt.firewall.IptablesFirewallDriver
+# For Neutron and OVS, use: nova.virt.firewall.NoopFirewallDriver (since this is handled by Neutron)
+###firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
+firewall_driver=nova.virt.firewall.NoopFirewallDriver
+
+#######################
+# NETWORK (linux net) #
+#######################
+#network_manager=nova.network.manager.VlanManager
+#force_dhcp_release=false
+#dhcpbridge_flagfile=/etc/nova/nova-dhcpbridge.conf
+#dhcpbridge=$bindir/nova-dhcpbridge
+#dhcp_lease_time=120
+# Firewall driver (defaults to hypervisor specific iptables driver) (string value)
+#firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
+# Interface for public IP addresses (default: eth0) (string value)
+#public_interface=br-ext
+# vlans will bridge into this interface if set (default: <None>) (string value)
+# FlatDhcp will bridge into this interface if set (default: <None>) (string value)
+#vlan_interface=eth1
+# Bridge for simple network instances (default: <None>) (string value)
+#flat_network_bridge=br100
+# FlatDhcp will bridge into this interface if set (default: <None>) (string value)
+#flat_interface=eth0
+
+# set it to the /32 of your metadata server if you have just one
+# It is a cidr in case there are multiple services that you want
+# to keep using the internal private ips.
+# A list of dmz range that should be accepted (list value)
+#dmz_cidr=169.254.169.254/32
+# Name of Open vSwitch bridge used with linuxnet (string value)
+#linuxnet_ovs_integration_bridge="br-int"
+#routing_source_ip="$my_ip"
+# Only first nic of vm will get default gateway from dhcp server
+#use_single_default_gateway=false
+
+###########
+# Neutron #
+###########
+# This is the URL of your neutron server:
+neutron_url=http://127.0.0.1:9696
+neutron_auth_strategy=keystone
+neutron_admin_tenant_name=admin
+neutron_admin_username=admin
+neutron_admin_password=XXXX
+# This is the URL of your Keystone server
+neutron_admin_auth_url=http://127.0.0.1:35357/v2.0
+
+# What's below is only needed for nova-compute.
+
+# Set flag to indicate Neutron will proxy metadata requests
+# and resolve instance ids. This is needed to use neutron-metadata-agent
+# (instead of the metadata server of nova-api,
+# which doesn't work with neutron) (boolean value)
+service_neutron_metadata_proxy=True
+
+# Shared secret to validate proxies Neutron metadata requests
+# This password should match what is in /etc/neutron/metadata_agent.ini
+# (string value)
+#neutron_metadata_proxy_shared_secret=
+
+#################
+# NOVNC CONSOLE #
+#################
+# By default with the Debian package, the spicehtml5 console is the default. To
+# enable the NoVNC mode, enable the switch below, disable SPICE in this
+# nova.conf file as well (see far below), then edit
+# /etc/default/nova-consoleproxy to switch to NoVNC, shutdown the SPICE with
+# /etc/init.d/nova-spicehtml5proxy stop, and finally start nova-novncproxy.
+# Do not forget to restart Nova daemons and restart your VMs if you want to use
+# NoVNC form now on (VMs video card needs to be attached to a console type, and
+# they can accept only one video card at a time).
+vnc_enabled=false
+#novncproxy_base_url=http://192.168.0.1:6080/vnc_auto.html
+# Change vncserver_proxyclient_address and vncserver_listen to match each compute host
+#vncserver_proxyclient_address=127.0.0.1
+vncserver_listen=0.0.0.0
+vnc_keymap="en-us"
+
+######################################
+# nova-xenvncproxy (eg: xvpvncproxy) #
+######################################
+# See NoVNC comments above for switching away from SPICE to XVP
+#xvpvncproxy_host="0.0.0.0"
+#xvpvncproxy_port=6081
+
+#########
+# QUOTA #
+#########
+# number of instances allowed per project (integer value)
+#quota_instances=10
+# number of instance cores allowed per project (integer value)
+#quota_cores=20
+# megabytes of instance ram allowed per project (integer value)
+#quota_ram=51200
+# number of floating ips allowed per project (integer value)
+#quota_floating_ips=10
+# number of metadata items allowed per instance (integer value)
+#quota_metadata_items=128
+# number of injected files allowed (integer value)
+#quota_injected_files=5
+# number of bytes allowed per injected file (integer value)
+#quota_injected_file_content_bytes=10240
+# number of bytes allowed per injected file path (integer value)
+#quota_injected_file_path_bytes=255
+# number of security groups per project (integer value)
+#quota_security_groups=10
+# number of security rules per security group (integer value)
+#quota_security_group_rules=20
+# number of key pairs per user (integer value)
+#quota_key_pairs=100
+# number of seconds until a reservation expires (integer value)
+#reservation_expire=86400
+# count of reservations until usage is refreshed (integer value)
+#until_refresh=0
+# number of seconds between subsequent usage refreshes (integer value)
+#max_age=0
+# default driver to use for quota checks (string value)
+#quota_driver=nova.quota.DbQuotaDriver
+
+############
+# DATABASE #
+############
+[database]
+sql_connection=sqlite:////var/lib/nova/novadb
+
+
+#############
+# CONDUCTOR #
+#############
+[conductor]
+# Perform nova-conductor operations locally (boolean value)
+#use_local=false
+# the topic conductor nodes listen on (string value)
+#topic=conductor
+# full class name for the Manager for conductor (string value)
+#manager=nova.conductor.manager.ConductorManager
+
+#########
+# CELLS #
+#########
+[cells]
+# Cells communication driver to use (string value)
+#driver=nova.cells.rpc_driver.CellsRPCDriver
+
+# Number of seconds after an instance was updated or deleted
+# to continue to update cells (integer value)
+#instance_updated_at_threshold=3600
+
+# Number of instances to update per periodic task run (integer
+# value)
+#instance_update_num_instances=1
+
+# Maximum number of hops for cells routing. (integer value)
+#max_hop_count=10
+
+# Cells scheduler to use (string value)
+#scheduler=nova.cells.scheduler.CellsScheduler
+
+# Enable cell functionality (boolean value)
+#enable=false
+
+# the topic cells nodes listen on (string value)
+#topic=cells
+
+# Manager for cells (string value)
+#manager=nova.cells.manager.CellsManager
+
+# name of this cell (string value)
+#name=nova
+
+# Key/Multi-value list with the capabilities of the cell (list
+# value)
+#capabilities=hypervisor=xenserver;kvm,os=linux;windows
+
+# Seconds to wait for response from a call to a cell. (integer
+# value)
+#call_timeout=60
+
+# Percentage of cell capacity to hold in reserve. Affects both
+# memory and disk utilization (floating point value)
+#reserve_percent=10.0
+
+# Type of cell: api or compute (string value)
+#cell_type=<None>
+
+# Base queue name to use when communicating between cells.
+# Various topics by message type will be appended to this.
+# (string value)
+#rpc_driver_queue_base=cells.intercell
+
+# Filter classes the cells scheduler should use. An entry of
+# "nova.cells.filters.all_filters"maps to all cells filters
+# included with nova. (list value)
+#scheduler_filter_classes=nova.cells.filters.all_filters
+
+# Weigher classes the cells scheduler should use. An entry of
+# "nova.cells.weights.all_weighers"maps to all cell weighers
+# included with nova. (list value)
+#scheduler_weight_classes=nova.cells.weights.all_weighers
+
+# How many retries when no cells are available. (integer
+# value)
+#scheduler_retries=10
+
+# How often to retry in seconds when no cells are available.
+# (integer value)
+#scheduler_retry_delay=2
+
+# Seconds between getting fresh cell info from db. (integer
+# value)
+#db_check_interval=60
+
+# Multiplier used to weigh mute children. (The value should
+# be negative.) (floating point value)
+#mute_weight_multiplier=-10.0
+
+# Weight value assigned to mute children. (The value should
+# be positive.) (floating point value)
+#mute_weight_value=1000.0
+
+# Number of seconds after which a lack of capability and
+# capacity updates signals the child cell is to be treated as
+# a mute. (integer value)
+#mute_child_interval=300
+
+# Multiplier used for weighing ram. Negative numbers mean to
+# stack vs spread. (floating point value)
+#ram_weight_multiplier=10.0
+
+#############
+# BAREMETAL #
+#############
+[baremetal]
+# The backend to use for bare-metal database (string value)
+#db_backend=sqlalchemy
+
+# The SQLAlchemy connection string used to connect to the
+# bare-metal database (string value)
+#sql_connection=sqlite:///$state_path/baremetal_$sqlite_db
+
+# Whether baremetal compute injects password or not (boolean value)
+#inject_password=true
+
+# Template file for injected network (string value)
+#injected_network_template=$pybasedir/nova/virt/baremetal/interfaces.template
+
+# Baremetal VIF driver. (string value)
+#vif_driver=nova.virt.baremetal.vif_driver.BareMetalVIFDriver
+
+# Baremetal volume driver. (string value)
+#volume_driver=nova.virt.baremetal.volume_driver.LibvirtVolumeDriver
+
+# a list of additional capabilities corresponding to
+# instance_type_extra_specs for this compute host to
+# advertise. Valid entries are name=value, pairs For example,
+# "key1:val1, key2:val2" (list value)
+#instance_type_extra_specs=
+
+# Baremetal driver back-end (pxe or tilera) (string value)
+#driver=nova.virt.baremetal.pxe.PXE
+
+# Baremetal power management method (string value)
+#power_manager=nova.virt.baremetal.ipmi.IPMI
+
+# Baremetal compute node's tftp root path (string value)
+#tftp_root=/tftpboot
+
+# path to baremetal terminal program (string value)
+#terminal=shellinaboxd
+
+# path to baremetal terminal SSL cert(PEM) (string value)
+#terminal_cert_dir=<None>
+
+# path to directory stores pidfiles of baremetal_terminal
+# (string value)
+#terminal_pid_dir=$state_path/baremetal/console
+
+# maximal number of retries for IPMI operations (integer
+# value)
+#ipmi_power_retry=5
+
+# Default kernel image ID used in deployment phase (string
+# value)
+#deploy_kernel=<None>
+
+# Default ramdisk image ID used in deployment phase (string
+# value)
+#deploy_ramdisk=<None>
+
+# Template file for injected network config (string value)
+#net_config_template=$pybasedir/nova/virt/baremetal/net-dhcp.ubuntu.template
+
+# additional append parameters for baremetal PXE boot (string
+# value)
+#pxe_append_params=<None>
+
+# Template file for PXE configuration (string value)
+#pxe_config_template=$pybasedir/nova/virt/baremetal/pxe_config.template
+
+# Timeout for PXE deployments. Default: 0 (unlimited) (integer
+# value)
+#pxe_deploy_timeout=0
+
+# ip or name to virtual power host (string value)
+#virtual_power_ssh_host=
+
+# base command to use for virtual power(vbox,virsh) (string
+# value)
+#virtual_power_type=vbox
+
+# user to execute virtual power commands as (string value)
+#virtual_power_host_user=
+
+# password for virtual power host_user (string value)
+#virtual_power_host_pass=
+
+# Do not set this out of dev/test environments. If a node does
+# not have a fixed PXE IP address, volumes are exported with
+# globally opened ACL (boolean value)
+#use_unsafe_iscsi=false
+
+# iSCSI IQN prefix used in baremetal volume connections.
+# (string value)
+#iscsi_iqn_prefix=iqn.2010-10.org.openstack.baremetal
+
+##########
+# VMWARE #
+##########
+[vmware]
+# Name of Integration Bridge (string value)
+#integration_bridge=br-int
+
+#########
+# SPICE #
+#########
+[spice]
+# location of spice html5 console proxy, in the form
+# "http://www.example.com:6082/spice_auto.html" (string value)
+html5proxy_base_url=http://127.0.0.1:6082/spice_auto.html
+
+# IP address on which instance spice server should listen (string value)
+server_listen=0.0.0.0
+
+# the address to which proxy clients (like nova-spicehtml5proxy) should connect (string value)
+server_proxyclient_address=$my_ip
+
+# enable spice related features (boolean value)
+enabled=true
+
+# enable spice guest agent support (boolean value)
+#agent_enabled=true
+
+# keymap for spice (string value)
+#keymap=en-us
+
+######################
+# Keystone authtoken #
+######################
+[keystone_authtoken]
+auth_host = 127.0.0.1
+auth_port = 35357
+auth_protocol = http
+admin_tenant_name = %SERVICE_TENANT_NAME%
+admin_user = %SERVICE_USER%
+admin_password = %SERVICE_PASSWORD%
+auth_version = v2.0
diff --git a/debian/nova.conf.example b/debian/nova.conf.example
new file mode 100644
index 0000000..6b35ba9
--- /dev/null
+++ b/debian/nova.conf.example
@@ -0,0 +1,3698 @@
+
+
+[DEFAULT]
+
+#
+# Options defined in oslo.messaging
+#
+
+# Use durable queues in amqp. (boolean value)
+# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
+#amqp_durable_queues=false
+
+# Auto-delete queues in amqp. (boolean value)
+#amqp_auto_delete=false
+
+# Size of RPC connection pool. (integer value)
+#rpc_conn_pool_size=30
+
+# Modules of exceptions that are permitted to be recreated
+# upon receiving exception data from an rpc call. (list value)
+#allowed_rpc_exception_modules=oslo.messaging.exceptions,nova.exception,cinder.exception,exceptions
+
+# Qpid broker hostname. (string value)
+#qpid_hostname=localhost
+
+# Qpid broker port. (integer value)
+#qpid_port=5672
+
+# Qpid HA cluster host:port pairs. (list value)
+#qpid_hosts=$qpid_hostname:$qpid_port
+
+# Username for Qpid connection. (string value)
+#qpid_username=
+
+# Password for Qpid connection. (string value)
+#qpid_password=
+
+# Space separated list of SASL mechanisms to use for auth.
+# (string value)
+#qpid_sasl_mechanisms=
+
+# Seconds between connection keepalive heartbeats. (integer
+# value)
+#qpid_heartbeat=60
+
+# Transport to use, either 'tcp' or 'ssl'. (string value)
+#qpid_protocol=tcp
+
+# Whether to disable the Nagle algorithm. (boolean value)
+#qpid_tcp_nodelay=true
+
+# The qpid topology version to use. Version 1 is what was
+# originally used by impl_qpid. Version 2 includes some
+# backwards-incompatible changes that allow broker federation
+# to work. Users should update to version 2 when they are
+# able to take everything down, as it requires a clean break.
+# (integer value)
+#qpid_topology_version=1
+
+# SSL version to use (valid only if SSL enabled). valid values
+# are TLSv1, SSLv23 and SSLv3. SSLv2 may be available on some
+# distributions. (string value)
+#kombu_ssl_version=
+
+# SSL key file (valid only if SSL enabled). (string value)
+#kombu_ssl_keyfile=
+
+# SSL cert file (valid only if SSL enabled). (string value)
+#kombu_ssl_certfile=
+
+# SSL certification authority file (valid only if SSL
+# enabled). (string value)
+#kombu_ssl_ca_certs=
+
+# How long to wait before reconnecting in response to an AMQP
+# consumer cancel notification. (floating point value)
+#kombu_reconnect_delay=1.0
+
+# The RabbitMQ broker address where a single node is used.
+# (string value)
+#rabbit_host=localhost
+
+# The RabbitMQ broker port where a single node is used.
+# (integer value)
+#rabbit_port=5672
+
+# RabbitMQ HA cluster host:port pairs. (list value)
+#rabbit_hosts=$rabbit_host:$rabbit_port
+
+# Connect over SSL for RabbitMQ. (boolean value)
+#rabbit_use_ssl=false
+
+# The RabbitMQ userid. (string value)
+#rabbit_userid=guest
+
+# The RabbitMQ password. (string value)
+#rabbit_password=guest
+
+# the RabbitMQ login method (string value)
+#rabbit_login_method=AMQPLAIN
+
+# The RabbitMQ virtual host. (string value)
+#rabbit_virtual_host=/
+
+# How frequently to retry connecting with RabbitMQ. (integer
+# value)
+#rabbit_retry_interval=1
+
+# How long to backoff for between retries when connecting to
+# RabbitMQ. (integer value)
+#rabbit_retry_backoff=2
+
+# Maximum number of RabbitMQ connection retries. Default is 0
+# (infinite retry count). (integer value)
+#rabbit_max_retries=0
+
+# Use HA queues in RabbitMQ (x-ha-policy: all). If you change
+# this option, you must wipe the RabbitMQ database. (boolean
+# value)
+#rabbit_ha_queues=false
+
+# If passed, use a fake RabbitMQ provider. (boolean value)
+#fake_rabbit=false
+
+# ZeroMQ bind address. Should be a wildcard (*), an ethernet
+# interface, or IP. The "host" option should point or resolve
+# to this address. (string value)
+#rpc_zmq_bind_address=*
+
+# MatchMaker driver. (string value)
+#rpc_zmq_matchmaker=oslo.messaging._drivers.matchmaker.MatchMakerLocalhost
+
+# ZeroMQ receiver listening port. (integer value)
+#rpc_zmq_port=9501
+
+# Number of ZeroMQ contexts, defaults to 1. (integer value)
+#rpc_zmq_contexts=1
+
+# Maximum number of ingress messages to locally buffer per
+# topic. Default is unlimited. (integer value)
+#rpc_zmq_topic_backlog=<None>
+
+# Directory for holding IPC sockets. (string value)
+#rpc_zmq_ipc_dir=/var/run/openstack
+
+# Name of this node. Must be a valid hostname, FQDN, or IP
+# address. Must match "host" option, if running Nova. (string
+# value)
+#rpc_zmq_host=nova
+
+# Seconds to wait before a cast expires (TTL). Only supported
+# by impl_zmq. (integer value)
+#rpc_cast_timeout=30
+
+# Heartbeat frequency. (integer value)
+#matchmaker_heartbeat_freq=300
+
+# Heartbeat time-to-live. (integer value)
+#matchmaker_heartbeat_ttl=600
+
+# Host to locate redis. (string value)
+#host=127.0.0.1
+
+# Use this port to connect to redis host. (integer value)
+#port=6379
+
+# Password for Redis server (optional). (string value)
+#password=<None>
+
+# Size of RPC greenthread pool. (integer value)
+#rpc_thread_pool_size=64
+
+# Driver or drivers to handle sending notifications. (multi
+# valued)
+#notification_driver=
+
+# AMQP topic used for OpenStack notifications. (list value)
+# Deprecated group/name - [rpc_notifier2]/topics
+#notification_topics=notifications
+
+# Seconds to wait for a response from a call. (integer value)
+#rpc_response_timeout=60
+
+# A URL representing the messaging driver to use and its full
+# configuration. If not set, we fall back to the rpc_backend
+# option and driver specific configuration. (string value)
+#transport_url=<None>
+
+# The messaging driver to use, defaults to rabbit. Other
+# drivers include qpid and zmq. (string value)
+#rpc_backend=rabbit
+
+# The default exchange under which topics are scoped. May be
+# overridden by an exchange name specified in the
+# transport_url option. (string value)
+#control_exchange=openstack
+
+
+#
+# Options defined in nova.availability_zones
+#
+
+# The availability_zone to show internal services under
+# (string value)
+#internal_service_availability_zone=internal
+
+# Default compute node availability_zone (string value)
+#default_availability_zone=nova
+
+
+#
+# Options defined in nova.crypto
+#
+
+# Filename of root CA (string value)
+#ca_file=cacert.pem
+
+# Filename of private key (string value)
+#key_file=private/cakey.pem
+
+# Filename of root Certificate Revocation List (string value)
+#crl_file=crl.pem
+
+# Where we keep our keys (string value)
+#keys_path=$state_path/keys
+
+# Where we keep our root CA (string value)
+#ca_path=$state_path/CA
+
+# Should we use a CA for each project? (boolean value)
+#use_project_ca=false
+
+# Subject for certificate for users, %s for project, user,
+# timestamp (string value)
+#user_cert_subject=/C=US/ST=California/O=OpenStack/OU=NovaDev/CN=%.16s-%.16s-%s
+
+# Subject for certificate for projects, %s for project,
+# timestamp (string value)
+#project_cert_subject=/C=US/ST=California/O=OpenStack/OU=NovaDev/CN=project-ca-%.16s-%s
+
+
+#
+# Options defined in nova.exception
+#
+
+# Make exception message format errors fatal (boolean value)
+#fatal_exception_format_errors=false
+
+
+#
+# Options defined in nova.netconf
+#
+
+# IP address of this host (string value)
+#my_ip=10.0.0.1
+
+# Name of this node. This can be an opaque identifier. It is
+# not necessarily a hostname, FQDN, or IP address. However,
+# the node name must be valid within an AMQP key, and if using
+# ZeroMQ, a valid hostname, FQDN, or IP address (string value)
+#host=nova
+
+# Use IPv6 (boolean value)
+#use_ipv6=false
+
+
+#
+# Options defined in nova.notifications
+#
+
+# If set, send compute.instance.update notifications on
+# instance state changes. Valid values are None for no
+# notifications, "vm_state" for notifications on VM state
+# changes, or "vm_and_task_state" for notifications on VM and
+# task state changes. (string value)
+#notify_on_state_change=<None>
+
+# If set, send api.fault notifications on caught exceptions in
+# the API service. (boolean value)
+#notify_api_faults=false
+
+# Default notification level for outgoing notifications
+# (string value)
+#default_notification_level=INFO
+
+# Default publisher_id for outgoing notifications (string
+# value)
+#default_publisher_id=<None>
+
+
+#
+# Options defined in nova.paths
+#
+
+# Directory where the nova python module is installed (string
+# value)
+#pybasedir=/usr/lib/python/site-packages
+
+# Directory where nova binaries are installed (string value)
+#bindir=/usr/local/bin
+
+# Top-level directory for maintaining nova's state (string
+# value)
+#state_path=$pybasedir
+
+
+#
+# Options defined in nova.policy
+#
+
+# JSON file representing policy (string value)
+#policy_file=policy.json
+
+# Rule checked when requested rule is not found (string value)
+#policy_default_rule=default
+
+
+#
+# Options defined in nova.quota
+#
+
+# Number of instances allowed per project (integer value)
+#quota_instances=10
+
+# Number of instance cores allowed per project (integer value)
+#quota_cores=20
+
+# Megabytes of instance RAM allowed per project (integer
+# value)
+#quota_ram=51200
+
+# Number of floating IPs allowed per project (integer value)
+#quota_floating_ips=10
+
+# Number of fixed IPs allowed per project (this should be at
+# least the number of instances allowed) (integer value)
+#quota_fixed_ips=-1
+
+# Number of metadata items allowed per instance (integer
+# value)
+#quota_metadata_items=128
+
+# Number of injected files allowed (integer value)
+#quota_injected_files=5
+
+# Number of bytes allowed per injected file (integer value)
+#quota_injected_file_content_bytes=10240
+
+# Number of bytes allowed per injected file path (integer
+# value)
+#quota_injected_file_path_bytes=255
+
+# Number of security groups per project (integer value)
+#quota_security_groups=10
+
+# Number of security rules per security group (integer value)
+#quota_security_group_rules=20
+
+# Number of key pairs per user (integer value)
+#quota_key_pairs=100
+
+# Number of seconds until a reservation expires (integer
+# value)
+#reservation_expire=86400
+
+# Count of reservations until usage is refreshed (integer
+# value)
+#until_refresh=0
+
+# Number of seconds between subsequent usage refreshes
+# (integer value)
+#max_age=0
+
+# Default driver to use for quota checks (string value)
+#quota_driver=nova.quota.DbQuotaDriver
+
+
+#
+# Options defined in nova.service
+#
+
+# Seconds between nodes reporting state to datastore (integer
+# value)
+#report_interval=10
+
+# Enable periodic tasks (boolean value)
+#periodic_enable=true
+
+# Range of seconds to randomly delay when starting the
+# periodic task scheduler to reduce stampeding. (Disable by
+# setting to 0) (integer value)
+#periodic_fuzzy_delay=60
+
+# A list of APIs to enable by default (list value)
+#enabled_apis=ec2,osapi_compute,metadata
+
+# A list of APIs with enabled SSL (list value)
+#enabled_ssl_apis=
+
+# The IP address on which the EC2 API will listen. (string
+# value)
+#ec2_listen=0.0.0.0
+
+# The port on which the EC2 API will listen. (integer value)
+#ec2_listen_port=8773
+
+# Number of workers for EC2 API service. The default will be
+# equal to the number of CPUs available. (integer value)
+#ec2_workers=<None>
+
+# The IP address on which the OpenStack API will listen.
+# (string value)
+#osapi_compute_listen=0.0.0.0
+
+# The port on which the OpenStack API will listen. (integer
+# value)
+#osapi_compute_listen_port=8774
+
+# Number of workers for OpenStack API service. The default
+# will be the number of CPUs available. (integer value)
+#osapi_compute_workers=<None>
+
+# OpenStack metadata service manager (string value)
+#metadata_manager=nova.api.manager.MetadataManager
+
+# The IP address on which the metadata API will listen.
+# (string value)
+#metadata_listen=0.0.0.0
+
+# The port on which the metadata API will listen. (integer
+# value)
+#metadata_listen_port=8775
+
+# Number of workers for metadata service. The default will be
+# the number of CPUs available. (integer value)
+#metadata_workers=<None>
+
+# Full class name for the Manager for compute (string value)
+#compute_manager=nova.compute.manager.ComputeManager
+
+# Full class name for the Manager for console proxy (string
+# value)
+#console_manager=nova.console.manager.ConsoleProxyManager
+
+# Manager for console auth (string value)
+#consoleauth_manager=nova.consoleauth.manager.ConsoleAuthManager
+
+# Full class name for the Manager for cert (string value)
+#cert_manager=nova.cert.manager.CertManager
+
+# Full class name for the Manager for network (string value)
+#network_manager=nova.network.manager.VlanManager
+
+# Full class name for the Manager for scheduler (string value)
+#scheduler_manager=nova.scheduler.manager.SchedulerManager
+
+# Maximum time since last check-in for up service (integer
+# value)
+#service_down_time=60
+
+
+#
+# Options defined in nova.test
+#
+
+# File name of clean sqlite db (string value)
+#sqlite_clean_db=clean.sqlite
+
+
+#
+# Options defined in nova.utils
+#
+
+# Whether to log monkey patching (boolean value)
+#monkey_patch=false
+
+# List of modules/decorators to monkey patch (list value)
+#monkey_patch_modules=nova.api.ec2.cloud:nova.notifications.notify_decorator,nova.compute.api:nova.notifications.notify_decorator
+
+# Length of generated instance admin passwords (integer value)
+#password_length=12
+
+# Time period to generate instance usages for. Time period
+# must be hour, day, month or year (string value)
+#instance_usage_audit_period=month
+
+# Path to the rootwrap configuration file to use for running
+# commands as root (string value)
+#rootwrap_config=/etc/nova/rootwrap.conf
+
+# Explicitly specify the temporary working directory (string
+# value)
+#tempdir=<None>
+
+
+#
+# Options defined in nova.wsgi
+#
+
+# File name for the paste.deploy config for nova-api (string
+# value)
+#api_paste_config=api-paste.ini
+
+# A python format string that is used as the template to
+# generate log lines. The following values can be formatted
+# into it: client_ip, date_time, request_line, status_code,
+# body_length, wall_seconds. (string value)
+#wsgi_log_format=%(client_ip)s "%(request_line)s" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f
+
+# CA certificate file to use to verify connecting clients
+# (string value)
+#ssl_ca_file=<None>
+
+# SSL certificate of API server (string value)
+#ssl_cert_file=<None>
+
+# SSL private key of API server (string value)
+#ssl_key_file=<None>
+
+# Sets the value of TCP_KEEPIDLE in seconds for each server
+# socket. Not supported on OS X. (integer value)
+#tcp_keepidle=600
+
+# Size of the pool of greenthreads used by wsgi (integer
+# value)
+#wsgi_default_pool_size=1000
+
+# Maximum line size of message headers to be accepted.
+# max_header_line may need to be increased when using large
+# tokens (typically those generated by the Keystone v3 API
+# with big service catalogs). (integer value)
+#max_header_line=16384
+
+
+#
+# Options defined in nova.api.auth
+#
+
+# Whether to use per-user rate limiting for the api. This
+# option is only used by v2 api. Rate limiting is removed from
+# v3 api. (boolean value)
+#api_rate_limit=false
+
+# The strategy to use for auth: noauth or keystone. (string
+# value)
+#auth_strategy=noauth
+
+# Treat X-Forwarded-For as the canonical remote address. Only
+# enable this if you have a sanitizing proxy. (boolean value)
+#use_forwarded_for=false
+
+
+#
+# Options defined in nova.api.ec2
+#
+
+# Number of failed auths before lockout. (integer value)
+#lockout_attempts=5
+
+# Number of minutes to lockout if triggered. (integer value)
+#lockout_minutes=15
+
+# Number of minutes for lockout window. (integer value)
+#lockout_window=15
+
+# URL to get token from ec2 request. (string value)
+#keystone_ec2_url=http://localhost:5000/v2.0/ec2tokens
+
+# Return the IP address as private dns hostname in describe
+# instances (boolean value)
+#ec2_private_dns_show_ip=false
+
+# Validate security group names according to EC2 specification
+# (boolean value)
+#ec2_strict_validation=true
+
+# Time in seconds before ec2 timestamp expires (integer value)
+#ec2_timestamp_expiry=300
+
+
+#
+# Options defined in nova.api.ec2.cloud
+#
+
+# The IP address of the EC2 API server (string value)
+#ec2_host=$my_ip
+
+# The internal IP address of the EC2 API server (string value)
+#ec2_dmz_host=$my_ip
+
+# The port of the EC2 API server (integer value)
+#ec2_port=8773
+
+# The protocol to use when connecting to the EC2 API server
+# (http, https) (string value)
+#ec2_scheme=http
+
+# The path prefix used to call the ec2 API server (string
+# value)
+#ec2_path=/services/Cloud
+
+# List of region=fqdn pairs separated by commas (list value)
+#region_list=
+
+
+#
+# Options defined in nova.api.metadata.base
+#
+
+# List of metadata versions to skip placing into the config
+# drive (string value)
+#config_drive_skip_versions=1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15 2008-02-01 2008-09-01
+
+# Driver to use for vendor data (string value)
+#vendordata_driver=nova.api.metadata.vendordata_json.JsonFileVendorData
+
+
+#
+# Options defined in nova.api.metadata.handler
+#
+
+# Set flag to indicate Neutron will proxy metadata requests
+# and resolve instance ids. (boolean value)
+#service_neutron_metadata_proxy=false
+
+# Shared secret to validate proxies Neutron metadata requests
+# (string value)
+#neutron_metadata_proxy_shared_secret=
+
+
+#
+# Options defined in nova.api.metadata.vendordata_json
+#
+
+# File to load json formatted vendor data from (string value)
+#vendordata_jsonfile_path=<None>
+
+
+#
+# Options defined in nova.api.openstack.common
+#
+
+# The maximum number of items returned in a single response
+# from a collection resource (integer value)
+#osapi_max_limit=1000
+
+# Base URL that will be presented to users in links to the
+# OpenStack Compute API (string value)
+#osapi_compute_link_prefix=<None>
+
+# Base URL that will be presented to users in links to glance
+# resources (string value)
+#osapi_glance_link_prefix=<None>
+
+
+#
+# Options defined in nova.api.openstack.compute
+#
+
+# Permit instance snapshot operations. (boolean value)
+#allow_instance_snapshots=true
+
+
+#
+# Options defined in nova.api.openstack.compute.contrib
+#
+
+# Specify list of extensions to load when using
+# osapi_compute_extension option with
+# nova.api.openstack.compute.contrib.select_extensions (list
+# value)
+#osapi_compute_ext_list=
+
+
+#
+# Options defined in nova.api.openstack.compute.contrib.fping
+#
+
+# Full path to fping. (string value)
+#fping_path=/usr/sbin/fping
+
+
+#
+# Options defined in nova.api.openstack.compute.contrib.os_tenant_networks
+#
+
+# Enables or disables quota checking for tenant networks
+# (boolean value)
+#enable_network_quota=false
+
+# Control for checking for default networks (string value)
+#use_neutron_default_nets=False
+
+# Default tenant id when creating neutron networks (string
+# value)
+#neutron_default_tenant_id=default
+
+
+#
+# Options defined in nova.api.openstack.compute.extensions
+#
+
+# osapi compute extension to load (multi valued)
+#osapi_compute_extension=nova.api.openstack.compute.contrib.standard_extensions
+
+
+#
+# Options defined in nova.api.openstack.compute.plugins.v3.hide_server_addresses
+#
+
+# List of instance states that should hide network info (list
+# value)
+#osapi_hide_server_address_states=building
+
+
+#
+# Options defined in nova.api.openstack.compute.servers
+#
+
+# Enables returning of the instance password by the relevant
+# server API calls such as create, rebuild or rescue, If the
+# hypervisor does not support password injection then the
+# password returned will not be correct (boolean value)
+#enable_instance_password=true
+
+
+#
+# Options defined in nova.api.sizelimit
+#
+
+# The maximum body size per each osapi request(bytes) (integer
+# value)
+#osapi_max_request_body_size=114688
+
+
+#
+# Options defined in nova.cert.rpcapi
+#
+
+# The topic cert nodes listen on (string value)
+#cert_topic=cert
+
+
+#
+# Options defined in nova.cloudpipe.pipelib
+#
+
+# Image ID used when starting up a cloudpipe vpn server
+# (string value)
+#vpn_image_id=0
+
+# Flavor for vpn instances (string value)
+#vpn_flavor=m1.tiny
+
+# Template for cloudpipe instance boot script (string value)
+#boot_script_template=$pybasedir/nova/cloudpipe/bootscript.template
+
+# Network to push into openvpn config (string value)
+#dmz_net=10.0.0.0
+
+# Netmask to push into openvpn config (string value)
+#dmz_mask=255.255.255.0
+
+# Suffix to add to project name for vpn key and secgroups
+# (string value)
+#vpn_key_suffix=-vpn
+
+
+#
+# Options defined in nova.cmd.novnc
+#
+
+# Record sessions to FILE.[session_number] (boolean value)
+#record=false
+
+# Become a daemon (background process) (boolean value)
+#daemon=false
+
+# Disallow non-encrypted connections (boolean value)
+#ssl_only=false
+
+# Source is ipv6 (boolean value)
+#source_is_ipv6=false
+
+# SSL certificate file (string value)
+#cert=self.pem
+
+# SSL key file (if separate from cert) (string value)
+#key=<None>
+
+# Run webserver on same port. Serve files from DIR. (string
+# value)
+#web=/usr/share/spice-html5
+
+
+#
+# Options defined in nova.cmd.novncproxy
+#
+
+# Host on which to listen for incoming requests (string value)
+#novncproxy_host=0.0.0.0
+
+# Port on which to listen for incoming requests (integer
+# value)
+#novncproxy_port=6080
+
+
+#
+# Options defined in nova.cmd.spicehtml5proxy
+#
+
+# Host on which to listen for incoming requests (string value)
+#spicehtml5proxy_host=0.0.0.0
+
+# Port on which to listen for incoming requests (integer
+# value)
+#spicehtml5proxy_port=6082
+
+
+#
+# Options defined in nova.compute.api
+#
+
+# Allow destination machine to match source for resize. Useful
+# when testing in single-host environments. (boolean value)
+#allow_resize_to_same_host=false
+
+# Allow migrate machine to the same host. Useful when testing
+# in single-host environments. (boolean value)
+#allow_migrate_to_same_host=false
+
+# Availability zone to use when user doesn't specify one
+# (string value)
+#default_schedule_zone=<None>
+
+# These are image properties which a snapshot should not
+# inherit from an instance (list value)
+#non_inheritable_image_properties=cache_in_nova,bittorrent
+
+# Kernel image that indicates not to use a kernel, but to use
+# a raw disk image instead (string value)
+#null_kernel=nokernel
+
+# When creating multiple instances with a single request using
+# the os-multiple-create API extension, this template will be
+# used to build the display name for each instance. The
+# benefit is that the instances end up with different
+# hostnames. To restore legacy behavior of every instance
+# having the same name, set this option to "%(name)s". Valid
+# keys for the template are: name, uuid, count. (string value)
+#multi_instance_display_name_template=%(name)s-%(uuid)s
+
+# Maximum number of devices that will result in a local image
+# being created on the hypervisor node. Setting this to 0
+# means nova will allow only boot from volume. A negative
+# number means unlimited. (integer value)
+#max_local_block_devices=3
+
+
+#
+# Options defined in nova.compute.flavors
+#
+
+# Default flavor to use for the EC2 API only. The Nova API
+# does not support a default flavor. (string value)
+#default_flavor=m1.small
+
+
+#
+# Options defined in nova.compute.manager
+#
+
+# Console proxy host to use to connect to instances on this
+# host. (string value)
+#console_host=nova
+
+# Name of network to use to set access IPs for instances
+# (string value)
+#default_access_ip_network_name=<None>
+
+# Whether to batch up the application of IPTables rules during
+# a host restart and apply all at the end of the init phase
+# (boolean value)
+#defer_iptables_apply=false
+
+# Where instances are stored on disk (string value)
+#instances_path=$state_path/instances
+
+# Generate periodic compute.instance.exists notifications
+# (boolean value)
+#instance_usage_audit=false
+
+# Number of 1 second retries needed in live_migration (integer
+# value)
+#live_migration_retry_count=30
+
+# Whether to start guests that were running before the host
+# rebooted (boolean value)
+#resume_guests_state_on_host_boot=false
+
+# Number of times to retry network allocation on failures
+# (integer value)
+#network_allocate_retries=0
+
+# The number of times to attempt to reap an instance's files.
+# (integer value)
+#maximum_instance_delete_attempts=5
+
+# Interval to pull network bandwidth usage info. Not supported
+# on all hypervisors. Set to 0 to disable. (integer value)
+#bandwidth_poll_interval=600
+
+# Interval to sync power states between the database and the
+# hypervisor (integer value)
+#sync_power_state_interval=600
+
+# Number of seconds between instance info_cache self healing
+# updates (integer value)
+#heal_instance_info_cache_interval=60
+
+# Interval in seconds for reclaiming deleted instances
+# (integer value)
+#reclaim_instance_interval=0
+
+# Interval in seconds for gathering volume usages (integer
+# value)
+#volume_usage_poll_interval=0
+
+# Interval in seconds for polling shelved instances to offload
+# (integer value)
+#shelved_poll_interval=3600
+
+# Time in seconds before a shelved instance is eligible for
+# removing from a host. -1 never offload, 0 offload when
+# shelved (integer value)
+#shelved_offload_time=0
+
+# Interval in seconds for retrying failed instance file
+# deletes (integer value)
+#instance_delete_interval=300
+
+# Action to take if a running deleted instance is
+# detected.Valid options are 'noop', 'log', 'shutdown', or
+# 'reap'. Set to 'noop' to take no action. (string value)
+#running_deleted_instance_action=reap
+
+# Number of seconds to wait between runs of the cleanup task.
+# (integer value)
+#running_deleted_instance_poll_interval=1800
+
+# Number of seconds after being deleted when a running
+# instance should be considered eligible for cleanup. (integer
+# value)
+#running_deleted_instance_timeout=0
+
+# Automatically hard reboot an instance if it has been stuck
+# in a rebooting state longer than N seconds. Set to 0 to
+# disable. (integer value)
+#reboot_timeout=0
+
+# Amount of time in seconds an instance can be in BUILD before
+# going into ERROR status.Set to 0 to disable. (integer value)
+#instance_build_timeout=0
+
+# Automatically unrescue an instance after N seconds. Set to 0
+# to disable. (integer value)
+#rescue_timeout=0
+
+# Automatically confirm resizes after N seconds. Set to 0 to
+# disable. (integer value)
+#resize_confirm_window=0
+
+
+#
+# Options defined in nova.compute.monitors
+#
+
+# Monitor classes available to the compute which may be
+# specified more than once. (multi valued)
+#compute_available_monitors=nova.compute.monitors.all_monitors
+
+# A list of monitors that can be used for getting compute
+# metrics. (list value)
+#compute_monitors=
+
+
+#
+# Options defined in nova.compute.resource_tracker
+#
+
+# Amount of disk in MB to reserve for the host (integer value)
+#reserved_host_disk_mb=0
+
+# Amount of memory in MB to reserve for the host (integer
+# value)
+#reserved_host_memory_mb=512
+
+# Class that will manage stats for the local compute host
+# (string value)
+#compute_stats_class=nova.compute.stats.Stats
+
+
+#
+# Options defined in nova.compute.rpcapi
+#
+
+# The topic compute nodes listen on (string value)
+#compute_topic=compute
+
+
+#
+# Options defined in nova.conductor.tasks.live_migrate
+#
+
+# Number of times to retry live-migration before failing. If
+# == -1, try until out of hosts. If == 0, only try once, no
+# retries. (integer value)
+#migrate_max_retries=-1
+
+
+#
+# Options defined in nova.console.manager
+#
+
+# Driver to use for the console proxy (string value)
+#console_driver=nova.console.xvp.XVPConsoleProxy
+
+# Stub calls to compute worker for tests (boolean value)
+#stub_compute=false
+
+# Publicly visible name for this console host (string value)
+#console_public_hostname=nova
+
+
+#
+# Options defined in nova.console.rpcapi
+#
+
+# The topic console proxy nodes listen on (string value)
+#console_topic=console
+
+
+#
+# Options defined in nova.console.vmrc
+#
+
+# Port for VMware VMRC connections (integer value)
+#console_vmrc_port=443
+
+# Number of retries for retrieving VMRC information (integer
+# value)
+#console_vmrc_error_retries=10
+
+
+#
+# Options defined in nova.console.xvp
+#
+
+# XVP conf template (string value)
+#console_xvp_conf_template=$pybasedir/nova/console/xvp.conf.template
+
+# Generated XVP conf file (string value)
+#console_xvp_conf=/etc/xvp.conf
+
+# XVP master process pid file (string value)
+#console_xvp_pid=/var/run/xvp.pid
+
+# XVP log file (string value)
+#console_xvp_log=/var/log/xvp.log
+
+# Port for XVP to multiplex VNC connections on (integer value)
+#console_xvp_multiplex_port=5900
+
+
+#
+# Options defined in nova.consoleauth
+#
+
+# The topic console auth proxy nodes listen on (string value)
+#consoleauth_topic=consoleauth
+
+
+#
+# Options defined in nova.consoleauth.manager
+#
+
+# How many seconds before deleting tokens (integer value)
+#console_token_ttl=600
+
+
+#
+# Options defined in nova.db.api
+#
+
+# Services to be added to the available pool on create
+# (boolean value)
+#enable_new_services=true
+
+# Template string to be used to generate instance names
+# (string value)
+#instance_name_template=instance-%08x
+
+# Template string to be used to generate snapshot names
+# (string value)
+#snapshot_name_template=snapshot-%s
+
+
+#
+# Options defined in nova.db.base
+#
+
+# The driver to use for database access (string value)
+#db_driver=nova.db
+
+
+#
+# Options defined in nova.db.sqlalchemy.api
+#
+
+# When set, compute API will consider duplicate hostnames
+# invalid within the specified scope, regardless of case.
+# Should be empty, "project" or "global". (string value)
+#osapi_compute_unique_server_name_scope=
+
+
+#
+# Options defined in nova.image.glance
+#
+
+# Default glance hostname or IP address (string value)
+#glance_host=$my_ip
+
+# Default glance port (integer value)
+#glance_port=9292
+
+# Default protocol to use when connecting to glance. Set to
+# https for SSL. (string value)
+#glance_protocol=http
+
+# A list of the glance api servers available to nova. Prefix
+# with https:// for ssl-based glance api servers.
+# ([hostname|ip]:port) (list value)
+#glance_api_servers=$glance_host:$glance_port
+
+# Allow to perform insecure SSL (https) requests to glance
+# (boolean value)
+#glance_api_insecure=false
+
+# Number of retries when downloading an image from glance
+# (integer value)
+#glance_num_retries=0
+
+# A list of url scheme that can be downloaded directly via the
+# direct_url. Currently supported schemes: [file]. (list
+# value)
+#allowed_direct_url_schemes=
+
+
+#
+# Options defined in nova.image.s3
+#
+
+# Parent directory for tempdir used for image decryption
+# (string value)
+#image_decryption_dir=/tmp
+
+# Hostname or IP for OpenStack to use when accessing the S3
+# api (string value)
+#s3_host=$my_ip
+
+# Port used when accessing the S3 api (integer value)
+#s3_port=3333
+
+# Access key to use for S3 server for images (string value)
+#s3_access_key=notchecked
+
+# Secret key to use for S3 server for images (string value)
+#s3_secret_key=notchecked
+
+# Whether to use SSL when talking to S3 (boolean value)
+#s3_use_ssl=false
+
+# Whether to affix the tenant id to the access key when
+# downloading from S3 (boolean value)
+#s3_affix_tenant=false
+
+
+#
+# Options defined in nova.ipv6.api
+#
+
+# Backend to use for IPv6 generation (string value)
+#ipv6_backend=rfc2462
+
+
+#
+# Options defined in nova.network
+#
+
+# The full class name of the network API class to use (string
+# value)
+#network_api_class=nova.network.api.API
+
+
+#
+# Options defined in nova.network.driver
+#
+
+# Driver to use for network creation (string value)
+#network_driver=nova.network.linux_net
+
+
+#
+# Options defined in nova.network.floating_ips
+#
+
+# Default pool for floating IPs (string value)
+#default_floating_pool=nova
+
+# Autoassigning floating IP to VM (boolean value)
+#auto_assign_floating_ip=false
+
+# Full class name for the DNS Manager for floating IPs (string
+# value)
+#floating_ip_dns_manager=nova.network.noop_dns_driver.NoopDNSDriver
+
+# Full class name for the DNS Manager for instance IPs (string
+# value)
+#instance_dns_manager=nova.network.noop_dns_driver.NoopDNSDriver
+
+# Full class name for the DNS Zone for instance IPs (string
+# value)
+#instance_dns_domain=
+
+
+#
+# Options defined in nova.network.ldapdns
+#
+
+# URL for LDAP server which will store DNS entries (string
+# value)
+#ldap_dns_url=ldap://ldap.example.com:389
+
+# User for LDAP DNS (string value)
+#ldap_dns_user=uid=admin,ou=people,dc=example,dc=org
+
+# Password for LDAP DNS (string value)
+#ldap_dns_password=password
+
+# Hostmaster for LDAP DNS driver Statement of Authority
+# (string value)
+#ldap_dns_soa_hostmaster=hostmaster@example.org
+
+# DNS Servers for LDAP DNS driver (multi valued)
+#ldap_dns_servers=dns.example.org
+
+# Base DN for DNS entries in LDAP (string value)
+#ldap_dns_base_dn=ou=hosts,dc=example,dc=org
+
+# Refresh interval (in seconds) for LDAP DNS driver Statement
+# of Authority (string value)
+#ldap_dns_soa_refresh=1800
+
+# Retry interval (in seconds) for LDAP DNS driver Statement of
+# Authority (string value)
+#ldap_dns_soa_retry=3600
+
+# Expiry interval (in seconds) for LDAP DNS driver Statement
+# of Authority (string value)
+#ldap_dns_soa_expiry=86400
+
+# Minimum interval (in seconds) for LDAP DNS driver Statement
+# of Authority (string value)
+#ldap_dns_soa_minimum=7200
+
+
+#
+# Options defined in nova.network.linux_net
+#
+
+# Location of flagfiles for dhcpbridge (multi valued)
+#dhcpbridge_flagfile=/etc/nova/nova-dhcpbridge.conf
+
+# Location to keep network config files (string value)
+#networks_path=$state_path/networks
+
+# Interface for public IP addresses (string value)
+#public_interface=eth0
+
+# MTU setting for network interface (integer value)
+#network_device_mtu=<None>
+
+# Location of nova-dhcpbridge (string value)
+#dhcpbridge=$bindir/nova-dhcpbridge
+
+# Public IP of network host (string value)
+#routing_source_ip=$my_ip
+
+# Lifetime of a DHCP lease in seconds (integer value)
+#dhcp_lease_time=120
+
+# If set, uses specific DNS server for dnsmasq. Can be
+# specified multiple times. (multi valued)
+#dns_server=
+
+# If set, uses the dns1 and dns2 from the network ref. as dns
+# servers. (boolean value)
+#use_network_dns_servers=false
+
+# A list of dmz range that should be accepted (list value)
+#dmz_cidr=
+
+# Traffic to this range will always be snatted to the fallback
+# ip, even if it would normally be bridged out of the node.
+# Can be specified multiple times. (multi valued)
+#force_snat_range=
+
+# Override the default dnsmasq settings with this file (string
+# value)
+#dnsmasq_config_file=
+
+# Driver used to create ethernet devices. (string value)
+#linuxnet_interface_driver=nova.network.linux_net.LinuxBridgeInterfaceDriver
+
+# Name of Open vSwitch bridge used with linuxnet (string
+# value)
+#linuxnet_ovs_integration_bridge=br-int
+
+# Send gratuitous ARPs for HA setup (boolean value)
+#send_arp_for_ha=false
+
+# Send this many gratuitous ARPs for HA setup (integer value)
+#send_arp_for_ha_count=3
+
+# Use single default gateway. Only first nic of vm will get
+# default gateway from dhcp server (boolean value)
+#use_single_default_gateway=false
+
+# An interface that bridges can forward to. If this is set to
+# all then all traffic will be forwarded. Can be specified
+# multiple times. (multi valued)
+#forward_bridge_interface=all
+
+# The IP address for the metadata API server (string value)
+#metadata_host=$my_ip
+
+# The port for the metadata API port (integer value)
+#metadata_port=8775
+
+# Regular expression to match iptables rule that should always
+# be on the top. (string value)
+#iptables_top_regex=
+
+# Regular expression to match iptables rule that should always
+# be on the bottom. (string value)
+#iptables_bottom_regex=
+
+# The table that iptables to jump to when a packet is to be
+# dropped. (string value)
+#iptables_drop_action=DROP
+
+# Amount of time, in seconds, that ovs_vsctl should wait for a
+# response from the database. 0 is to wait forever. (integer
+# value)
+#ovs_vsctl_timeout=120
+
+# If passed, use fake network devices and addresses (boolean
+# value)
+#fake_network=false
+
+
+#
+# Options defined in nova.network.manager
+#
+
+# Bridge for simple network instances (string value)
+#flat_network_bridge=<None>
+
+# DNS server for simple network (string value)
+#flat_network_dns=8.8.4.4
+
+# Whether to attempt to inject network setup into guest
+# (boolean value)
+#flat_injected=false
+
+# FlatDhcp will bridge into this interface if set (string
+# value)
+#flat_interface=<None>
+
+# First VLAN for private networks (integer value)
+#vlan_start=100
+
+# VLANs will bridge into this interface if set (string value)
+#vlan_interface=<None>
+
+# Number of networks to support (integer value)
+#num_networks=1
+
+# Public IP for the cloudpipe VPN servers (string value)
+#vpn_ip=$my_ip
+
+# First Vpn port for private networks (integer value)
+#vpn_start=1000
+
+# Number of addresses in each private subnet (integer value)
+#network_size=256
+
+# Fixed IPv6 address block (string value)
+#fixed_range_v6=fd00::/48
+
+# Default IPv4 gateway (string value)
+#gateway=<None>
+
+# Default IPv6 gateway (string value)
+#gateway_v6=<None>
+
+# Number of addresses reserved for vpn clients (integer value)
+#cnt_vpn_clients=0
+
+# Seconds after which a deallocated IP is disassociated
+# (integer value)
+#fixed_ip_disassociate_timeout=600
+
+# Number of attempts to create unique mac address (integer
+# value)
+#create_unique_mac_address_attempts=5
+
+# If True, skip using the queue and make local calls (boolean
+# value)
+#fake_call=false
+
+# If True, unused gateway devices (VLAN and bridge) are
+# deleted in VLAN network mode with multi hosted networks
+# (boolean value)
+#teardown_unused_network_gateway=false
+
+# If True, send a dhcp release on instance termination
+# (boolean value)
+#force_dhcp_release=true
+
+# If True in multi_host mode, all compute hosts share the same
+# dhcp address. The same IP address used for DHCP will be
+# added on each nova-network node which is only visible to the
+# vms on the same host. (boolean value)
+#share_dhcp_address=false
+
+# If True, when a DNS entry must be updated, it sends a fanout
+# cast to all network hosts to update their DNS entries in
+# multi host mode (boolean value)
+#update_dns_entries=false
+
+# Number of seconds to wait between runs of updates to DNS
+# entries. (integer value)
+#dns_update_periodic_interval=-1
+
+# Domain to use for building the hostnames (string value)
+#dhcp_domain=novalocal
+
+# Indicates underlying L3 management library (string value)
+#l3_lib=nova.network.l3.LinuxNetL3
+
+
+#
+# Options defined in nova.network.neutronv2.api
+#
+
+# URL for connecting to neutron (string value)
+#neutron_url=http://127.0.0.1:9696
+
+# Timeout value for connecting to neutron in seconds (integer
+# value)
+#neutron_url_timeout=30
+
+# Username for connecting to neutron in admin context (string
+# value)
+#neutron_admin_username=<None>
+
+# Password for connecting to neutron in admin context (string
+# value)
+#neutron_admin_password=<None>
+
+# Tenant id for connecting to neutron in admin context (string
+# value)
+#neutron_admin_tenant_id=<None>
+
+# Tenant name for connecting to neutron in admin context. This
+# option is mutually exclusive with neutron_admin_tenant_id.
+# Note that with Keystone V3 tenant names are only unique
+# within a domain. (string value)
+#neutron_admin_tenant_name=<None>
+
+# Region name for connecting to neutron in admin context
+# (string value)
+#neutron_region_name=<None>
+
+# Authorization URL for connecting to neutron in admin context
+# (string value)
+#neutron_admin_auth_url=http://localhost:5000/v2.0
+
+# If set, ignore any SSL validation issues (boolean value)
+#neutron_api_insecure=false
+
+# Authorization strategy for connecting to neutron in admin
+# context (string value)
+#neutron_auth_strategy=keystone
+
+# Name of Integration Bridge used by Open vSwitch (string
+# value)
+#neutron_ovs_bridge=br-int
+
+# Number of seconds before querying neutron for extensions
+# (integer value)
+#neutron_extension_sync_interval=600
+
+# Location of CA certificates file to use for neutron client
+# requests. (string value)
+#neutron_ca_certificates_file=<None>
+
+
+#
+# Options defined in nova.network.rpcapi
+#
+
+# The topic network nodes listen on (string value)
+#network_topic=network
+
+# Default value for multi_host in networks. Also, if set, some
+# rpc network calls will be sent directly to host. (boolean
+# value)
+#multi_host=false
+
+
+#
+# Options defined in nova.network.security_group.openstack_driver
+#
+
+# The full class name of the security API class (string value)
+#security_group_api=nova
+
+
+#
+# Options defined in nova.objectstore.s3server
+#
+
+# Path to S3 buckets (string value)
+#buckets_path=$state_path/buckets
+
+# IP address for S3 API to listen (string value)
+#s3_listen=0.0.0.0
+
+# Port for S3 API to listen (integer value)
+#s3_listen_port=3333
+
+
+#
+# Options defined in nova.openstack.common.eventlet_backdoor
+#
+
+# Enable eventlet backdoor. Acceptable values are 0, <port>,
+# and <start>:<end>, where 0 results in listening on a random
+# tcp port number; <port> results in listening on the
+# specified port number (and not enabling backdoor if that
+# port is in use); and <start>:<end> results in listening on
+# the smallest unused port number within the specified range
+# of port numbers. The chosen port is displayed in the
+# service's log file. (string value)
+#backdoor_port=<None>
+
+
+#
+# Options defined in nova.openstack.common.lockutils
+#
+
+# Whether to disable inter-process locks (boolean value)
+#disable_process_locking=false
+
+# Directory to use for lock files. (string value)
+#lock_path=<None>
+
+
+#
+# Options defined in nova.openstack.common.log
+#
+
+# Print debugging output (set logging level to DEBUG instead
+# of default WARNING level). (boolean value)
+#debug=false
+
+# Print more verbose output (set logging level to INFO instead
+# of default WARNING level). (boolean value)
+#verbose=false
+
+# Log output to standard error (boolean value)
+#use_stderr=true
+
+# Format string to use for log messages with context (string
+# value)
+#logging_context_format_string=%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
+
+# Format string to use for log messages without context
+# (string value)
+#logging_default_format_string=%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
+
+# Data to append to log format when level is DEBUG (string
+# value)
+#logging_debug_format_suffix=%(funcName)s %(pathname)s:%(lineno)d
+
+# Prefix each line of exception output with this format
+# (string value)
+#logging_exception_prefix=%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s
+
+# List of logger=LEVEL pairs (list value)
+#default_log_levels=amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN
+
+# Publish error events (boolean value)
+#publish_errors=false
+
+# Make deprecations fatal (boolean value)
+#fatal_deprecations=false
+
+# If an instance is passed with the log message, format it
+# like this (string value)
+#instance_format="[instance: %(uuid)s] "
+
+# If an instance UUID is passed with the log message, format
+# it like this (string value)
+#instance_uuid_format="[instance: %(uuid)s] "
+
+# The name of logging configuration file. It does not disable
+# existing loggers, but just appends specified logging
+# configuration to any other existing logging options. Please
+# see the Python logging module documentation for details on
+# logging configuration files. (string value)
+# Deprecated group/name - [DEFAULT]/log_config
+#log_config_append=<None>
+
+# DEPRECATED. A logging.Formatter log message format string
+# which may use any of the available logging.LogRecord
+# attributes. This option is deprecated. Please use
+# logging_context_format_string and
+# logging_default_format_string instead. (string value)
+#log_format=<None>
+
+# Format string for %%(asctime)s in log records. Default:
+# %(default)s (string value)
+#log_date_format=%Y-%m-%d %H:%M:%S
+
+# (Optional) Name of log file to output to. If no default is
+# set, logging will go to stdout. (string value)
+# Deprecated group/name - [DEFAULT]/logfile
+#log_file=<None>
+
+# (Optional) The base directory used for relative --log-file
+# paths (string value)
+# Deprecated group/name - [DEFAULT]/logdir
+#log_dir=<None>
+
+# Use syslog for logging. Existing syslog format is DEPRECATED
+# during I, and then will be changed in J to honor RFC5424
+# (boolean value)
+#use_syslog=false
+
+# (Optional) Use syslog rfc5424 format for logging. If
+# enabled, will add APP-NAME (RFC5424) before the MSG part of
+# the syslog message. The old format without APP-NAME is
+# deprecated in I, and will be removed in J. (boolean value)
+#use_syslog_rfc_format=false
+
+# Syslog facility to receive log lines (string value)
+#syslog_log_facility=LOG_USER
+
+
+#
+# Options defined in nova.openstack.common.memorycache
+#
+
+# Memcached servers or None for in process cache. (list value)
+#memcached_servers=<None>
+
+
+#
+# Options defined in nova.openstack.common.periodic_task
+#
+
+# Some periodic tasks can be run in a separate process. Should
+# we run them here? (boolean value)
+#run_external_periodic_tasks=true
+
+
+#
+# Options defined in nova.pci.pci_request
+#
+
+# An alias for a PCI passthrough device requirement. This
+# allows users to specify the alias in the extra_spec for a
+# flavor, without needing to repeat all the PCI property
+# requirements. For example: pci_alias = { "name":
+# "QuicAssist", "product_id": "0443", "vendor_id": "8086",
+# "device_type": "ACCEL" } defines an alias for the Intel
+# QuickAssist card. (multi valued) (multi valued)
+#pci_alias=
+
+
+#
+# Options defined in nova.pci.pci_whitelist
+#
+
+# White list of PCI devices available to VMs. For example:
+# pci_passthrough_whitelist = [{"vendor_id": "8086",
+# "product_id": "0443"}] (multi valued)
+#pci_passthrough_whitelist=
+
+
+#
+# Options defined in nova.scheduler.driver
+#
+
+# The scheduler host manager class to use (string value)
+#scheduler_host_manager=nova.scheduler.host_manager.HostManager
+
+# Maximum number of attempts to schedule an instance (integer
+# value)
+#scheduler_max_attempts=3
+
+
+#
+# Options defined in nova.scheduler.filter_scheduler
+#
+
+# New instances will be scheduled on a host chosen randomly
+# from a subset of the N best hosts. This property defines the
+# subset size that a host is chosen from. A value of 1 chooses
+# the first host returned by the weighing functions. This
+# value must be at least 1. Any value less than 1 will be
+# ignored, and 1 will be used instead (integer value)
+#scheduler_host_subset_size=1
+
+
+#
+# Options defined in nova.scheduler.filters.aggregate_image_properties_isolation
+#
+
+# Force the filter to consider only keys matching the given
+# namespace. (string value)
+#aggregate_image_properties_isolation_namespace=<None>
+
+# The separator used between the namespace and keys (string
+# value)
+#aggregate_image_properties_isolation_separator=.
+
+
+#
+# Options defined in nova.scheduler.filters.core_filter
+#
+
+# Virtual CPU to physical CPU allocation ratio which affects
+# all CPU filters. This configuration specifies a global ratio
+# for CoreFilter. For AggregateCoreFilter, it will fall back
+# to this configuration value if no per-aggregate setting
+# found. (floating point value)
+#cpu_allocation_ratio=16.0
+
+
+#
+# Options defined in nova.scheduler.filters.disk_filter
+#
+
+# Virtual disk to physical disk allocation ratio (floating
+# point value)
+#disk_allocation_ratio=1.0
+
+
+#
+# Options defined in nova.scheduler.filters.io_ops_filter
+#
+
+# Ignore hosts that have too many
+# builds/resizes/snaps/migrations (integer value)
+#max_io_ops_per_host=8
+
+
+#
+# Options defined in nova.scheduler.filters.isolated_hosts_filter
+#
+
+# Images to run on isolated host (list value)
+#isolated_images=
+
+# Host reserved for specific images (list value)
+#isolated_hosts=
+
+# Whether to force isolated hosts to run only isolated images
+# (boolean value)
+#restrict_isolated_hosts_to_isolated_images=true
+
+
+#
+# Options defined in nova.scheduler.filters.num_instances_filter
+#
+
+# Ignore hosts that have too many instances (integer value)
+#max_instances_per_host=50
+
+
+#
+# Options defined in nova.scheduler.filters.ram_filter
+#
+
+# Virtual ram to physical ram allocation ratio which affects
+# all ram filters. This configuration specifies a global ratio
+# for RamFilter. For AggregateRamFilter, it will fall back to
+# this configuration value if no per-aggregate setting found.
+# (floating point value)
+#ram_allocation_ratio=1.5
+
+
+#
+# Options defined in nova.scheduler.host_manager
+#
+
+# 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. (multi valued)
+#scheduler_available_filters=nova.scheduler.filters.all_filters
+
+# Which filter class names to use for filtering hosts when not
+# specified in the request. (list value)
+#scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter
+
+# Which weight class names to use for weighing hosts (list
+# value)
+#scheduler_weight_classes=nova.scheduler.weights.all_weighers
+
+
+#
+# Options defined in nova.scheduler.manager
+#
+
+# Default driver to use for the scheduler (string value)
+#scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
+
+# How often (in seconds) to run periodic tasks in the
+# scheduler driver of your choice. Please note this is likely
+# to interact with the value of service_down_time, but exactly
+# how they interact will depend on your choice of scheduler
+# driver. (integer value)
+#scheduler_driver_task_period=60
+
+
+#
+# Options defined in nova.scheduler.rpcapi
+#
+
+# The topic scheduler nodes listen on (string value)
+#scheduler_topic=scheduler
+
+
+#
+# Options defined in nova.scheduler.scheduler_options
+#
+
+# Absolute path to scheduler configuration JSON file. (string
+# value)
+#scheduler_json_config_location=
+
+
+#
+# Options defined in nova.scheduler.weights.ram
+#
+
+# Multiplier used for weighing ram. Negative numbers mean to
+# stack vs spread. (floating point value)
+#ram_weight_multiplier=1.0
+
+
+#
+# Options defined in nova.servicegroup.api
+#
+
+# The driver for servicegroup service (valid options are: db,
+# zk, mc) (string value)
+#servicegroup_driver=db
+
+
+#
+# Options defined in nova.virt.configdrive
+#
+
+# Config drive format. One of iso9660 (default) or vfat
+# (string value)
+#config_drive_format=iso9660
+
+# Where to put temporary files associated with config drive
+# creation (string value)
+#config_drive_tempdir=<None>
+
+# Set to force injection to take place on a config drive (if
+# set, valid options are: always) (string value)
+#force_config_drive=<None>
+
+# Name and optionally path of the tool used for ISO image
+# creation (string value)
+#mkisofs_cmd=genisoimage
+
+
+#
+# Options defined in nova.virt.cpu
+#
+
+# Defines which pcpus that instance vcpus can use. For
+# example, "4-12,^8,15" (string value)
+#vcpu_pin_set=<None>
+
+
+#
+# Options defined in nova.virt.disk.api
+#
+
+# Template file for injected network (string value)
+#injected_network_template=$pybasedir/nova/virt/interfaces.template
+
+# Name of the mkfs commands for ephemeral device. The format
+# is <os_type>=<mkfs command> (multi valued)
+#virt_mkfs=
+
+# Attempt to resize the filesystem by accessing the image over
+# a block device. This is done by the host and may not be
+# necessary if the image contains a recent version of cloud-
+# init. Possible mechanisms require the nbd driver (for qcow
+# and raw), or loop (for raw). (boolean value)
+#resize_fs_using_block_device=false
+
+
+#
+# Options defined in nova.virt.disk.mount.nbd
+#
+
+# Amount of time, in seconds, to wait for NBD device start up.
+# (integer value)
+#timeout_nbd=10
+
+
+#
+# Options defined in nova.virt.driver
+#
+
+# Driver to use for controlling virtualization. Options
+# include: libvirt.LibvirtDriver, xenapi.XenAPIDriver,
+# fake.FakeDriver, baremetal.BareMetalDriver,
+# vmwareapi.VMwareESXDriver, vmwareapi.VMwareVCDriver (string
+# value)
+#compute_driver=<None>
+
+# The default format an ephemeral_volume will be formatted
+# with on creation. (string value)
+#default_ephemeral_format=<None>
+
+# VM image preallocation mode: "none" => no storage
+# provisioning is done up front, "space" => storage is fully
+# allocated at instance start (string value)
+#preallocate_images=none
+
+# Whether to use cow images (boolean value)
+#use_cow_images=true
+
+# Fail instance boot if vif plugging fails (boolean value)
+#vif_plugging_is_fatal=true
+
+# Number of seconds to wait for neutron vif plugging events to
+# arrive before continuing or failing (see
+# vif_plugging_is_fatal). If this is set to zero and
+# vif_plugging_is_fatal is False, events should not be
+# expected to arrive at all. (integer value)
+#vif_plugging_timeout=300
+
+
+#
+# Options defined in nova.virt.firewall
+#
+
+# Firewall driver (defaults to hypervisor specific iptables
+# driver) (string value)
+#firewall_driver=<None>
+
+# Whether to allow network traffic from same network (boolean
+# value)
+#allow_same_net_traffic=true
+
+
+#
+# Options defined in nova.virt.imagecache
+#
+
+# Number of seconds to wait between runs of the image cache
+# manager (integer value)
+#image_cache_manager_interval=2400
+
+# Where cached images are stored under $instances_path. This
+# is NOT the full path - just a folder name. For per-compute-
+# host cached images, set to _base_$my_ip (string value)
+# Deprecated group/name - [DEFAULT]/base_dir_name
+#image_cache_subdirectory_name=_base
+
+# Should unused base images be removed? (boolean value)
+#remove_unused_base_images=true
+
+# Unused unresized base images younger than this will not be
+# removed (integer value)
+#remove_unused_original_minimum_age_seconds=86400
+
+
+#
+# Options defined in nova.virt.imagehandler
+#
+
+# Specifies which image handler extension names to use for
+# handling images. The first extension in the list which can
+# handle the image with a suitable location will be used.
+# (list value)
+#image_handlers=download
+
+
+#
+# Options defined in nova.virt.images
+#
+
+# Force backing images to raw format (boolean value)
+#force_raw_images=true
+
+
+#
+# Options defined in nova.vnc
+#
+
+# Location of VNC console proxy, in the form
+# "http://127.0.0.1:6080/vnc_auto.html" (string value)
+#novncproxy_base_url=http://127.0.0.1:6080/vnc_auto.html
+
+# Location of nova xvp VNC console proxy, in the form
+# "http://127.0.0.1:6081/console" (string value)
+#xvpvncproxy_base_url=http://127.0.0.1:6081/console
+
+# IP address on which instance vncservers should listen
+# (string value)
+#vncserver_listen=127.0.0.1
+
+# The address to which proxy clients (like nova-xvpvncproxy)
+# should connect (string value)
+#vncserver_proxyclient_address=127.0.0.1
+
+# Enable VNC related features (boolean value)
+#vnc_enabled=true
+
+# Keymap for VNC (string value)
+#vnc_keymap=en-us
+
+
+#
+# Options defined in nova.vnc.xvp_proxy
+#
+
+# Port that the XCP VNC proxy should bind to (integer value)
+#xvpvncproxy_port=6081
+
+# Address that the XCP VNC proxy should bind to (string value)
+#xvpvncproxy_host=0.0.0.0
+
+
+#
+# Options defined in nova.volume
+#
+
+# The full class name of the volume API class to use (string
+# value)
+#volume_api_class=nova.volume.cinder.API
+
+
+#
+# Options defined in nova.volume.cinder
+#
+
+# Info to match when looking for cinder in the service
+# catalog. Format is: separated values of the form:
+# <service_type>:<service_name>:<endpoint_type> (string value)
+#cinder_catalog_info=volume:cinder:publicURL
+
+# Override service catalog lookup with template for cinder
+# endpoint e.g. http://localhost:8776/v1/%(project_id)s
+# (string value)
+#cinder_endpoint_template=<None>
+
+# Region name of this node (string value)
+#os_region_name=<None>
+
+# Location of ca certificates file to use for cinder client
+# requests. (string value)
+#cinder_ca_certificates_file=<None>
+
+# Number of cinderclient retries on failed http calls (integer
+# value)
+#cinder_http_retries=3
+
+# Allow to perform insecure SSL requests to cinder (boolean
+# value)
+#cinder_api_insecure=false
+
+# Allow attach between instance and volume in different
+# availability zones. (boolean value)
+#cinder_cross_az_attach=true
+
+
+[baremetal]
+
+#
+# Options defined in nova.virt.baremetal.db.api
+#
+
+# The backend to use for bare-metal database (string value)
+#db_backend=sqlalchemy
+
+
+#
+# Options defined in nova.virt.baremetal.db.sqlalchemy.session
+#
+
+# The SQLAlchemy connection string used to connect to the
+# bare-metal database (string value)
+#sql_connection=sqlite:///$state_path/baremetal_nova.sqlite
+
+
+#
+# Options defined in nova.virt.baremetal.driver
+#
+
+# Baremetal VIF driver. (string value)
+#vif_driver=nova.virt.baremetal.vif_driver.BareMetalVIFDriver
+
+# Baremetal volume driver. (string value)
+#volume_driver=nova.virt.baremetal.volume_driver.LibvirtVolumeDriver
+
+# A list of additional capabilities corresponding to
+# flavor_extra_specs for this compute host to advertise. Valid
+# entries are name=value, pairs For example, "key1:val1,
+# key2:val2" (list value)
+# Deprecated group/name - [DEFAULT]/instance_type_extra_specs
+#flavor_extra_specs=
+
+# Baremetal driver back-end (pxe or tilera) (string value)
+#driver=nova.virt.baremetal.pxe.PXE
+
+# Baremetal power management method (string value)
+#power_manager=nova.virt.baremetal.ipmi.IPMI
+
+# Baremetal compute node's tftp root path (string value)
+#tftp_root=/tftpboot
+
+
+#
+# Options defined in nova.virt.baremetal.ipmi
+#
+
+# Path to baremetal terminal program (string value)
+#terminal=shellinaboxd
+
+# Path to baremetal terminal SSL cert(PEM) (string value)
+#terminal_cert_dir=<None>
+
+# Path to directory stores pidfiles of baremetal_terminal
+# (string value)
+#terminal_pid_dir=$state_path/baremetal/console
+
+# Maximal number of retries for IPMI operations (integer
+# value)
+#ipmi_power_retry=10
+
+
+#
+# Options defined in nova.virt.baremetal.pxe
+#
+
+# Default kernel image ID used in deployment phase (string
+# value)
+#deploy_kernel=<None>
+
+# Default ramdisk image ID used in deployment phase (string
+# value)
+#deploy_ramdisk=<None>
+
+# Template file for injected network config (string value)
+#net_config_template=$pybasedir/nova/virt/baremetal/net-dhcp.ubuntu.template
+
+# Additional append parameters for baremetal PXE boot (string
+# value)
+#pxe_append_params=nofb nomodeset vga=normal
+
+# Template file for PXE configuration (string value)
+#pxe_config_template=$pybasedir/nova/virt/baremetal/pxe_config.template
+
+# If True, enable file injection for network info, files and
+# admin password (boolean value)
+#use_file_injection=false
+
+# Timeout for PXE deployments. Default: 0 (unlimited) (integer
+# value)
+#pxe_deploy_timeout=0
+
+# If set, pass the network configuration details to the
+# initramfs via cmdline. (boolean value)
+#pxe_network_config=false
+
+# This gets passed to Neutron as the bootfile dhcp parameter.
+# (string value)
+#pxe_bootfile_name=pxelinux.0
+
+
+#
+# Options defined in nova.virt.baremetal.tilera_pdu
+#
+
+# IP address of tilera pdu (string value)
+#tile_pdu_ip=10.0.100.1
+
+# Management script for tilera pdu (string value)
+#tile_pdu_mgr=/tftpboot/pdu_mgr
+
+# Power status of tilera PDU is OFF (integer value)
+#tile_pdu_off=2
+
+# Power status of tilera PDU is ON (integer value)
+#tile_pdu_on=1
+
+# Power status of tilera PDU (integer value)
+#tile_pdu_status=9
+
+# Wait time in seconds until check the result after tilera
+# power operations (integer value)
+#tile_power_wait=9
+
+
+#
+# Options defined in nova.virt.baremetal.virtual_power_driver
+#
+
+# IP or name to virtual power host (string value)
+#virtual_power_ssh_host=
+
+# Port to use for ssh to virtual power host (integer value)
+#virtual_power_ssh_port=22
+
+# Base command to use for virtual power(vbox, virsh) (string
+# value)
+#virtual_power_type=virsh
+
+# User to execute virtual power commands as (string value)
+#virtual_power_host_user=
+
+# Password for virtual power host_user (string value)
+#virtual_power_host_pass=
+
+# The ssh key for virtual power host_user (string value)
+#virtual_power_host_key=<None>
+
+
+#
+# Options defined in nova.virt.baremetal.volume_driver
+#
+
+# Do not set this out of dev/test environments. If a node does
+# not have a fixed PXE IP address, volumes are exported with
+# globally opened ACL (boolean value)
+#use_unsafe_iscsi=false
+
+# The iSCSI IQN prefix used in baremetal volume connections.
+# (string value)
+#iscsi_iqn_prefix=iqn.2010-10.org.openstack.baremetal
+
+
+[cells]
+
+#
+# Options defined in nova.cells.manager
+#
+
+# Cells communication driver to use (string value)
+#driver=nova.cells.rpc_driver.CellsRPCDriver
+
+# Number of seconds after an instance was updated or deleted
+# to continue to update cells (integer value)
+#instance_updated_at_threshold=3600
+
+# Number of instances to update per periodic task run (integer
+# value)
+#instance_update_num_instances=1
+
+
+#
+# Options defined in nova.cells.messaging
+#
+
+# Maximum number of hops for cells routing. (integer value)
+#max_hop_count=10
+
+# Cells scheduler to use (string value)
+#scheduler=nova.cells.scheduler.CellsScheduler
+
+
+#
+# Options defined in nova.cells.opts
+#
+
+# Enable cell functionality (boolean value)
+#enable=false
+
+# The topic cells nodes listen on (string value)
+#topic=cells
+
+# Manager for cells (string value)
+#manager=nova.cells.manager.CellsManager
+
+# Name of this cell (string value)
+#name=nova
+
+# Key/Multi-value list with the capabilities of the cell (list
+# value)
+#capabilities=hypervisor=xenserver;kvm,os=linux;windows
+
+# Seconds to wait for response from a call to a cell. (integer
+# value)
+#call_timeout=60
+
+# Percentage of cell capacity to hold in reserve. Affects both
+# memory and disk utilization (floating point value)
+#reserve_percent=10.0
+
+# Type of cell: api or compute (string value)
+#cell_type=compute
+
+# Number of seconds after which a lack of capability and
+# capacity updates signals the child cell is to be treated as
+# a mute. (integer value)
+#mute_child_interval=300
+
+# Seconds between bandwidth updates for cells. (integer value)
+#bandwidth_update_interval=600
+
+
+#
+# Options defined in nova.cells.rpc_driver
+#
+
+# Base queue name to use when communicating between cells.
+# Various topics by message type will be appended to this.
+# (string value)
+#rpc_driver_queue_base=cells.intercell
+
+
+#
+# Options defined in nova.cells.scheduler
+#
+
+# Filter classes the cells scheduler should use. An entry of
+# "nova.cells.filters.all_filters" maps to all cells filters
+# included with nova. (list value)
+#scheduler_filter_classes=nova.cells.filters.all_filters
+
+# Weigher classes the cells scheduler should use. An entry of
+# "nova.cells.weights.all_weighers" maps to all cell weighers
+# included with nova. (list value)
+#scheduler_weight_classes=nova.cells.weights.all_weighers
+
+# How many retries when no cells are available. (integer
+# value)
+#scheduler_retries=10
+
+# How often to retry in seconds when no cells are available.
+# (integer value)
+#scheduler_retry_delay=2
+
+
+#
+# Options defined in nova.cells.state
+#
+
+# Interval, in seconds, for getting fresh cell information
+# from the database. (integer value)
+#db_check_interval=60
+
+# Configuration file from which to read cells configuration.
+# If given, overrides reading cells from the database. (string
+# value)
+#cells_config=<None>
+
+
+#
+# Options defined in nova.cells.weights.mute_child
+#
+
+# Multiplier used to weigh mute children. (The value should be
+# negative.) (floating point value)
+#mute_weight_multiplier=-10.0
+
+# Weight value assigned to mute children. (The value should be
+# positive.) (floating point value)
+#mute_weight_value=1000.0
+
+
+#
+# Options defined in nova.cells.weights.ram_by_instance_type
+#
+
+# Multiplier used for weighing ram. Negative numbers mean to
+# stack vs spread. (floating point value)
+#ram_weight_multiplier=10.0
+
+
+#
+# Options defined in nova.cells.weights.weight_offset
+#
+
+# Multiplier used to weigh offset weigher. (floating point
+# value)
+#offset_weight_multiplier=1.0
+
+
+[conductor]
+
+#
+# Options defined in nova.conductor.api
+#
+
+# Perform nova-conductor operations locally (boolean value)
+#use_local=false
+
+# The topic on which conductor nodes listen (string value)
+#topic=conductor
+
+# Full class name for the Manager for conductor (string value)
+#manager=nova.conductor.manager.ConductorManager
+
+# Number of workers for OpenStack Conductor service. The
+# default will be the number of CPUs available. (integer
+# value)
+#workers=<None>
+
+
+[database]
+
+#
+# Options defined in nova.db.sqlalchemy.api
+#
+
+# The SQLAlchemy connection string used to connect to the
+# slave database (string value)
+#slave_connection=<None>
+
+
+#
+# Options defined in nova.openstack.common.db.options
+#
+
+# The file name to use with SQLite (string value)
+#sqlite_db=nova.sqlite
+
+# If True, SQLite uses synchronous mode (boolean value)
+#sqlite_synchronous=true
+
+# The backend to use for db (string value)
+# Deprecated group/name - [DEFAULT]/db_backend
+#backend=sqlalchemy
+
+# The SQLAlchemy connection string used to connect to the
+# database (string value)
+# Deprecated group/name - [DEFAULT]/sql_connection
+# Deprecated group/name - [DATABASE]/sql_connection
+# Deprecated group/name - [sql]/connection
+#connection=<None>
+
+# The SQL mode to be used for MySQL sessions (default is
+# empty, meaning do not override any server-side SQL mode
+# setting) (string value)
+#mysql_sql_mode=<None>
+
+# Timeout before idle sql connections are reaped (integer
+# value)
+# Deprecated group/name - [DEFAULT]/sql_idle_timeout
+# Deprecated group/name - [DATABASE]/sql_idle_timeout
+# Deprecated group/name - [sql]/idle_timeout
+#idle_timeout=3600
+
+# Minimum number of SQL connections to keep open in a pool
+# (integer value)
+# Deprecated group/name - [DEFAULT]/sql_min_pool_size
+# Deprecated group/name - [DATABASE]/sql_min_pool_size
+#min_pool_size=1
+
+# Maximum number of SQL connections to keep open in a pool
+# (integer value)
+# Deprecated group/name - [DEFAULT]/sql_max_pool_size
+# Deprecated group/name - [DATABASE]/sql_max_pool_size
+#max_pool_size=<None>
+
+# Maximum db connection retries during startup. (setting -1
+# implies an infinite retry count) (integer value)
+# Deprecated group/name - [DEFAULT]/sql_max_retries
+# Deprecated group/name - [DATABASE]/sql_max_retries
+#max_retries=10
+
+# Interval between retries of opening a sql connection
+# (integer value)
+# Deprecated group/name - [DEFAULT]/sql_retry_interval
+# Deprecated group/name - [DATABASE]/reconnect_interval
+#retry_interval=10
+
+# If set, use this value for max_overflow with sqlalchemy
+# (integer value)
+# Deprecated group/name - [DEFAULT]/sql_max_overflow
+# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow
+#max_overflow=<None>
+
+# Verbosity of SQL debugging information. 0=None,
+# 100=Everything (integer value)
+# Deprecated group/name - [DEFAULT]/sql_connection_debug
+#connection_debug=0
+
+# Add python stack traces to SQL as comment strings (boolean
+# value)
+# Deprecated group/name - [DEFAULT]/sql_connection_trace
+#connection_trace=false
+
+# If set, use this value for pool_timeout with sqlalchemy
+# (integer value)
+# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout
+#pool_timeout=<None>
+
+# Enable the experimental use of database reconnect on
+# connection lost (boolean value)
+#use_db_reconnect=false
+
+# seconds between db connection retries (integer value)
+#db_retry_interval=1
+
+# Whether to increase interval between db connection retries,
+# up to db_max_retry_interval (boolean value)
+#db_inc_retry_interval=true
+
+# max seconds between db connection retries, if
+# db_inc_retry_interval is enabled (integer value)
+#db_max_retry_interval=10
+
+# maximum db connection retries before error is raised.
+# (setting -1 implies an infinite retry count) (integer value)
+#db_max_retries=20
+
+
+[hyperv]
+
+#
+# Options defined in nova.virt.hyperv.pathutils
+#
+
+# The name of a Windows share name mapped to the
+# "instances_path" dir and used by the resize feature to copy
+# files to the target host. If left blank, an administrative
+# share will be used, looking for the same "instances_path"
+# used locally (string value)
+#instances_path_share=
+
+
+#
+# Options defined in nova.virt.hyperv.utilsfactory
+#
+
+# Force V1 WMI utility classes (boolean value)
+#force_hyperv_utils_v1=false
+
+# Force V1 volume utility class (boolean value)
+#force_volumeutils_v1=false
+
+
+#
+# Options defined in nova.virt.hyperv.vif
+#
+
+# External virtual switch Name, if not provided, the first
+# external virtual switch is used (string value)
+#vswitch_name=<None>
+
+
+#
+# Options defined in nova.virt.hyperv.vmops
+#
+
+# Required for live migration among hosts with different CPU
+# features (boolean value)
+#limit_cpu_features=false
+
+# Sets the admin password in the config drive image (boolean
+# value)
+#config_drive_inject_password=false
+
+# Path of qemu-img command which is used to convert between
+# different image types (string value)
+#qemu_img_cmd=qemu-img.exe
+
+# Attaches the Config Drive image as a cdrom drive instead of
+# a disk drive (boolean value)
+#config_drive_cdrom=false
+
+# Enables metrics collections for an instance by using
+# Hyper-V's metric APIs. Collected data can by retrieved by
+# other apps and services, e.g.: Ceilometer. Requires Hyper-V
+# / Windows Server 2012 and above (boolean value)
+#enable_instance_metrics_collection=false
+
+# Enables dynamic memory allocation (ballooning) when set to a
+# value greater than 1. The value expresses the ratio between
+# the total RAM assigned to an instance and its startup RAM
+# amount. For example a ratio of 2.0 for an instance with
+# 1024MB of RAM implies 512MB of RAM allocated at startup
+# (floating point value)
+#dynamic_memory_ratio=1.0
+
+
+#
+# Options defined in nova.virt.hyperv.volumeops
+#
+
+# The number of times to retry to attach a volume (integer
+# value)
+#volume_attach_retry_count=10
+
+# Interval between volume attachment attempts, in seconds
+# (integer value)
+#volume_attach_retry_interval=5
+
+# The number of times to retry checking for a disk mounted via
+# iSCSI. (integer value)
+#mounted_disk_query_retry_count=10
+
+# Interval between checks for a mounted iSCSI disk, in
+# seconds. (integer value)
+#mounted_disk_query_retry_interval=5
+
+
+[image_file_url]
+
+#
+# Options defined in nova.image.download.file
+#
+
+# List of file systems that are configured in this file in the
+# image_file_url:<list entry name> sections (list value)
+#filesystems=
+
+
+[keymgr]
+
+#
+# Options defined in nova.keymgr
+#
+
+# The full class name of the key manager API class (string
+# value)
+#api_class=nova.keymgr.conf_key_mgr.ConfKeyManager
+
+
+#
+# Options defined in nova.keymgr.conf_key_mgr
+#
+
+# Fixed key returned by key manager, specified in hex (string
+# value)
+#fixed_key=<None>
+
+
+[keystone_authtoken]
+
+#
+# Options defined in keystoneclient.middleware.auth_token
+#
+
+# Prefix to prepend at the beginning of the path (string
+# value)
+#auth_admin_prefix=
+
+# Host providing the admin Identity API endpoint (string
+# value)
+#auth_host=127.0.0.1
+
+# Port of the admin Identity API endpoint (integer value)
+#auth_port=35357
+
+# Protocol of the admin Identity API endpoint(http or https)
+# (string value)
+#auth_protocol=https
+
+# Complete public Identity API endpoint (string value)
+#auth_uri=<None>
+
+# API version of the admin Identity API endpoint (string
+# value)
+#auth_version=<None>
+
+# Do not handle authorization requests within the middleware,
+# but delegate the authorization decision to downstream WSGI
+# components (boolean value)
+#delay_auth_decision=false
+
+# Request timeout value for communicating with Identity API
+# server. (boolean value)
+#http_connect_timeout=<None>
+
+# How many times are we trying to reconnect when communicating
+# with Identity API Server. (integer value)
+#http_request_max_retries=3
+
+# Single shared secret with the Keystone configuration used
+# for bootstrapping a Keystone installation, or otherwise
+# bypassing the normal authentication process. (string value)
+#admin_token=<None>
+
+# Keystone account username (string value)
+#admin_user=<None>
+
+# Keystone account password (string value)
+#admin_password=<None>
+
+# Keystone service account tenant name to validate user tokens
+# (string value)
+#admin_tenant_name=admin
+
+# Env key for the swift cache (string value)
+#cache=<None>
+
+# Required if Keystone server requires client certificate
+# (string value)
+#certfile=<None>
+
+# Required if Keystone server requires client certificate
+# (string value)
+#keyfile=<None>
+
+# A PEM encoded Certificate Authority to use when verifying
+# HTTPs connections. Defaults to system CAs. (string value)
+#cafile=<None>
+
+# Verify HTTPS connections. (boolean value)
+#insecure=false
+
+# Directory used to cache files related to PKI tokens (string
+# value)
+#signing_dir=<None>
+
+# Optionally specify a list of memcached server(s) to use for
+# caching. If left undefined, tokens will instead be cached
+# in-process. (list value)
+# Deprecated group/name - [DEFAULT]/memcache_servers
+#memcached_servers=<None>
+
+# In order to prevent excessive effort spent validating
+# tokens, the middleware caches previously-seen tokens for a
+# configurable duration (in seconds). Set to -1 to disable
+# caching completely. (integer value)
+#token_cache_time=300
+
+# Determines the frequency at which the list of revoked tokens
+# is retrieved from the Identity service (in seconds). A high
+# number of revocation events combined with a low cache
+# duration may significantly reduce performance. (integer
+# value)
+#revocation_cache_time=300
+
+# (optional) if defined, indicate whether token data should be
+# authenticated or authenticated and encrypted. Acceptable
+# values are MAC or ENCRYPT. If MAC, token data is
+# authenticated (with HMAC) in the cache. If ENCRYPT, token
+# data is encrypted and authenticated in the cache. If the
+# value is not one of these options or empty, auth_token will
+# raise an exception on initialization. (string value)
+#memcache_security_strategy=<None>
+
+# (optional, mandatory if memcache_security_strategy is
+# defined) this string is used for key derivation. (string
+# value)
+#memcache_secret_key=<None>
+
+# (optional) indicate whether to set the X-Service-Catalog
+# header. If False, middleware will not ask for service
+# catalog on token validation and will not set the X-Service-
+# Catalog header. (boolean value)
+#include_service_catalog=true
+
+# Used to control the use and type of token binding. Can be
+# set to: "disabled" to not check token binding. "permissive"
+# (default) to validate binding information if the bind type
+# is of a form known to the server and ignore it if not.
+# "strict" like "permissive" but if the bind type is unknown
+# the token will be rejected. "required" any form of token
+# binding is needed to be allowed. Finally the name of a
+# binding method that must be present in tokens. (string
+# value)
+#enforce_token_bind=permissive
+
+
+[libvirt]
+
+#
+# Options defined in nova.virt.libvirt.driver
+#
+
+# Rescue ami image (string value)
+#rescue_image_id=<None>
+
+# Rescue aki image (string value)
+#rescue_kernel_id=<None>
+
+# Rescue ari image (string value)
+#rescue_ramdisk_id=<None>
+
+# Libvirt domain type (valid options are: kvm, lxc, qemu, uml,
+# xen) (string value)
+# Deprecated group/name - [DEFAULT]/libvirt_type
+#virt_type=kvm
+
+# Override the default libvirt URI (which is dependent on
+# virt_type) (string value)
+# Deprecated group/name - [DEFAULT]/libvirt_uri
+#connection_uri=
+
+# Inject the admin password at boot time, without an agent.
+# (boolean value)
+# Deprecated group/name - [DEFAULT]/libvirt_inject_password
+#inject_password=false
+
+# Inject the ssh public key at boot time (boolean value)
+# Deprecated group/name - [DEFAULT]/libvirt_inject_key
+#inject_key=false
+
+# The partition to inject to : -2 => disable, -1 => inspect
+# (libguestfs only), 0 => not partitioned, >0 => partition
+# number (integer value)
+# Deprecated group/name - [DEFAULT]/libvirt_inject_partition
+#inject_partition=-2
+
+# Sync virtual and real mouse cursors in Windows VMs (boolean
+# value)
+#use_usb_tablet=true
+
+# Migration target URI (any included "%s" is replaced with the
+# migration target hostname) (string value)
+#live_migration_uri=qemu+tcp://%s/system
+
+# Migration flags to be set for live migration (string value)
+#live_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER
+
+# Migration flags to be set for block migration (string value)
+#block_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, VIR_MIGRATE_NON_SHARED_INC
+
+# Maximum bandwidth to be used during migration, in Mbps
+# (integer value)
+#live_migration_bandwidth=0
+
+# Snapshot image format (valid options are : raw, qcow2, vmdk,
+# vdi). Defaults to same as source image (string value)
+#snapshot_image_format=<None>
+
+# DEPRECATED. The libvirt VIF driver to configure the
+# VIFs.This option is deprecated and will be removed in the
+# Juno release. (string value)
+# Deprecated group/name - [DEFAULT]/libvirt_vif_driver
+#vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver
+
+# Libvirt handlers for remote volumes. (list value)
+# Deprecated group/name - [DEFAULT]/libvirt_volume_drivers
+#volume_drivers=iscsi=nova.virt.libvirt.volume.LibvirtISCSIVolumeDriver,iser=nova.virt.libvirt.volume.LibvirtISERVolumeDriver,local=nova.virt.libvirt.volume.LibvirtVolumeDriver,fake=nova.virt.libvirt.volume.LibvirtFakeVolumeDriver,rbd=nova.virt.libvirt.volume.LibvirtNetVolumeDriver,sheepdog=nova.virt.libvirt.volume.LibvirtNetVolumeDriver,nfs=nova.virt.libvirt.volume.LibvirtNFSVolumeDriver,aoe=nova.virt.libvirt.volume.LibvirtAOEVolumeDriver,glusterfs=nova.virt.libvirt.volume.LibvirtGlusterfsVolumeDriver,fibre_channel=nova.virt.libvirt.volume.LibvirtFibreChannelVolumeDriver,scality=nova.virt.libvirt.volume.LibvirtScalityVolumeDriver
+
+# Override the default disk prefix for the devices attached to
+# a server, which is dependent on virt_type. (valid options
+# are: sd, xvd, uvd, vd) (string value)
+# Deprecated group/name - [DEFAULT]/libvirt_disk_prefix
+#disk_prefix=<None>
+
+# Number of seconds to wait for instance to shut down after
+# soft reboot request is made. We fall back to hard reboot if
+# instance does not shutdown within this window. (integer
+# value)
+# Deprecated group/name - [DEFAULT]/libvirt_wait_soft_reboot_seconds
+#wait_soft_reboot_seconds=120
+
+# Set to "host-model" to clone the host CPU feature flags; to
+# "host-passthrough" to use the host CPU model exactly; to
+# "custom" to use a named CPU model; to "none" to not set any
+# CPU model. If virt_type="kvm|qemu", it will default to
+# "host-model", otherwise it will default to "none" (string
+# value)
+# Deprecated group/name - [DEFAULT]/libvirt_cpu_mode
+#cpu_mode=<None>
+
+# Set to a named libvirt CPU model (see names listed in
+# /usr/share/libvirt/cpu_map.xml). Only has effect if
+# cpu_mode="custom" and virt_type="kvm|qemu" (string value)
+# Deprecated group/name - [DEFAULT]/libvirt_cpu_model
+#cpu_model=<None>
+
+# Location where libvirt driver will store snapshots before
+# uploading them to image service (string value)
+# Deprecated group/name - [DEFAULT]/libvirt_snapshots_directory
+#snapshots_directory=$instances_path/snapshots
+
+# Location where the Xen hvmloader is kept (string value)
+#xen_hvmloader_path=/usr/lib/xen/boot/hvmloader
+
+# Specific cachemodes to use for different disk types e.g:
+# file=directsync,block=none (list value)
+#disk_cachemodes=
+
+# 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)
+#rng_dev_path=<None>
+
+
+#
+# Options defined in nova.virt.libvirt.imagebackend
+#
+
+# VM Images format. Acceptable values are: raw, qcow2, lvm,
+# rbd, default. If default is specified, then use_cow_images
+# flag is used instead of this one. (string value)
+# Deprecated group/name - [DEFAULT]/libvirt_images_type
+#images_type=default
+
+# LVM Volume Group that is used for VM images, when you
+# specify images_type=lvm. (string value)
+# Deprecated group/name - [DEFAULT]/libvirt_images_volume_group
+#images_volume_group=<None>
+
+# Create sparse logical volumes (with virtualsize) if this
+# flag is set to True. (boolean value)
+# Deprecated group/name - [DEFAULT]/libvirt_sparse_logical_volumes
+#sparse_logical_volumes=false
+
+# Method used to wipe old volumes (valid options are: none,
+# zero, shred) (string value)
+#volume_clear=zero
+
+# Size in MiB to wipe at start of old volumes. 0 => all
+# (integer value)
+#volume_clear_size=0
+
+# The RADOS pool in which rbd volumes are stored (string
+# value)
+# Deprecated group/name - [DEFAULT]/libvirt_images_rbd_pool
+#images_rbd_pool=rbd
+
+# Path to the ceph configuration file to use (string value)
+# Deprecated group/name - [DEFAULT]/libvirt_images_rbd_ceph_conf
+#images_rbd_ceph_conf=
+
+
+#
+# Options defined in nova.virt.libvirt.imagecache
+#
+
+# Allows image information files to be stored in non-standard
+# locations (string value)
+#image_info_filename_pattern=$instances_path/$image_cache_subdirectory_name/%(image)s.info
+
+# Should unused kernel images be removed? This is only safe to
+# enable if all compute nodes have been updated to support
+# this option. This will be enabled by default in future.
+# (boolean value)
+#remove_unused_kernels=false
+
+# Unused resized base images younger than this will not be
+# removed (integer value)
+#remove_unused_resized_minimum_age_seconds=3600
+
+# Write a checksum for files in _base to disk (boolean value)
+#checksum_base_images=false
+
+# How frequently to checksum base images (integer value)
+#checksum_interval_seconds=3600
+
+
+#
+# Options defined in nova.virt.libvirt.utils
+#
+
+# Compress snapshot images when possible. This currently
+# applies exclusively to qcow2 images (boolean value)
+# Deprecated group/name - [DEFAULT]/libvirt_snapshot_compression
+#snapshot_compression=false
+
+
+#
+# Options defined in nova.virt.libvirt.vif
+#
+
+# Use virtio for bridge interfaces with KVM/QEMU (boolean
+# value)
+# Deprecated group/name - [DEFAULT]/libvirt_use_virtio_for_bridges
+#use_virtio_for_bridges=true
+
+
+#
+# Options defined in nova.virt.libvirt.volume
+#
+
+# Number of times to rescan iSCSI target to find volume
+# (integer value)
+#num_iscsi_scan_tries=5
+
+# Number of times to rescan iSER target to find volume
+# (integer value)
+#num_iser_scan_tries=5
+
+# The RADOS client name for accessing rbd volumes (string
+# value)
+#rbd_user=<None>
+
+# The libvirt UUID of the secret for the rbd_uservolumes
+# (string value)
+#rbd_secret_uuid=<None>
+
+# Directory where the NFS volume is mounted on the compute
+# node (string value)
+#nfs_mount_point_base=$state_path/mnt
+
+# Mount options passedf to the NFS client. See section of the
+# nfs man page for details (string value)
+#nfs_mount_options=<None>
+
+# Number of times to rediscover AoE target to find volume
+# (integer value)
+#num_aoe_discover_tries=3
+
+# Directory where the glusterfs volume is mounted on the
+# compute node (string value)
+#glusterfs_mount_point_base=$state_path/mnt
+
+# Use multipath connection of the iSCSI volume (boolean value)
+# Deprecated group/name - [DEFAULT]/libvirt_iscsi_use_multipath
+#iscsi_use_multipath=false
+
+# Use multipath connection of the iSER volume (boolean value)
+# Deprecated group/name - [DEFAULT]/libvirt_iser_use_multipath
+#iser_use_multipath=false
+
+# Path or URL to Scality SOFS configuration file (string
+# value)
+#scality_sofs_config=<None>
+
+# Base dir where Scality SOFS shall be mounted (string value)
+#scality_sofs_mount_point=$state_path/scality
+
+# Protocols listed here will be accessed directly from QEMU.
+# Currently supported protocols: [gluster] (list value)
+#qemu_allowed_storage_drivers=
+
+
+[matchmaker_ring]
+
+#
+# Options defined in oslo.messaging
+#
+
+# Matchmaker ring file (JSON). (string value)
+# Deprecated group/name - [DEFAULT]/matchmaker_ringfile
+#ringfile=/etc/oslo/matchmaker_ring.json
+
+
+[metrics]
+
+#
+# Options defined in nova.scheduler.weights.metrics
+#
+
+# Multiplier used for weighing metrics. (floating point value)
+#weight_multiplier=1.0
+
+# How the metrics are going to be weighed. This should be in
+# the form of "<name1>=<ratio1>, <name2>=<ratio2>, ...", where
+# <nameX> is one of the metrics to be weighed, and <ratioX> is
+# the corresponding ratio. So for "name1=1.0, name2=-1.0" The
+# final weight would be name1.value * 1.0 + name2.value *
+# -1.0. (list value)
+#weight_setting=
+
+# How to treat the unavailable metrics. When a metric is NOT
+# available for a host, if it is set to be True, it would
+# raise an exception, so it is recommended to use the
+# scheduler filter MetricFilter to filter out those hosts. If
+# it is set to be False, the unavailable metric would be
+# treated as a negative factor in weighing process, the
+# returned value would be set by the option
+# weight_of_unavailable. (boolean value)
+#required=true
+
+# The final weight value to be returned if required is set to
+# False and any one of the metrics set by weight_setting is
+# unavailable. (floating point value)
+#weight_of_unavailable=-10000.0
+
+
+[osapi_v3]
+
+#
+# Options defined in nova.api.openstack
+#
+
+# Whether the V3 API is enabled or not (boolean value)
+#enabled=false
+
+# A list of v3 API extensions to never load. Specify the
+# extension aliases here. (list value)
+#extensions_blacklist=
+
+# If the list is not empty then a v3 API extension will only
+# be loaded if it exists in this list. Specify the extension
+# aliases here. (list value)
+#extensions_whitelist=
+
+
+[rdp]
+
+#
+# Options defined in nova.rdp
+#
+
+# Location of RDP html5 console proxy, in the form
+# "http://127.0.0.1:6083/" (string value)
+#html5_proxy_base_url=http://127.0.0.1:6083/
+
+# Enable RDP related features (boolean value)
+#enabled=false
+
+
+[spice]
+
+#
+# Options defined in nova.spice
+#
+
+# Location of spice HTML5 console proxy, in the form
+# "http://127.0.0.1:6082/spice_auto.html" (string value)
+#html5proxy_base_url=http://127.0.0.1:6082/spice_auto.html
+
+# IP address on which instance spice server should listen
+# (string value)
+#server_listen=127.0.0.1
+
+# The address to which proxy clients (like nova-
+# spicehtml5proxy) should connect (string value)
+#server_proxyclient_address=127.0.0.1
+
+# Enable spice related features (boolean value)
+#enabled=false
+
+# Enable spice guest agent support (boolean value)
+#agent_enabled=true
+
+# Keymap for spice (string value)
+#keymap=en-us
+
+
+[ssl]
+
+#
+# Options defined in nova.openstack.common.sslutils
+#
+
+# CA certificate file to use to verify connecting clients.
+# (string value)
+#ca_file=<None>
+
+# Certificate file to use when starting the server securely.
+# (string value)
+#cert_file=<None>
+
+# Private key file to use when starting the server securely.
+# (string value)
+#key_file=<None>
+
+
+[trusted_computing]
+
+#
+# Options defined in nova.scheduler.filters.trusted_filter
+#
+
+# Attestation server HTTP (string value)
+#attestation_server=<None>
+
+# Attestation server Cert file for Identity verification
+# (string value)
+#attestation_server_ca_file=<None>
+
+# Attestation server port (string value)
+#attestation_port=8443
+
+# Attestation web API URL (string value)
+#attestation_api_url=/OpenAttestationWebServices/V1.0
+
+# Attestation authorization blob - must change (string value)
+#attestation_auth_blob=<None>
+
+# Attestation status cache valid period length (integer value)
+#attestation_auth_timeout=60
+
+
+[upgrade_levels]
+
+#
+# Options defined in nova.baserpc
+#
+
+# Set a version cap for messages sent to the base api in any
+# service (string value)
+#baseapi=<None>
+
+
+#
+# Options defined in nova.cells.rpc_driver
+#
+
+# Set a version cap for messages sent between cells services
+# (string value)
+#intercell=<None>
+
+
+#
+# Options defined in nova.cells.rpcapi
+#
+
+# Set a version cap for messages sent to local cells services
+# (string value)
+#cells=<None>
+
+
+#
+# Options defined in nova.cert.rpcapi
+#
+
+# Set a version cap for messages sent to cert services (string
+# value)
+#cert=<None>
+
+
+#
+# Options defined in nova.compute.rpcapi
+#
+
+# Set a version cap for messages sent to compute services. If
+# you plan to do a live upgrade from havana to icehouse, you
+# should set this option to "icehouse-compat" before beginning
+# the live upgrade procedure. (string value)
+#compute=<None>
+
+
+#
+# Options defined in nova.conductor.rpcapi
+#
+
+# Set a version cap for messages sent to conductor services
+# (string value)
+#conductor=<None>
+
+
+#
+# Options defined in nova.console.rpcapi
+#
+
+# Set a version cap for messages sent to console services
+# (string value)
+#console=<None>
+
+
+#
+# Options defined in nova.consoleauth.rpcapi
+#
+
+# Set a version cap for messages sent to consoleauth services
+# (string value)
+#consoleauth=<None>
+
+
+#
+# Options defined in nova.network.rpcapi
+#
+
+# Set a version cap for messages sent to network services
+# (string value)
+#network=<None>
+
+
+#
+# Options defined in nova.scheduler.rpcapi
+#
+
+# Set a version cap for messages sent to scheduler services
+# (string value)
+#scheduler=<None>
+
+
+[vmware]
+
+#
+# Options defined in nova.virt.vmwareapi.driver
+#
+
+# Hostname or IP address for connection to VMware ESX/VC host.
+# (string value)
+#host_ip=<None>
+
+# Username for connection to VMware ESX/VC host. (string
+# value)
+#host_username=<None>
+
+# Password for connection to VMware ESX/VC host. (string
+# value)
+#host_password=<None>
+
+# Name of a VMware Cluster ComputeResource. Used only if
+# compute_driver is vmwareapi.VMwareVCDriver. (multi valued)
+#cluster_name=<None>
+
+# Regex to match the name of a datastore. (string value)
+#datastore_regex=<None>
+
+# The interval used for polling of remote tasks. (floating
+# point value)
+#task_poll_interval=0.5
+
+# The number of times we retry on failures, e.g., socket
+# error, etc. (integer value)
+#api_retry_count=10
+
+# VNC starting port (integer value)
+#vnc_port=5900
+
+# Total number of VNC ports (integer value)
+#vnc_port_total=10000
+
+# Whether to use linked clone (boolean value)
+#use_linked_clone=true
+
+
+#
+# Options defined in nova.virt.vmwareapi.vif
+#
+
+# Physical ethernet adapter name for vlan networking (string
+# value)
+#vlan_interface=vmnic0
+
+
+#
+# Options defined in nova.virt.vmwareapi.vim
+#
+
+# Optional VIM Service WSDL Location e.g
+# http://<server>/vimService.wsdl. Optional over-ride to
+# default location for bug work-arounds (string value)
+#wsdl_location=<None>
+
+
+#
+# Options defined in nova.virt.vmwareapi.vim_util
+#
+
+# The maximum number of ObjectContent data objects that should
+# be returned in a single result. A positive value will cause
+# the operation to suspend the retrieval when the count of
+# objects reaches the specified maximum. The server may still
+# limit the count to something less than the configured value.
+# Any remaining objects may be retrieved with additional
+# requests. (integer value)
+#maximum_objects=100
+
+
+#
+# Options defined in nova.virt.vmwareapi.vmops
+#
+
+# Name of Integration Bridge (string value)
+#integration_bridge=br-int
+
+
+[xenserver]
+
+#
+# Options defined in nova.virt.xenapi.agent
+#
+
+# Number of seconds to wait for agent reply (integer value)
+# Deprecated group/name - [DEFAULT]/agent_timeout
+#agent_timeout=30
+
+# Number of seconds to wait for agent to be fully operational
+# (integer value)
+# Deprecated group/name - [DEFAULT]/agent_version_timeout
+#agent_version_timeout=300
+
+# Number of seconds to wait for agent reply to resetnetwork
+# request (integer value)
+# Deprecated group/name - [DEFAULT]/agent_resetnetwork_timeout
+#agent_resetnetwork_timeout=60
+
+# Specifies the path in which the XenAPI guest agent should be
+# located. If the agent is present, network configuration is
+# not injected into the image. Used if
+# compute_driver=xenapi.XenAPIDriver and flat_injected=True
+# (string value)
+# Deprecated group/name - [DEFAULT]/xenapi_agent_path
+#agent_path=usr/sbin/xe-update-networking
+
+# Disables the use of the XenAPI agent in any image regardless
+# of what image properties are present. (boolean value)
+# Deprecated group/name - [DEFAULT]/xenapi_disable_agent
+#disable_agent=false
+
+# Determines if the XenAPI agent should be used when the image
+# used does not contain a hint to declare if the agent is
+# present or not. The hint is a glance property
+# "xenapi_use_agent" that has the value "True" or "False".
+# Note that waiting for the agent when it is not present will
+# significantly increase server boot times. (boolean value)
+# Deprecated group/name - [DEFAULT]/xenapi_use_agent_default
+#use_agent_default=false
+
+
+#
+# Options defined in nova.virt.xenapi.client.session
+#
+
+# Timeout in seconds for XenAPI login. (integer value)
+# Deprecated group/name - [DEFAULT]/xenapi_login_timeout
+#login_timeout=10
+
+# Maximum number of concurrent XenAPI connections. Used only
+# if compute_driver=xenapi.XenAPIDriver (integer value)
+# Deprecated group/name - [DEFAULT]/xenapi_connection_concurrent
+#connection_concurrent=5
+
+
+#
+# Options defined in nova.virt.xenapi.driver
+#
+
+# URL for connection to XenServer/Xen Cloud Platform. A
+# special value of unix://local can be used to connect to the
+# local unix socket. Required if
+# compute_driver=xenapi.XenAPIDriver (string value)
+# Deprecated group/name - [DEFAULT]/xenapi_connection_url
+#connection_url=<None>
+
+# Username for connection to XenServer/Xen Cloud Platform.
+# Used only if compute_driver=xenapi.XenAPIDriver (string
+# value)
+# Deprecated group/name - [DEFAULT]/xenapi_connection_username
+#connection_username=root
+
+# Password for connection to XenServer/Xen Cloud Platform.
+# Used only if compute_driver=xenapi.XenAPIDriver (string
+# value)
+# Deprecated group/name - [DEFAULT]/xenapi_connection_password
+#connection_password=<None>
+
+# The interval used for polling of coalescing vhds. Used only
+# if compute_driver=xenapi.XenAPIDriver (floating point value)
+# Deprecated group/name - [DEFAULT]/xenapi_vhd_coalesce_poll_interval
+#vhd_coalesce_poll_interval=5.0
+
+# Ensure compute service is running on host XenAPI connects
+# to. (boolean value)
+# Deprecated group/name - [DEFAULT]/xenapi_check_host
+#check_host=true
+
+# Max number of times to poll for VHD to coalesce. Used only
+# if compute_driver=xenapi.XenAPIDriver (integer value)
+# Deprecated group/name - [DEFAULT]/xenapi_vhd_coalesce_max_attempts
+#vhd_coalesce_max_attempts=20
+
+# Base path to the storage repository (string value)
+# Deprecated group/name - [DEFAULT]/xenapi_sr_base_path
+#sr_base_path=/var/run/sr-mount
+
+# The iSCSI Target Host (string value)
+# Deprecated group/name - [DEFAULT]/target_host
+#target_host=<None>
+
+# The iSCSI Target Port, default is port 3260 (string value)
+# Deprecated group/name - [DEFAULT]/target_port
+#target_port=3260
+
+# IQN Prefix (string value)
+# Deprecated group/name - [DEFAULT]/iqn_prefix
+#iqn_prefix=iqn.2010-10.org.openstack
+
+# Used to enable the remapping of VBD dev (Works around an
+# issue in Ubuntu Maverick) (boolean value)
+# Deprecated group/name - [DEFAULT]/xenapi_remap_vbd_dev
+#remap_vbd_dev=false
+
+# Specify prefix to remap VBD dev to (ex. /dev/xvdb ->
+# /dev/sdb) (string value)
+# Deprecated group/name - [DEFAULT]/xenapi_remap_vbd_dev_prefix
+#remap_vbd_dev_prefix=sd
+
+
+#
+# Options defined in nova.virt.xenapi.image.bittorrent
+#
+
+# Base URL for torrent files. (string value)
+# Deprecated group/name - [DEFAULT]/xenapi_torrent_base_url
+#torrent_base_url=<None>
+
+# Probability that peer will become a seeder. (1.0 = 100%)
+# (floating point value)
+# Deprecated group/name - [DEFAULT]/xenapi_torrent_seed_chance
+#torrent_seed_chance=1.0
+
+# Number of seconds after downloading an image via BitTorrent
+# that it should be seeded for other peers. (integer value)
+# Deprecated group/name - [DEFAULT]/xenapi_torrent_seed_duration
+#torrent_seed_duration=3600
+
+# Cached torrent files not accessed within this number of
+# seconds can be reaped (integer value)
+# Deprecated group/name - [DEFAULT]/xenapi_torrent_max_last_accessed
+#torrent_max_last_accessed=86400
+
+# Beginning of port range to listen on (integer value)
+# Deprecated group/name - [DEFAULT]/xenapi_torrent_listen_port_start
+#torrent_listen_port_start=6881
+
+# End of port range to listen on (integer value)
+# Deprecated group/name - [DEFAULT]/xenapi_torrent_listen_port_end
+#torrent_listen_port_end=6891
+
+# Number of seconds a download can remain at the same progress
+# percentage w/o being considered a stall (integer value)
+# Deprecated group/name - [DEFAULT]/xenapi_torrent_download_stall_cutoff
+#torrent_download_stall_cutoff=600
+
+# Maximum number of seeder processes to run concurrently
+# within a given dom0. (-1 = no limit) (integer value)
+# Deprecated group/name - [DEFAULT]/xenapi_torrent_max_seeder_processes_per_host
+#torrent_max_seeder_processes_per_host=1
+
+
+#
+# Options defined in nova.virt.xenapi.pool
+#
+
+# To use for hosts with different CPUs (boolean value)
+# Deprecated group/name - [DEFAULT]/use_join_force
+#use_join_force=true
+
+
+#
+# Options defined in nova.virt.xenapi.vif
+#
+
+# Name of Integration Bridge used by Open vSwitch (string
+# value)
+# Deprecated group/name - [DEFAULT]/xenapi_ovs_integration_bridge
+#ovs_integration_bridge=xapi1
+
+
+#
+# Options defined in nova.virt.xenapi.vm_utils
+#
+
+# Cache glance images locally. `all` will cache all images,
+# `some` will only cache images that have the image_property
+# `cache_in_nova=True`, and `none` turns off caching entirely
+# (string value)
+# Deprecated group/name - [DEFAULT]/cache_images
+#cache_images=all
+
+# Compression level for images, e.g., 9 for gzip -9. Range is
+# 1-9, 9 being most compressed but most CPU intensive on dom0.
+# (integer value)
+# Deprecated group/name - [DEFAULT]/xenapi_image_compression_level
+#image_compression_level=<None>
+
+# Default OS type (string value)
+# Deprecated group/name - [DEFAULT]/default_os_type
+#default_os_type=linux
+
+# Time to wait for a block device to be created (integer
+# value)
+# Deprecated group/name - [DEFAULT]/block_device_creation_timeout
+#block_device_creation_timeout=10
+
+# Maximum size in bytes of kernel or ramdisk images (integer
+# value)
+# Deprecated group/name - [DEFAULT]/max_kernel_ramdisk_size
+#max_kernel_ramdisk_size=16777216
+
+# Filter for finding the SR to be used to install guest
+# instances on. To use the Local Storage in default
+# XenServer/XCP installations set this flag to other-config
+# :i18n-key=local-storage. To select an SR with a different
+# matching criteria, you could set it to other-
+# config:my_favorite_sr=true. On the other hand, to fall back
+# on the Default SR, as displayed by XenCenter, set this flag
+# to: default-sr:true (string value)
+# Deprecated group/name - [DEFAULT]/sr_matching_filter
+#sr_matching_filter=default-sr:true
+
+# Whether to use sparse_copy for copying data on a resize down
+# (False will use standard dd). This speeds up resizes down
+# considerably since large runs of zeros won't have to be
+# rsynced (boolean value)
+# Deprecated group/name - [DEFAULT]/xenapi_sparse_copy
+#sparse_copy=true
+
+# Maximum number of retries to unplug VBD (integer value)
+# Deprecated group/name - [DEFAULT]/xenapi_num_vbd_unplug_retries
+#num_vbd_unplug_retries=10
+
+# Whether or not to download images via Bit Torrent
+# (all|some|none). (string value)
+# Deprecated group/name - [DEFAULT]/xenapi_torrent_images
+#torrent_images=none
+
+# Name of network to use for booting iPXE ISOs (string value)
+# Deprecated group/name - [DEFAULT]/xenapi_ipxe_network_name
+#ipxe_network_name=<None>
+
+# URL to the iPXE boot menu (string value)
+# Deprecated group/name - [DEFAULT]/xenapi_ipxe_boot_menu_url
+#ipxe_boot_menu_url=<None>
+
+# Name and optionally path of the tool used for ISO image
+# creation (string value)
+# Deprecated group/name - [DEFAULT]/xenapi_ipxe_mkisofs_cmd
+#ipxe_mkisofs_cmd=mkisofs
+
+
+#
+# Options defined in nova.virt.xenapi.vmops
+#
+
+# Number of seconds to wait for instance to go to running
+# state (integer value)
+# Deprecated group/name - [DEFAULT]/xenapi_running_timeout
+#running_timeout=60
+
+# The XenAPI VIF driver using XenServer Network APIs. (string
+# value)
+# Deprecated group/name - [DEFAULT]/xenapi_vif_driver
+#vif_driver=nova.virt.xenapi.vif.XenAPIBridgeDriver
+
+# Dom0 plugin driver used to handle image uploads. (string
+# value)
+# Deprecated group/name - [DEFAULT]/xenapi_image_upload_handler
+#image_upload_handler=nova.virt.xenapi.image.glance.GlanceStore
+
+
+#
+# Options defined in nova.virt.xenapi.volume_utils
+#
+
+# Number of seconds to wait for an SR to settle if the VDI
+# does not exist when first introduced (integer value)
+#introduce_vdi_retry_wait=20
+
+
+[zookeeper]
+
+#
+# Options defined in nova.servicegroup.drivers.zk
+#
+
+# The ZooKeeper addresses for servicegroup service in the
+# format of host1:port,host2:port,host3:port (string value)
+#address=<None>
+
+# The recv_timeout parameter for the zk session (integer
+# value)
+#recv_timeout=4000
+
+# The prefix used in ZooKeeper to store ephemeral nodes
+# (string value)
+#sg_prefix=/servicegroups
+
+# Number of seconds to wait until retrying to join the session
+# (integer value)
+#sg_retry_interval=5
+
+
+
diff --git a/debian/nova_tgt b/debian/nova_tgt
new file mode 100644
index 0000000..d417fee
--- /dev/null
+++ b/debian/nova_tgt
@@ -0,0 +1 @@
+include /var/lib/nova/volumes/*
diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in
new file mode 100644
index 0000000..545ef85
--- /dev/null
+++ b/debian/po/POTFILES.in
@@ -0,0 +1,4 @@
+[type: gettext/rfc822deb] nova-common.templates
+[type: gettext/rfc822deb] nova-compute-xen.templates
+[type: gettext/rfc822deb] nova-api.templates
+[type: gettext/rfc822deb] nova-consoleproxy.templates
diff --git a/debian/po/cs.po b/debian/po/cs.po
new file mode 100644
index 0000000..15a51e0
--- /dev/null
+++ b/debian/po/cs.po
@@ -0,0 +1,506 @@
+# Czech PO debconf template translation of nova.
+# Copyright (C) 2012 Michal Simunek <michal.simunek@gmail.com>
+# This file is distributed under the same license as the nova package.
+# Michal Simunek <michal.simunek@gmail.com>, 2012 - 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: nova 2013.1.2-3\n"
+"Report-Msgid-Bugs-To: nova@packages.debian.org\n"
+"POT-Creation-Date: 2014-05-03 03:26+0000\n"
+"PO-Revision-Date: 2013-08-27 12:31+0200\n"
+"Last-Translator: Michal Simunek <michal.simunek@gmail.com>\n"
+"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:2001
+msgid "Auth server hostname:"
+msgstr "Název hostitele autentizačního serveru:"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:2001
+msgid ""
+"Please specify the URL of your Nova authentication server. Typically this is "
+"also the URL of your OpenStack Identity Service (Keystone)."
+msgstr ""
+"Zadejte prosím URL autentizačního serveru pro Nova. Většinou je to také URL "
+"OpenStack Identity Service (Keystone)."
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:3001
+msgid "Auth server tenant name:"
+msgstr "Název nájemce pro autentizační server:"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:4001
+msgid "Auth server username:"
+msgstr "Uživatel autentizačního serveru:"
+
+#. Type: password
+#. Description
+#: ../nova-common.templates:5001
+msgid "Auth server password:"
+msgstr "Heslo autentizačního serveru:"
+
+#. Type: boolean
+#. Description
+#: ../nova-common.templates:6001
+msgid "Set up a database for Nova?"
+msgstr "Nastavit databázi pro Nova?"
+
+#. Type: boolean
+#. Description
+#: ../nova-common.templates:6001
+msgid ""
+"No database has been set up for Nova to use. If you want to set one up now, "
+"please make sure you have all needed information:"
+msgstr ""
+"Nebyla nastavena žádná databáze k použití s Nova. Chcete-li ji nyní "
+"nastavit, ujistěte se prosím, že máte všechny potřebné údaje:"
+
+#. Type: boolean
+#. Description
+#: ../nova-common.templates:6001
+msgid ""
+" * the host name of the database server (which must allow TCP\n"
+" connections from this machine);\n"
+" * a username and password to access the database;\n"
+" * the type of database management software you want to use."
+msgstr ""
+" * název hostitele databázového serveru (který musí přijímat TCP\n"
+" spojení z tohoto počítače);\n"
+" * uživatelské jméno a heslo pro přístup k databázi;\n"
+" * typ softwaru pro správu databáze, který chcete používat."
+
+#. Type: boolean
+#. Description
+#: ../nova-common.templates:6001
+msgid ""
+"If you don't choose this option, no database will be set up and Nova will "
+"use regular SQLite support."
+msgstr ""
+"Pokud tuto volbu nezadáte, databáze nebude vytvořena a Nova bude používat "
+"běžnou podporu SQLite."
+
+#. Type: boolean
+#. Description
+#: ../nova-common.templates:6001
+msgid ""
+"You can change this setting later on by running \"dpkg-reconfigure -plow "
+"nova-common\"."
+msgstr ""
+"Toto nastavení můžete později změnit spuštěním \"dpkg-reconfigure -plow nova-"
+"common\"."
+
+#. Type: multiselect
+#. Description
+#: ../nova-common.templates:7001
+msgid "API to activate:"
+msgstr "Aktivovat API:"
+
+#. Type: multiselect
+#. Description
+#: ../nova-common.templates:7001
+msgid ""
+"Openstack Nova supports different API services, each of them binding on a "
+"different port. Select which one nova-api should support."
+msgstr ""
+"Openstack Nova podporuje různé API služby, každá z nich se váže na jiný "
+"port. Vyberte si, které z nich má nova-api podporovat."
+
+#. Type: multiselect
+#. Description
+#: ../nova-common.templates:7001
+msgid ""
+"If it is a compute node that you are setting-up, then you only need to run "
+"the metadata API server. If you run Cinder, then you don't need osapi_volume "
+"(you cannot run osapi_volume and cinder-api on the same server: they bind on "
+"the same port)."
+msgstr ""
+"Pokud nastavujete výpočetní uzel, pak budete potřebovat spustit pouze API se "
+"serverem pro metadata. Pokud spouštíte Cinder, potom nebudete potřebovat "
+"osapi_volume (osapi_volume a cinder-api nemůžete spouštět na stejném "
+"serveru: vážou se na stejný port)."
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:8001
+msgid "Value for my_ip:"
+msgstr "Hodnota pro my_ip:"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:8001
+#, fuzzy
+#| msgid ""
+#| "Enter the IP address that will be set in the my_ip directive of nova.conf."
+msgid "This value will be stored in the my_ip directive of nova.conf."
+msgstr ""
+"Zadejte IP adresu, která se nastaví v souboru nova.conf v direktivě my_ip."
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:9001
+msgid "Neutron server URL:"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:9001
+msgid "Please enter the URL of the Neutron server."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:10001
+#, fuzzy
+#| msgid "Auth server tenant name:"
+msgid "Neutron admin tenant name:"
+msgstr "Název nájemce pro autentizační server:"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:10001
+msgid ""
+"Nova needs to be able to communicate with Neutron through Keystone. "
+"Therefore Nova needs to know the Neutron admin tenant, username and password."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:10001
+msgid "Please enter the name of the admin tenant for Neutron."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:11001
+#, fuzzy
+#| msgid "Auth server tenant name:"
+msgid "Neutron administrator username:"
+msgstr "Název nájemce pro autentizační server:"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:11001
+#, fuzzy
+#| msgid ""
+#| "Please enter the username used to connect to your XenAPI (XCP server)."
+msgid "Please enter the username of the Neutron administrator."
+msgstr ""
+"Zadejte prosím uživatelské jméno pro připojení ke XenAPI (XCP serveru)."
+
+#. Type: password
+#. Description
+#: ../nova-common.templates:12001
+#, fuzzy
+#| msgid "Auth server tenant name:"
+msgid "Neutron administrator password:"
+msgstr "Název nájemce pro autentizační server:"
+
+#. Type: password
+#. Description
+#: ../nova-common.templates:12001
+#, fuzzy
+#| msgid ""
+#| "Please enter the password used to connect to your XenAPI (XCP server)."
+msgid "Please enter the password of the Neutron administrator."
+msgstr "Zadejte prosím heslo pro připojení ke XenAPI (XCP serveru)."
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:13001
+#, fuzzy
+#| msgid "Ip address of your rabbitmq host:"
+msgid "IP address of your RabbitMQ host:"
+msgstr "IP adresa hostitele rabbitmq:"
+
+#. Type: string
+#. Description
+#. Type: string
+#. Description
+#. Type: password
+#. Description
+#: ../nova-common.templates:13001 ../nova-common.templates:14001
+#: ../nova-common.templates:15001
+msgid ""
+"In order to interoperate with other components of OpenStack, this package "
+"needs to connect to a central RabbitMQ server."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:13001
+msgid "Please specify the IP address of that server."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:14001
+#, fuzzy
+#| msgid "Username to connect to XenAPI:"
+msgid "Username for connection to the RabbitMQ server:"
+msgstr "Uživatelské jméno pro připojení ke XenAPI:"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:14001
+#, fuzzy
+#| msgid ""
+#| "Please enter the username used to connect to your XenAPI (XCP server)."
+msgid "Please specify the username used to connect to the RabbitMQ server."
+msgstr ""
+"Zadejte prosím uživatelské jméno pro připojení ke XenAPI (XCP serveru)."
+
+#. Type: password
+#. Description
+#: ../nova-common.templates:15001
+#, fuzzy
+#| msgid "Password to connect to XenAPI:"
+msgid "Password for connection to the RabbitMQ server:"
+msgstr "Heslo pro připojení ke XenAPI:"
+
+#. Type: password
+#. Description
+#: ../nova-common.templates:15001
+#, fuzzy
+#| msgid ""
+#| "Please enter the password used to connect to your XenAPI (XCP server)."
+msgid "Please specify the password used to connect to the RabbitMQ server."
+msgstr "Zadejte prosím heslo pro připojení ke XenAPI (XCP serveru)."
+
+#. Type: string
+#. Description
+#: ../nova-compute-xen.templates:2001
+msgid "Address of the XenAPI dom0:"
+msgstr "Adresa dom0 v XenAPI:"
+
+#. Type: string
+#. Description
+#: ../nova-compute-xen.templates:2001
+msgid ""
+"Nova Compute Xen needs to know the address of the server running XenAPI. You "
+"can enter an IP address, or a fully qualified domain name if it resolves "
+"correctly."
+msgstr ""
+"Nova Compute Xen potřebuje znát adresu serveru, kde běží XenAPI. Zadat "
+"můžete IP adresu, nebo plně kvalifikované doménové jméno, pokud s správně "
+"překládá."
+
+#. Type: string
+#. Description
+#: ../nova-compute-xen.templates:2001
+msgid ""
+"This may be a server running Citrix XenServer, the CentOS Xen Cloud Platform "
+"(XCP) appliance installed from an ISO image, or even the Kronos Project's "
+"XCP (available in Debian and Ubuntu as the package xcp-xapi)."
+msgstr ""
+"Může to být server, na kterém běží Citrix XenServer, server CentOS Xen Cloud "
+"Platform (XCP) nainstalovaný z ISO obrazů, nebo i z projektu Kronos Project "
+"XCP (v Debianu a Ubuntu dostupném jako balíček xcp-xapi)."
+
+#. Type: string
+#. Description
+#. Type: string
+#. Description
+#. Type: password
+#. Description
+#: ../nova-compute-xen.templates:2001 ../nova-compute-xen.templates:3001
+#: ../nova-compute-xen.templates:4001
+msgid "This can later be edited in /etc/nova/nova-compute.conf."
+msgstr ""
+"Toto nastavení lze později upravit v souboru /etc/nova/nova-compute.conf."
+
+#. Type: string
+#. Description
+#: ../nova-compute-xen.templates:3001
+msgid "Username to connect to XenAPI:"
+msgstr "Uživatelské jméno pro připojení ke XenAPI:"
+
+#. Type: string
+#. Description
+#: ../nova-compute-xen.templates:3001
+msgid "Please enter the username used to connect to your XenAPI (XCP server)."
+msgstr ""
+"Zadejte prosím uživatelské jméno pro připojení ke XenAPI (XCP serveru)."
+
+#. Type: password
+#. Description
+#: ../nova-compute-xen.templates:4001
+msgid "Password to connect to XenAPI:"
+msgstr "Heslo pro připojení ke XenAPI:"
+
+#. Type: password
+#. Description
+#: ../nova-compute-xen.templates:4001
+msgid "Please enter the password used to connect to your XenAPI (XCP server)."
+msgstr "Zadejte prosím heslo pro připojení ke XenAPI (XCP serveru)."
+
+#. Type: boolean
+#. Description
+#: ../nova-api.templates:1001
+msgid "Register Nova in the keystone endpoint catalog?"
+msgstr "Zaregistrovat Nova v katalogu koncových bodů keystone?"
+
+#. Type: boolean
+#. Description
+#: ../nova-api.templates:1001
+msgid ""
+"Each Openstack services (each API) should be registered in order to be "
+"accessible. This is done using \"keystone service-create\" and \"keystone "
+"endpoint-create\". Select if you want to run these commands now."
+msgstr ""
+"Aby byla každá služba Openstack (každé API) přístupná, musí být "
+"zaregistrována. To se provádí pomocí příkazů \"keystone service-create\" a "
+"\"keystone endpoint-create\". Zvolte si, zda-li se tyto příkazy mají nyní "
+"spustit."
+
+#. Type: boolean
+#. Description
+#: ../nova-api.templates:1001
+msgid ""
+"Note that you will need to have an up and running keystone server on which "
+"to connect using the Keystone auth token."
+msgstr ""
+"Berte na vědomí, že musíte mít běžící server keystone, na který se lze "
+"připojit pomocí ověřovacího klíče pro Keystone."
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:2001
+msgid "Keystone IP address:"
+msgstr "IP adresa serveru keystone:"
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:2001
+msgid ""
+"Enter the IP address of your keystone server, so that nova-api can contact "
+"Keystone to do the Nova service and endpoint creation."
+msgstr ""
+"Zadejte IP adresu serveru keystone, aby se mohlo nova-api spojit s Keystone "
+"a provozovat službu Nova a vytvářet koncové body."
+
+#. Type: password
+#. Description
+#: ../nova-api.templates:3001
+msgid "Keystone Auth Token:"
+msgstr "Autentizační klíč pro Keystone:"
+
+#. Type: password
+#. Description
+#: ../nova-api.templates:3001
+msgid ""
+"To configure its endpoint in Keystone, nova-api needs the Keystone auth "
+"token."
+msgstr ""
+"Aby mohlo nova-api nastavit v Keystone svůj koncový bod, potřebuje "
+"autentizační klíč pro Keystone."
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:4001
+msgid "Nova endpoint IP address:"
+msgstr "IP adresa koncového bodu Nova:"
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:4001
+msgid ""
+"Enter the IP address that will be used to contact Nova (eg: the Nova "
+"endpoint IP address)."
+msgstr ""
+"Zadejte IP adresu, která se bude používat ke spojení s Nova (např: IP adresa "
+"koncového bodu Nova)."
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:4001
+msgid ""
+"This IP address should be accessible from the clients that will use this "
+"service, so if you are installing a public cloud, this should be a public IP "
+"address."
+msgstr ""
+"Tato IP adresa musí být přístupná z klientů, kteří budou tuto službu "
+"používat, takže pokud instalujete veřejný cloud, musí to být veřejná IP "
+"adresa."
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:5001
+msgid "Name of the region to register:"
+msgstr "Název registrované oblasti:"
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:5001
+msgid ""
+"Openstack can be used using availability zones, with each region "
+"representing a location. Please enter the zone that you wish to use when "
+"registering the endpoint."
+msgstr ""
+"Openstack lze využívat pomocí oblastí dostupnosti, přičemž každá oblast "
+"představuje místo. Zadejte prosím oblast, kterou chcete použít při "
+"registraci koncového bodu."
+
+#. Type: select
+#. Description
+#: ../nova-consoleproxy.templates:1001
+msgid "Type of console daemon to start at boot time:"
+msgstr "Typ konzole při spuštění daemona při zavádění systému:"
+
+#. Type: select
+#. Description
+#: ../nova-consoleproxy.templates:1001
+msgid ""
+"Nova Console supports 3 types of consoles. One is specific to Xen, called "
+"XVP (Xen VNC Proxy), and the other daemon supports KVM. While the SPICE "
+"protocol is normally faster than VNC, it also requires support for web "
+"sockets in your browser, and that is a feature only very modern browsers "
+"have support for."
+msgstr ""
+"Nova Console podporuje 3 typy konzolí. Jedna je určená pro Xen, nazvaná XVP "
+"(Xen VNC Proxy), a ostatní daemoni podporují KVM. Přestože je protokol SPICE "
+"běžně rychlejší než VNC, vyžaduje také v prohlížeči podporu pro webové "
+"sockety, a to je funkce, kterou podporují jen opravdu moderní prohlížeče."
+
+#. Type: select
+#. Description
+#: ../nova-consoleproxy.templates:1001
+msgid "This can later be edited in /etc/default/nova-consoleproxy."
+msgstr ""
+"Toto nastavení lze později upravit v souboru /etc/default/nova-consoleproxy."
+
+#, fuzzy
+#~| msgid "Value for my_ip:"
+#~ msgid "Value for neutron_url:"
+#~ msgstr "Hodnota pro my_ip:"
+
+#~ msgid "Start nova services at boot?"
+#~ msgstr "Spouštět služby Nova při zavádění?"
+
+#~ msgid ""
+#~ "Please choose whether you want to start Nova services when the machine is "
+#~ "booted up."
+#~ msgstr ""
+#~ "Zvolte si prosím, zda chcete, aby se služby Nova spouštěly při zavádění "
+#~ "systému."
+
+#~ msgid ""
+#~ "Enter the IP address that will be set in the rabbitmq_host directive of "
+#~ "nova.conf. If you are installing openstack-proxy-node, then the default "
+#~ "to use 127.0.0.1 is probably fine. If you are installing openstack-"
+#~ "compute-node, then enter the IP address of your proxy-node host."
+#~ msgstr ""
+#~ "Zadejte IP adresu, která se nastaví v souboru nova.conf v direktivě "
+#~ "rabbitmq_host. Pokud instalujete openstack-proxy-node, vhodné bude "
+#~ "pravděpodobně výchozí nastavení 127.0.0.1. Instalujete-li openstack-"
+#~ "compute-node, potom zadejte IP adresu hostitele proxy-node."
diff --git a/debian/po/da.po b/debian/po/da.po
new file mode 100644
index 0000000..50e95e9
--- /dev/null
+++ b/debian/po/da.po
@@ -0,0 +1,467 @@
+# Danish translation nova.
+# Copyright (C) 2014 nova & nedenstående oversættere.
+# This file is distributed under the same license as the nova package.
+# Joe Hansen <joedalton2@yahoo.dk>, 2012, 2013, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: nova\n"
+"Report-Msgid-Bugs-To: nova@packages.debian.org\n"
+"POT-Creation-Date: 2014-05-03 03:26+0000\n"
+"PO-Revision-Date: 2014-02-22 23:51+0200\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
+"Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:2001
+msgid "Auth server hostname:"
+msgstr "Værtsnavn for godkendelsesserver:"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:2001
+msgid ""
+"Please specify the URL of your Nova authentication server. Typically this is "
+"also the URL of your OpenStack Identity Service (Keystone)."
+msgstr ""
+"Angiv venligst adressen for din Novagodkendelsesserver. Typisk er dette også "
+"adressen for din OpenStack Identity Service (Keystone)."
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:3001
+msgid "Auth server tenant name:"
+msgstr "Tenantnavn for godkendelsesserver:"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:4001
+msgid "Auth server username:"
+msgstr "Brugernavn for godkendelsesserver:"
+
+#. Type: password
+#. Description
+#: ../nova-common.templates:5001
+msgid "Auth server password:"
+msgstr "Adgangskode for godkendelsesserver:"
+
+#. Type: boolean
+#. Description
+#: ../nova-common.templates:6001
+msgid "Set up a database for Nova?"
+msgstr "Opsæt en database for Nova?"
+
+#. Type: boolean
+#. Description
+#: ../nova-common.templates:6001
+msgid ""
+"No database has been set up for Nova to use. If you want to set one up now, "
+"please make sure you have all needed information:"
+msgstr ""
+"Ingen database er blevet opsat, som Nova kan bruge. Hvis du ønsker at "
+"opsætte en nu så sikr dig, at du har den krævede information:"
+
+#. Type: boolean
+#. Description
+#: ../nova-common.templates:6001
+msgid ""
+" * the host name of the database server (which must allow TCP\n"
+" connections from this machine);\n"
+" * a username and password to access the database;\n"
+" * the type of database management software you want to use."
+msgstr ""
+" * værtsnavnet for databaseserveren (som skal tillade TCP-\n"
+" forbindelser fra denne maskine)\n"
+" * et brugernavn og adgangskode for at tilgå databasen\n"
+" * Databasehåndteringstypen du ønsker at bruge."
+
+#. Type: boolean
+#. Description
+#: ../nova-common.templates:6001
+msgid ""
+"If you don't choose this option, no database will be set up and Nova will "
+"use regular SQLite support."
+msgstr ""
+"Hvis du ikke vælger denne indstilling, så vil der ikke blive sat en database "
+"op og Nova vil bruge normal SQLite-understøttelse."
+
+#. Type: boolean
+#. Description
+#: ../nova-common.templates:6001
+msgid ""
+"You can change this setting later on by running \"dpkg-reconfigure -plow "
+"nova-common\"."
+msgstr ""
+"Du kan ændre denne indstilling senere ved at køre »dpkg-reconfigure -plow "
+"nova-common«."
+
+#. Type: multiselect
+#. Description
+#: ../nova-common.templates:7001
+msgid "API to activate:"
+msgstr "API at aktivere:"
+
+#. Type: multiselect
+#. Description
+#: ../nova-common.templates:7001
+msgid ""
+"Openstack Nova supports different API services, each of them binding on a "
+"different port. Select which one nova-api should support."
+msgstr ""
+"Openstack Nova understøtter forskellige API-tjenester, hver af dem binder på "
+"en forskellig port. Vælg hvilken nova-api skal understøtte."
+
+#. Type: multiselect
+#. Description
+#: ../nova-common.templates:7001
+msgid ""
+"If it is a compute node that you are setting-up, then you only need to run "
+"the metadata API server. If you run Cinder, then you don't need osapi_volume "
+"(you cannot run osapi_volume and cinder-api on the same server: they bind on "
+"the same port)."
+msgstr ""
+"Hvis det er en beregningsknude, som du opsætter, så skal du kun køre "
+"metadata-API-serveren. Hvis du kører Cinder, så skal du ikke bruge "
+"osapi_volume (du kan ikke køre osapi_volume og cinder-api på den samme "
+"server: de binder på den samme port)."
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:8001
+msgid "Value for my_ip:"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:8001
+msgid "This value will be stored in the my_ip directive of nova.conf."
+msgstr "Denne værdi vil blive gemt i my_ip-direktivet i nova.conf."
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:9001
+msgid "Neutron server URL:"
+msgstr "Adresse for Neutronserver:"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:9001
+msgid "Please enter the URL of the Neutron server."
+msgstr "Indtast venligst adressen for Neutronserveren."
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:10001
+msgid "Neutron admin tenant name:"
+msgstr "Tenantnavn for Neutronadministrator:"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:10001
+msgid ""
+"Nova needs to be able to communicate with Neutron through Keystone. "
+"Therefore Nova needs to know the Neutron admin tenant, username and password."
+msgstr ""
+"Nova skal kunne kommunikere med Neutron via Keystone. Derfor har Nova behov "
+"for at kende Neutrons administratortenant, brugernavn og adgangskode."
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:10001
+msgid "Please enter the name of the admin tenant for Neutron."
+msgstr "Indtast venligst navnet på administratortenanten for Neutron."
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:11001
+msgid "Neutron administrator username:"
+msgstr "Brugernavn for Neutronadministratoren:"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:11001
+msgid "Please enter the username of the Neutron administrator."
+msgstr "Indtast venligst brugernavnet for Neutronadministratoren."
+
+#. Type: password
+#. Description
+#: ../nova-common.templates:12001
+msgid "Neutron administrator password:"
+msgstr "Adgangskode for Neutronadministratoren:"
+
+#. Type: password
+#. Description
+#: ../nova-common.templates:12001
+msgid "Please enter the password of the Neutron administrator."
+msgstr "Indtast venligst adgangskoden for Neutronadministratoren."
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:13001
+msgid "IP address of your RabbitMQ host:"
+msgstr "IP-adresse for din RabbitMQ-vært:"
+
+#. Type: string
+#. Description
+#. Type: string
+#. Description
+#. Type: password
+#. Description
+#: ../nova-common.templates:13001 ../nova-common.templates:14001
+#: ../nova-common.templates:15001
+msgid ""
+"In order to interoperate with other components of OpenStack, this package "
+"needs to connect to a central RabbitMQ server."
+msgstr ""
+"Denne pakke har brug for at forbinde til en central RabbitMQ-server, for at "
+"kunne fungere med andre komponenter i OpenStack."
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:13001
+msgid "Please specify the IP address of that server."
+msgstr "Angiv IP-adressen for denne server."
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:14001
+msgid "Username for connection to the RabbitMQ server:"
+msgstr "Brugernavn til at forbinde til RabbitMQ-serveren:"
+
+#. Type: string
+#. Description
+#: ../nova-common.templates:14001
+msgid "Please specify the username used to connect to the RabbitMQ server."
+msgstr ""
+"Indtast venligst brugernavnet brugt til at forbinde til RabbitMQ-serveren."
+
+#. Type: password
+#. Description
+#: ../nova-common.templates:15001
+msgid "Password for connection to the RabbitMQ server:"
+msgstr "Adgangskode til at forbinde til RabbitMQ-serveren:"
+
+#. Type: password
+#. Description
+#: ../nova-common.templates:15001
+msgid "Please specify the password used to connect to the RabbitMQ server."
+msgstr ""
+"Indtast venligst adgangskoden brugt til at forbinde til RabbitMQ-serveren."
+
+#. Type: string
+#. Description
+#: ../nova-compute-xen.templates:2001
+msgid "Address of the XenAPI dom0:"
+msgstr "Adresse for XenAPI dom0:"
+
+#. Type: string
+#. Description
+#: ../nova-compute-xen.templates:2001
+msgid ""
+"Nova Compute Xen needs to know the address of the server running XenAPI. You "
+"can enter an IP address, or a fully qualified domain name if it resolves "
+"correctly."
+msgstr ""
+"Nova Compute Xen skal kende adressen for serveren, der kører XenAPI. Du kan "
+"indtaste en IP-adresse eller et fuldt kvalificeret domænenavn, hvis det "
+"bliver slået korrekt op."
+
+#. Type: string
+#. Description
+#: ../nova-compute-xen.templates:2001
+msgid ""
+"This may be a server running Citrix XenServer, the CentOS Xen Cloud Platform "
+"(XCP) appliance installed from an ISO image, or even the Kronos Project's "
+"XCP (available in Debian and Ubuntu as the package xcp-xapi)."
+msgstr ""
+"Dette kan være en server, der kører Citrix XenServer, CentOS Xen Cloud "
+"Platform-apparatet (XCP) installeret fra et ISO-aftryk eller endda "
+"Kronosprojektets XCP (tilgængelig i Debian og Ubuntu som pakken xcp-xapi)."
+
+#. Type: string
+#. Description
+#. Type: string
+#. Description
+#. Type: password
+#. Description
+#: ../nova-compute-xen.templates:2001 ../nova-compute-xen.templates:3001
+#: ../nova-compute-xen.templates:4001
+msgid "This can later be edited in /etc/nova/nova-compute.conf."
+msgstr "Dette kan senere redigeres i /etc/nova/nova-compute.conf."
+
+#. Type: string
+#. Description
+#: ../nova-compute-xen.templates:3001
+msgid "Username to connect to XenAPI:"
+msgstr "Brugernavn til at forbinde til XenAPI:"
+
+#. Type: string
+#. Description
+#: ../nova-compute-xen.templates:3001
+msgid "Please enter the username used to connect to your XenAPI (XCP server)."
+msgstr ""
+"Indtast venligst brugernavnet brugt til at forbinde til din XenAPI XCP-"
+"server)."
+
+#. Type: password
+#. Description
+#: ../nova-compute-xen.templates:4001
+msgid "Password to connect to XenAPI:"
+msgstr "Adgangskode til at forbinde til XenAPI:"
+
+#. Type: password
+#. Description
+#: ../nova-compute-xen.templates:4001
+msgid "Please enter the password used to connect to your XenAPI (XCP server)."
+msgstr ""
+"Indtast venligst adgangskoden brugt til at forbinde til din XenAPI (XCP-"
+"server)."
+
+#. Type: boolean
+#. Description
+#: ../nova-api.templates:1001
+msgid "Register Nova in the keystone endpoint catalog?"
+msgstr "Registrer Nova i keystone endpoint-kataloget?"
+
+#. Type: boolean
+#. Description
+#: ../nova-api.templates:1001
+msgid ""
+"Each Openstack services (each API) should be registered in order to be "
+"accessible. This is done using \"keystone service-create\" and \"keystone "
+"endpoint-create\". Select if you want to run these commands now."
+msgstr ""
+"Hver Openstacktjeneste (hver API) skal registreres for at kunne tilgås. "
+"Dette gøres med brug af »keystone service-create« og »keystone endpoint-"
+"create«. Vælg om du ønsker at køre disse kommandoer nu."
+
+#. Type: boolean
+#. Description
+#: ../nova-api.templates:1001
+msgid ""
+"Note that you will need to have an up and running keystone server on which "
+"to connect using the Keystone auth token."
+msgstr ""
+"Bemærk at du skal bruge en op og kørende keystoneserver til at forbinde til "
+"med brug af Keystone-godkendelsessymbolet."
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:2001
+msgid "Keystone IP address:"
+msgstr "IP-adresse for keystone:"
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:2001
+msgid ""
+"Enter the IP address of your keystone server, so that nova-api can contact "
+"Keystone to do the Nova service and endpoint creation."
+msgstr ""
+"Indtast IP-adressen for din keystone-server, så at nova-api kan kontakte "
+"Keystone for at udføre Novatjenesten og slutpunktsoprettelsen."
+
+#. Type: password
+#. Description
+#: ../nova-api.templates:3001
+msgid "Keystone Auth Token:"
+msgstr "Godkendelsessymbol for keystone:"
+
+#. Type: password
+#. Description
+#: ../nova-api.templates:3001
+msgid ""
+"To configure its endpoint in Keystone, nova-api needs the Keystone auth "
+"token."
+msgstr ""
+"For at konfigurere sit slutpunkt i Keystone, skal nova-api bruge "
+"godkendelsessymbolet for Keystone."
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:4001
+msgid "Nova endpoint IP address:"
+msgstr "IP-adresse for Novaslutpunkt:"
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:4001
+msgid ""
+"Enter the IP address that will be used to contact Nova (eg: the Nova "
+"endpoint IP address)."
+msgstr ""
+"Indtast IP-adressen som vil blive brugt til at kontakte Nova (f.eks. IP-"
+"adressen for Novaslutpunktet)."
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:4001
+msgid ""
+"This IP address should be accessible from the clients that will use this "
+"service, so if you are installing a public cloud, this should be a public IP "
+"address."
+msgstr ""
+"Denne IP-adresse skal være tilgængelig fra klienterne, som vil bruge denne "
+"tjeneste, så hvis du installerer en offentlig sky, skal dette være en "
+"offentlig IP-adresse."
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:5001
+msgid "Name of the region to register:"
+msgstr "Navn på regionen der skal registreres:"
+
+#. Type: string
+#. Description
+#: ../nova-api.templates:5001
+msgid ""
+"Openstack can be used using availability zones, with each region "
+"representing a location. Please enter the zone that you wish to use when "
+"registering the endpoint."
+msgstr ""
+"Openstack kan bruges med tilgængelighedszoner, hvor hver region "
+"repræsenterer et sted. Indtast venligst zonen du ønsker at bruge, når du "
+"registrerer slutpunktet."
+
+#. Type: select
+#. Description
+#: ../nova-consoleproxy.templates:1001
+msgid "Type of console daemon to start at boot time:"
+msgstr "Konsoldæmonens type som skal igangsættes ved opstart:"
+
+#. Type: select
+#. Description
+#: ../nova-consoleproxy.templates:1001
+msgid ""
+"Nova Console supports 3 types of consoles. One is specific to Xen, called "
+"XVP (Xen VNC Proxy), and the other daemon supports KVM. While the SPICE "
+"protocol is normally faster than VNC, it also requires support for web "
+"sockets in your browser, and that is a feature only very modern browsers "
+"have support for."
+msgstr ""
+"Nova Console understøtter 4 konsoltyper. En er specifik for Xen og kaldes "
+"XVP (Xen VNC Proxy), og en dæmon understøtter KVM. Mens SPICE-protokollen "
+"normalt er hurtigere end VNC, så kræver den også understøttelse for "
+"netsokler i din browser, og det er en funktion som kun meget moderne "
+"browsere har understøttelse for."
+
+#. Type: select
+#. Description
+#: ../nova-consoleproxy.templates:1001
+msgid "This can later be edited in /etc/default/nova-consoleproxy."
+msgstr "Dette kan senere redigeres i /etc/default/nova-consoleproxy."
+
+#~ msgid "IP address on Nova management network:"
+#~ msgstr "IP-adresse for Nova-håndteringsnetværket:"
+
+#~ msgid ""
+#~ "Please enter the IP address for this physical node on the private network "
+#~ "being used for OpenStack Compute management."
+#~ msgstr ""
+#~ "Indtast IP-adressen, for denne fysiske knude på det private netværk, der "
+#~ "bruges for håndtering af OpenStack Compute."
diff --git a/debian/po/de.po b/debian/po/de.po
new file mode 100644
index 0000000..b662a09
--- /dev/null
+++ b/debian/po/de.po
@@ -0,0 +1,10473 @@
+# German translation for nova
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the nova package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+# Erik Pfannenstein <debianignatz@gmx.de>, 2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: nova\n"
+"Report-Msgid-Bugs-To: nova@packages.debian.org\n"
+"POT-Creation-Date: 2012-09-25 00:02+0000\n"
+"PO-Revision-Date: 2014-04-21 22:02+0200\n"
+"Last-Translator: Erik Pfannenstein <debianignatz@gmx.de>\n"
+"Language-Team: de <debian-l10n-german@lists.debian.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Virtaal 0.7.1\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: nova/context.py:62
+#, python-format
+msgid "Arguments dropped when creating context: %s"
+msgstr "Beim Erzeugen des Kontextes unterschlagene Argumente: %s"
+
+#: nova/context.py:100
+#, python-format
+msgid "read_deleted can only be one of 'no', 'yes' or 'only', not %r"
+msgstr "read_deleted kann nur »no«, »yes« oder »only« sein, nicht %r"
+
+#: nova/crypto.py:46
+msgid "Filename of root CA"
+msgstr "Dateiname der Root-CA"
+
+#: nova/crypto.py:49
+msgid "Filename of private key"
+msgstr "Dateiname des privaten Schlüssels"
+
+#: nova/crypto.py:52
+msgid "Filename of root Certificate Revocation List"
+msgstr "Dateiname der Liste mit abgewiesenen Root-Zeritifkaten"
+
+#: nova/crypto.py:55
+msgid "Where we keep our keys"
+msgstr "Wo die Schlüssel aufbewahrt werden"
+
+#: nova/crypto.py:58
+msgid "Where we keep our root CA"
+msgstr "Wo die Root-CA aufbewahrt wird"
+
+#: nova/crypto.py:61
+msgid "Should we use a CA for each project?"
+msgstr "Soll für jedes Projekt eine eigene CA verwendet werden?"
+
+#: nova/crypto.py:65
+#, python-format
+msgid "Subject for certificate for users, %s for project, user, timestamp"
+msgstr ""
+"Betreff für Zertifikat für Benutzer, %s für Projekt, Benutzer, Zeitstempel"
+
+#: nova/crypto.py:70
+#, python-format
+msgid "Subject for certificate for projects, %s for project, timestamp"
+msgstr "Betreff für Zertifikat für Projekte, %s für Projekt, Zeitstempel"
+
+#: nova/crypto.py:300
+#, python-format
+msgid "Flags path: %s"
+msgstr "Schalter-Pfad: %s"
+
+#: nova/exception.py:56
+msgid "Unexpected error while running command."
+msgstr "Unerwarteter Fehler bei Ausführung des Befehls"
+
+#: nova/exception.py:59
+#, python-format
+msgid ""
+"%(description)s\n"
+"Command: %(cmd)s\n"
+"Exit code: %(exit_code)s\n"
+"Stdout: %(stdout)r\n"
+"Stderr: %(stderr)r"
+msgstr ""
+"%(description)s\n"
+"Befehl: %(cmd)s\n"
+"Exit-Code: %(exit_code)s\n"
+"stdout: %(stdout)r\n"
+"stderr: %(stderr)r"
+
+#: nova/exception.py:72
+msgid "DB exception wrapped."
+msgstr "Datenbankausnahme abgefangen"
+
+#: nova/exception.py:131
+msgid "An unknown exception occurred."
+msgstr "Eine unbekannte Ausnahme ist aufgetreten."
+
+#: nova/exception.py:152 nova/openstack/common/rpc/common.py:46
+msgid "Exception in string format operation"
+msgstr "Ausnahme in Zeichenkettenformat-Operation"
+
+#: nova/exception.py:162
+msgid "Unknown"
+msgstr "Unbekannt"
+
+#: nova/exception.py:182
+#, python-format
+msgid "Fatal call to deprecated config %(msg)s"
+msgstr "Fataler Aufruf für veraltete Konfig %(msg)s"
+
+#: nova/exception.py:186
+msgid "Failed to decrypt text"
+msgstr "Entschlüsseln des Textes fehlgeschlagen"
+
+#: nova/exception.py:190
+msgid "Virtual Interface creation failed"
+msgstr "Erzeugung des Virtual Interface fehlgeschlagen"
+
+#: nova/exception.py:194
+msgid "5 attempts to create virtual interfacewith unique mac address failed"
+msgstr ""
+"Fünf Versuche, die virtuelle Schnittstelle mit einer eindeutigen MAC-Adresse "
+"zu erzeugen, sind fehlgeschlagen."
+
+#: nova/exception.py:199
+#, python-format
+msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
+msgstr "Verbindung zum Glance-Host %(host)s:%(port)s fehlgeschlagen: %(reason)s"
+
+#: nova/exception.py:204
+msgid "Not authorized."
+msgstr "Nicht autorisiert"
+
+#: nova/exception.py:209
+msgid "User does not have admin privileges"
+msgstr "Der Benutzer hat keine Administratorrechte."
+
+#: nova/exception.py:213
+#, python-format
+msgid "Policy doesn't allow %(action)s to be performed."
+msgstr "Die Richtlinie erlaubt es nicht, dass %(action)s durchgeführt wird."
+
+#: nova/exception.py:217
+#, python-format
+msgid "Not authorized for image %(image_id)s."
+msgstr "Für Image %(image_id)s nicht autorisiert"
+
+#: nova/exception.py:221
+msgid "Unacceptable parameters."
+msgstr "Inakzeptable Parameter"
+
+#: nova/exception.py:226
+msgid "Invalid snapshot"
+msgstr "Ungültiger Schnappschuss"
+
+#: nova/exception.py:230
+#, python-format
+msgid "Volume %(volume_id)s is not attached to anything"
+msgstr "Volume %(volume_id)s ist an nichts angeschlossen"
+
+#: nova/exception.py:234
+#, python-format
+msgid "Volume %(volume_id)s is still attached, detach volume first."
+msgstr ""
+"Das Volume %(volume_id)s ist noch angeschlossen, trennen Sie es erst "
+"einmal."
+
+#: nova/exception.py:238 nova/api/ec2/cloud.py:388 nova/api/ec2/cloud.py:413
+#: nova/api/openstack/compute/contrib/keypairs.py:98 nova/compute/api.py:2128
+msgid "Keypair data is invalid"
+msgstr "Schlüsselpaar-Daten sind ungültig"
+
+#: nova/exception.py:242
+msgid "Failed to load data into json format"
+msgstr "Laden der Daten ins JSON-Format ist fehlgeschlagen"
+
+#: nova/exception.py:246
+msgid "The request is invalid."
+msgstr "Die Anfrage ist unzulässig."
+
+#: nova/exception.py:250
+msgid "Invalid input received"
+msgstr "Unzulässige Eingaben empfangen"
+
+#: nova/exception.py:254
+msgid "Invalid volume type"
+msgstr "Unzulässiger Volume-Typ"
+
+#: nova/exception.py:258
+msgid "Invalid volume"
+msgstr "Unzulässiges Volume"
+
+#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1259
+#: nova/api/openstack/compute/contrib/admin_actions.py:242
+msgid "Invalid metadata"
+msgstr "Unzulässige Metadaten"
+
+#: nova/exception.py:266
+#, python-format
+msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
+msgstr "Unzulässiger Portbereich %(from_port)s:%(to_port)s. %(msg)s"
+
+#: nova/exception.py:270
+#, python-format
+msgid "Invalid IP protocol %(protocol)s."
+msgstr "Unzulässiges IP-Protokoll %(protocol)s"
+
+#: nova/exception.py:274
+#, python-format
+msgid "Invalid content type %(content_type)s."
+msgstr "Unzulässiger Inhaltstyp %(content_type)s"
+
+#: nova/exception.py:278
+#, python-format
+msgid "Invalid cidr %(cidr)s."
+msgstr "Unzulässiges CIDR %(cidr)s"
+
+#: nova/exception.py:282
+msgid "Invalid Parameter: Unicode is not supported by the current database."
+msgstr ""
+"Unzulässiger Parameter: Unicode wird von der derzeitigen Datenbank nicht "
+"unterstützt."
+
+#: nova/exception.py:289
+#, python-format
+msgid "%(err)s"
+msgstr "%(err)s"
+
+#: nova/exception.py:293
+#, python-format
+msgid ""
+"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
+" %(reason)s."
+msgstr ""
+"Aktion »%(action)s« kann nicht auf Aggregat %(aggregate_id)s ausgeführt "
+"werden. Grund: %(reason)s."
+
+#: nova/exception.py:298
+#, python-format
+msgid "Group not valid. Reason: %(reason)s"
+msgstr "Gruppe nicht zulässig. Grund: %(reason)s"
+
+#: nova/exception.py:302
+msgid "Sort key supplied was not valid."
+msgstr "Der eingegebene Sortierschlüssel war unzulässig"
+
+#: nova/exception.py:306
+#, python-format
+msgid ""
+"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
+" the instance is in this state."
+msgstr ""
+"Instanz %(instance_uuid)s in %(attr)s %(state)s. %(method)s funktioniert "
+"nicht, solange sich die Instanz in diesem Zustand befindet."
+
+#: nova/exception.py:311
+#, python-format
+msgid "Instance %(instance_id)s is not running."
+msgstr "Instanz %(instance_id)s läuft nicht"
+
+#: nova/exception.py:315
+#, python-format
+msgid "Instance %(instance_id)s is not in rescue mode"
+msgstr "Instanz %(instance_id)s ist nicht im Rettungsmodus"
+
+#: nova/exception.py:319
+#, python-format
+msgid "Instance %(instance_id)s is not ready"
+msgstr "Instanz %(instance_id)s ist nicht bereit"
+
+#: nova/exception.py:323
+msgid "Failed to suspend instance"
+msgstr "Anhalten der Instanz fehlgeschlagen"
+
+#: nova/exception.py:327
+msgid "Failed to resume server"
+msgstr "Wiederaufnahme des Servers fehlgeschlagen"
+
+#: nova/exception.py:331
+msgid "Failed to reboot instance"
+msgstr "Neustart der Instanz fehlgeschlagen"
+
+#: nova/exception.py:335
+msgid "Failed to terminate instance"
+msgstr "Beenden der Instanz fehlgeschlagen"
+
+#: nova/exception.py:339
+msgid "Service is unavailable at this time."
+msgstr "Dienst ist zur Zeit nicht verfügbar"
+
+#: nova/exception.py:343
+msgid "Insufficient compute resources."
+msgstr "Unzureichende Rechenleistung"
+
+#: nova/exception.py:347
+msgid "Compute service is unavailable at this time."
+msgstr "Rechendienst ist zur Zeit nicht verfügbar"
+
+#: nova/exception.py:351
+#, python-format
+msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
+msgstr ""
+"Instanz (%(instance_id)s) lässt sich nicht auf den derzeitigen Host (%"
+"(host)s) migrieren"
+
+#: nova/exception.py:356
+msgid "The supplied hypervisor type of is invalid."
+msgstr "Der angegebene Hypervisortyp ist unzulässig."
+
+#: nova/exception.py:360
+msgid "The instance requires a newer hypervisor version than has been provided."
+msgstr "Die Instanz braucht eine neuere Hypervisor-Version als die vorhandene."
+
+#: nova/exception.py:365
+#, python-format
+msgid ""
+"The supplied disk path (%(path)s) already exists, it is expected not to "
+"exist."
+msgstr ""
+"Der angegebene Speicherpfad (%(path)s) existiert entgegen der Erwartungen "
+"bereits."
+
+#: nova/exception.py:370
+#, python-format
+msgid "The supplied device path (%(path)s) is invalid."
+msgstr "Der angegebene Gerätepfad (%(path)s) ist unzulässig."
+
+#: nova/exception.py:374
+#, python-format
+msgid "The supplied device path (%(path)s) is in use."
+msgstr "Der angegebene Gerätepfad (%(path)s) ist in Benutzung."
+
+#: nova/exception.py:378
+#, python-format
+msgid "The supplied device (%(device)s) is busy."
+msgstr "Das angegebene Gerät (%(device)s) ist beschäftigt."
+
+#: nova/exception.py:382
+msgid "Unacceptable CPU info"
+msgstr "Inakzeptable CPU-Info"
+
+#: nova/exception.py:386
+#, python-format
+msgid "%(address)s is not a valid IP v4/6 address."
+msgstr "%(address)s ist keine gültige IPv4/v6-Adresse."
+
+#: nova/exception.py:390
+#, python-format
+msgid ""
+"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
+"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
+msgstr ""
+"VLAN-Tag ist für die Portgruppe %(bridge)s nicht geeignet. Das erwartete "
+"VLAN-Tag ist %(tag)s, aber das, welches mit der Portgruppe assoziiert wurde, "
+"lautet %(pgroup)s."
+
+#: nova/exception.py:396
+#, python-format
+msgid ""
+"vSwitch which contains the port group %(bridge)s is not associated with "
+"the desired physical adapter. Expected vSwitch is %(expected)s, but the "
+"one associated is %(actual)s."
+msgstr ""
+"Der vSwitch mit der Portgruppe %(bridge)s ist nicht mit dem gewünschten "
+"physikalischen Adapter verbunden. Der verbundene vSwitch ist entgegen den "
+"Erwartungen (%(expected)s) %(actual)s."
+
+#: nova/exception.py:403
+#, python-format
+msgid "Disk format %(disk_format)s is not acceptable"
+msgstr "Plattenformat %(disk_format)s ist inakzeptabel"
+
+#: nova/exception.py:407
+#, python-format
+msgid "Image %(image_id)s is unacceptable: %(reason)s"
+msgstr "Image %(image_id)s ist inakzeptabel: %(reason)s"
+
+#: nova/exception.py:411
+#, python-format
+msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
+msgstr "Instanz %(instance_id)s ist inakzeptabel: %(reason)s"
+
+#: nova/exception.py:415
+#, python-format
+msgid "Ec2 id %(ec2_id)s is unacceptable."
+msgstr "Ec2-ID %(ec2_id)s ist inakzeptabel"
+
+#: nova/exception.py:419
+#, python-format
+msgid "Expected a uuid but received %(uuid)s."
+msgstr "Eine UUID wurde erwartet, aber %(uuid)s erhalten."
+
+#: nova/exception.py:423
+msgid "Constraint not met."
+msgstr "Auflage nicht erfüllt"
+
+#: nova/exception.py:428
+msgid "Resource could not be found."
+msgstr "Ressource konnte nicht gefunden werden"
+
+#: nova/exception.py:433
+#, python-format
+msgid "Could not find driver for connection_type %(name)s"
+msgstr "Treiber für connection_type %(name)s konnte nicht gefunden werden"
+
+#: nova/exception.py:437
+#, python-format
+msgid "Volume %(volume_id)s persistence file could not be found."
+msgstr ""
+"Persistence-Datei von Volume %(volume_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:441
+#, python-format
+msgid "Volume %(volume_id)s could not be found."
+msgstr "Volume %(volume_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:445
+#, python-format
+msgid "Unable to locate account %(account_name)s on Solidfire device"
+msgstr "Konto %(account_name)s ist auf dem Solidfire-Gerät nicht auffindbar"
+
+#: nova/exception.py:450
+#, python-format
+msgid "Volume %(volume_id)s has no metadata with key %(metadata_key)s."
+msgstr ""
+"Volume %(volume_id)s hat keine Metadaten mit dem Schlüssel %(metadata_key)s"
+
+#: nova/exception.py:455
+#, python-format
+msgid "Volume type %(volume_type_id)s could not be found."
+msgstr "Volumetyp %(volume_type_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:459
+#, python-format
+msgid "Volume type with name %(volume_type_name)s could not be found."
+msgstr "Volumetyp namens %(volume_type_name)s konnte nicht gefunden werden"
+
+#: nova/exception.py:464
+#, python-format
+msgid ""
+"Volume Type %(volume_type_id)s has no extra specs with key "
+"%(extra_specs_key)s."
+msgstr ""
+"Volumetyp %(volume_type_id)s hat keine extra Spezifikationen mit dem "
+"Schlüssel %(extra_specs_key)s"
+
+#: nova/exception.py:469
+#, python-format
+msgid "Snapshot %(snapshot_id)s could not be found."
+msgstr "Schnappschuss %(snapshot_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:473
+#, python-format
+msgid "deleting volume %(volume_name)s that has snapshot"
+msgstr "Volume mit Schnappschuss %(volume_name)s wird gelöscht"
+
+#: nova/exception.py:477
+#, python-format
+msgid "deleting snapshot %(snapshot_name)s that has dependent volumes"
+msgstr "Schnappschuss %(snapshot_name)s mit anhängigen Volumes wird gelöscht"
+
+#: nova/exception.py:482
+#, python-format
+msgid "No target id found for volume %(volume_id)s."
+msgstr "Keine Ziel-ID für Volume %(volume_id)s gefunden"
+
+#: nova/exception.py:486
+#, python-format
+msgid "Failed to create iscsi target for volume %(volume_id)s."
+msgstr "iSCSI-Ziel für Volume %(volume_id)s konnte nicht erstellt werden"
+
+#: nova/exception.py:490
+#, python-format
+msgid "Failed to remove iscsi target for volume %(volume_id)s."
+msgstr "iSCSI-Ziel für Volume %(volume_id)s konnte nicht entfernt werden"
+
+#: nova/exception.py:494
+#, python-format
+msgid "No disk at %(location)s"
+msgstr "Keine Platte in %(location)s"
+
+#: nova/exception.py:498
+#, python-format
+msgid "Could not find a handler for %(driver_type)s volume."
+msgstr "Für das %(driver_type)s-Volume konnte kein Handler gefunden werden."
+
+#: nova/exception.py:502
+#, python-format
+msgid "Invalid image href %(image_href)s."
+msgstr "Ungültige Image-Adresse %(image_href)s"
+
+#: nova/exception.py:506
+#, python-format
+msgid "Image %(image_id)s could not be found."
+msgstr "Image %(image_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:510
+#, python-format
+msgid ""
+"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
+" dynamically when they are listed for the first time. Have you listed "
+"image ids since adding this image?"
+msgstr ""
+"Das Image %(image_id)s konnte nicht gefunden werden. Die Nova-EC2-API weist "
+"Image-IDs dynamisch beim ersten Auflisten zu. Haben Sie die Image-IDs "
+"aufgelistet, seit Sie dieses Image hinzugefügt haben?"
+
+#: nova/exception.py:517
+#, python-format
+msgid "Project %(project_id)s could not be found."
+msgstr "Projekt %(project_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:521
+msgid "Cannot find SR to read/write VDI."
+msgstr "SR zum Lesen/Schreiben der VDI kann nicht gefunden werden"
+
+#: nova/exception.py:525
+#, python-format
+msgid "Network %(network_id)s is still in use."
+msgstr "Netzwerk %(network_id)s ist noch in Benutzung"
+
+#: nova/exception.py:529
+#, python-format
+msgid "%(req)s is required to create a network."
+msgstr "%(req)s ist nötig, um ein Netzwerk zu erstellen"
+
+#: nova/exception.py:533
+#, python-format
+msgid "Network %(network_id)s could not be found."
+msgstr "Netzwerk %(network_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:537
+#, python-format
+msgid "Network could not be found for bridge %(bridge)s"
+msgstr "Netzwerk für Netzwerkbrücke %(bridge)s konnte nicht gefunden werden"
+
+#: nova/exception.py:541
+#, python-format
+msgid "Network could not be found for uuid %(uuid)s"
+msgstr "Netzwerk für UUID %(uuid)s konnte nicht gefunden werden"
+
+#: nova/exception.py:545
+#, python-format
+msgid "Network could not be found with cidr %(cidr)s."
+msgstr "Netzwerk mit CIDR %(cidr)s konnte nicht gefunden werden"
+
+#: nova/exception.py:549
+#, python-format
+msgid "Network could not be found for instance %(instance_id)s."
+msgstr "Netzwerk für Instanz %(instance_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:553
+msgid "No networks defined."
+msgstr "Keine Netzwerke angegeben."
+
+#: nova/exception.py:557
+#, python-format
+msgid ""
+"Either Network uuid %(network_uuid)s is not present or is not assigned to"
+" the project %(project_id)s."
+msgstr ""
+"Entweder das Netzwerk mit UUID %(network_uuid)s ist nicht verfügbar oder "
+"nicht dem Projekt %(project_id)s zugewiesen."
+
+#: nova/exception.py:562
+#, python-format
+msgid "Host is not set to the network (%(network_id)s)."
+msgstr "Host ist nicht auf das Netzwerk %(network_id)s gesetzt"
+
+#: nova/exception.py:566
+msgid "Could not find the datastore reference(s) which the VM uses."
+msgstr ""
+"Datenspeicherreferenz(en), welche die VM benutzt, konnte(n) nicht gefunden "
+"werden"
+
+#: nova/exception.py:570
+#, python-format
+msgid "Port %(port_id)s is still in use."
+msgstr "Port %(port_id)s ist noch in Verwendung"
+
+#: nova/exception.py:574
+#, python-format
+msgid "Port %(port_id)s could not be found."
+msgstr "Port %(port_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:578
+#, python-format
+msgid "No fixed IP associated with id %(id)s."
+msgstr "ID %(id)s ist keine feste IP zugewiesen"
+
+#: nova/exception.py:582
+#, python-format
+msgid "Fixed ip not found for address %(address)s."
+msgstr "für Adresse %(address)s konnte keine feste IP gefunden werden"
+
+#: nova/exception.py:586
+#, python-format
+msgid "Instance %(instance_uuid)s has zero fixed ips."
+msgstr "Instanz %(instance_uuid)s hat keine festen IPs"
+
+#: nova/exception.py:590
+#, python-format
+msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
+msgstr "Netzwerk-Host %(host)s hat im Netzwerk %(network_id)s keine festen IPs"
+
+#: nova/exception.py:595
+#, python-format
+msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
+msgstr "Instanz %(instance_uuid)s hat nicht die feste IP »%(ip)s«"
+
+#: nova/exception.py:599
+#, python-format
+msgid ""
+"Fixed IP address (%(address)s) does not exist in network "
+"(%(network_uuid)s)."
+msgstr ""
+"Die feste IP-Adresse (%(address)s) existiert im Netzwerk (%(network_uuid)s) "
+"nicht."
+
+#: nova/exception.py:604
+#, python-format
+msgid ""
+"Fixed IP address %(address)s is already in use on instance "
+"%(instance_uuid)s."
+msgstr ""
+"Die feste IP-Adresse %(address)s ist schon bei Instanz %(instance_uuid)s in "
+"Benutzung."
+
+#: nova/exception.py:609
+#, python-format
+msgid "More than one instance is associated with fixed ip address '%(address)s'."
+msgstr ""
+"Mit der festen IP-Adresse »%(address)s« ist mehr als eine Instanz verbunden."
+
+#: nova/exception.py:614
+#, python-format
+msgid "Fixed IP address %(address)s is invalid."
+msgstr "Feste IP-Adresse %(address)s ist unzulässig"
+
+#: nova/exception.py:618
+msgid "Zero fixed ips available."
+msgstr "Keine festen IPs verfügbar"
+
+#: nova/exception.py:622
+msgid "Zero fixed ips could be found."
+msgstr "Es konnten keine festen IPs gefunden werden."
+
+#: nova/exception.py:631
+#, python-format
+msgid "Floating ip %(address)s already exists."
+msgstr "Floating IP %(address)s existiert bereits"
+
+#: nova/exception.py:635
+#, python-format
+msgid "Floating ip not found for id %(id)s."
+msgstr "Floating IP für ID %(id)s nicht gefunden"
+
+#: nova/exception.py:639
+#, python-format
+msgid "The DNS entry %(name)s already exists in domain %(domain)s."
+msgstr "Der DNS-Eintrag %(name)s existiert in der Domain %(domain)s bereits."
+
+#: nova/exception.py:643
+#, python-format
+msgid "Floating ip not found for address %(address)s."
+msgstr "Floating IP für Adresse %(address)s nicht gefunden"
+
+#: nova/exception.py:647
+#, python-format
+msgid "Floating ip not found for host %(host)s."
+msgstr "Floating IP für Host %(host)s nicht gefunden"
+
+#: nova/exception.py:651
+msgid "Zero floating ips available."
+msgstr "Keine floating IPs verfügbar"
+
+#: nova/exception.py:656
+#, python-format
+msgid "Floating ip %(address)s is associated."
+msgstr "Floating IP %(address)s ist vergeben"
+
+#: nova/exception.py:660
+#, python-format
+msgid "Floating ip %(address)s is not associated."
+msgstr "Floating IP %(address)s ist nicht vergeben"
+
+#: nova/exception.py:664
+msgid "Zero floating ips exist."
+msgstr "Keine existierenden floating IPs"
+
+#: nova/exception.py:668
+#, python-format
+msgid "Interface %(interface)s not found."
+msgstr "Schnittstelle %(interface)s nicht gefunden"
+
+#: nova/exception.py:672
+#, python-format
+msgid "Keypair %(name)s not found for user %(user_id)s"
+msgstr "Schlüsselpaar %(name)s für Benutzer %(user_id)s nicht gefunden"
+
+#: nova/exception.py:676
+#, python-format
+msgid "Certificate %(certificate_id)s not found."
+msgstr "Zertifikat %(certificate_id)s nicht gefunden"
+
+#: nova/exception.py:680
+#, python-format
+msgid "Service %(service_id)s could not be found."
+msgstr "Dienst %(service_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:684
+#, python-format
+msgid "Host %(host)s could not be found."
+msgstr "Host %(host)s konnte nicht gefunden werden"
+
+#: nova/exception.py:688
+#, python-format
+msgid "Compute host %(host)s could not be found."
+msgstr "Compute-Host %(host)s konnte nicht gefunden werden"
+
+#: nova/exception.py:692
+#, python-format
+msgid "Could not find binary %(binary)s on host %(host)s."
+msgstr "Binärdatei %(binary)s konnte auf Host %(host)s nicht gefunden werden"
+
+#: nova/exception.py:696
+#, python-format
+msgid "Invalid reservation expiration %(expire)s."
+msgstr "Unzulässige Gültigkeit der Registrierung %(expire)s"
+
+#: nova/exception.py:700
+#, python-format
+msgid ""
+"Change would make usage less than 0 for the following resources: "
+"%(unders)s"
+msgstr ""
+"Änderung würde für die folgenden Ressourcen die Verwendung unter 0 senken: %"
+"(unders)s"
+
+#: nova/exception.py:705
+msgid "Quota could not be found"
+msgstr "Kontingent konnte nicht gefunden werden"
+
+#: nova/exception.py:709
+#, python-format
+msgid "Unknown quota resources %(unknown)s."
+msgstr "Unbekannte Kontingent-Ressourcen %(unknown)s"
+
+#: nova/exception.py:713
+#, python-format
+msgid "Quota for project %(project_id)s could not be found."
+msgstr "Kontingent für Projekt %(project_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:717
+#, python-format
+msgid "Quota class %(class_name)s could not be found."
+msgstr "Kontingent-Klasse %(class_name)s konnte nicht gefunden werden"
+
+#: nova/exception.py:721
+#, python-format
+msgid "Quota usage for project %(project_id)s could not be found."
+msgstr "Kontingenten-Verwendung %(project_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:725
+#, python-format
+msgid "Quota reservation %(uuid)s could not be found."
+msgstr "Kontingent-Reservierung %(uuid)s konnte nicht gefunden werden"
+
+#: nova/exception.py:729
+#, python-format
+msgid "Quota exceeded for resources: %(overs)s"
+msgstr "Kontingent für Ressourcen überschritten: %(overs)s"
+
+#: nova/exception.py:733
+#, python-format
+msgid "Security group %(security_group_id)s not found."
+msgstr "Sicherheitsgruppe %(security_group_id)s nicht gefunden"
+
+#: nova/exception.py:737
+#, python-format
+msgid "Security group %(security_group_id)s not found for project %(project_id)s."
+msgstr ""
+"Sicherheitsgruppe %(security_group_id)s für Projekt %(project_id)s nicht "
+"gefunden"
+
+#: nova/exception.py:742
+#, python-format
+msgid "Security group with rule %(rule_id)s not found."
+msgstr "Sicherheitsgruppe mit Regel %(rule_id)s nicht gefunden"
+
+#: nova/exception.py:746
+#, python-format
+msgid ""
+"Security group %(security_group_id)s is already associated with the "
+"instance %(instance_id)s"
+msgstr ""
+"Sicherheitsgruppe %(security_group_id)s ist bereits mit der Instanz %"
+"(instance_id)s verbunden"
+
+#: nova/exception.py:751
+#, python-format
+msgid ""
+"Security group %(security_group_id)s is not associated with the instance "
+"%(instance_id)s"
+msgstr ""
+"Sicherheitsgruppe %(security_group_id)s ist nicht mit der Instanz %"
+"(instance_id)s verbunden"
+
+#: nova/exception.py:756
+#, python-format
+msgid "Migration %(migration_id)s could not be found."
+msgstr "Migration %(migration_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:760
+#, python-format
+msgid "Migration not found for instance %(instance_id)s with status %(status)s."
+msgstr ""
+"Migration für Instanz %(instance_id)s mit Status %(status)s nicht gefunden"
+
+#: nova/exception.py:765
+#, python-format
+msgid "Console pool %(pool_id)s could not be found."
+msgstr "Konsolenpool %(pool_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:769
+#, python-format
+msgid ""
+"Console pool of type %(console_type)s for compute host %(compute_host)s "
+"on proxy host %(host)s not found."
+msgstr ""
+"Konsolenpool des Typs %(console_type)s für Compute-Host %(compute_host)s wurde "
+"auf dem Proxy-Host %(host)s nicht gefunden"
+
+#: nova/exception.py:775
+#, python-format
+msgid "Console %(console_id)s could not be found."
+msgstr "Konsole %(console_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:779
+#, python-format
+msgid "Console for instance %(instance_uuid)s could not be found."
+msgstr "Konsole für Instanz %(instance_uuid)s konnte nicht gefunden werden"
+
+#: nova/exception.py:783
+#, python-format
+msgid ""
+"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
+"found."
+msgstr ""
+"Konsole für Instanz %(instance_uuid)s im Pool %(pool_id)s konnte nicht "
+"gefunden werden"
+
+#: nova/exception.py:788
+#, python-format
+msgid "Invalid console type %(console_type)s "
+msgstr "Unzulässiger Konsolentyp %(console_type)s"
+
+#: nova/exception.py:792
+#, python-format
+msgid "Instance type %(instance_type_id)s could not be found."
+msgstr "Instanzentyp %(instance_type_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:796
+#, python-format
+msgid "Instance type with name %(instance_type_name)s could not be found."
+msgstr ""
+"Instanzentyp mit Namen %(instance_type_name)s konnte nicht gefunden werden"
+
+#: nova/exception.py:801
+#, python-format
+msgid "Flavor %(flavor_id)s could not be found."
+msgstr "Variante %(flavor_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:805
+#, python-format
+msgid "Flavor access not found for %(flavor_id) / %(project_id) combination."
+msgstr ""
+"Variante-Zugriff für %(flavor_id)/%(project_id)-Kombination nicht gefunden"
+
+#: nova/exception.py:810
+#, python-format
+msgid "Scheduler Host Filter %(filter_name)s could not be found."
+msgstr "Scheduler-Host-Filter %(filter_name)s konnte nicht gefunden werden"
+
+#: nova/exception.py:814
+#, python-format
+msgid "Scheduler cost function %(cost_fn_str)s could not be found."
+msgstr "Scheduler-Kostenfunktion %(cost_fn_str)s konnte nicht gefunden werden"
+
+#: nova/exception.py:819
+#, python-format
+msgid "Scheduler weight flag not found: %(flag_name)s"
+msgstr "Scheduler-Weight-Schalter nicht gefunden: %(flag_name)s"
+
+#: nova/exception.py:823
+#, python-format
+msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+"Instanz %(instance_uuid)s hat keine Metadaten mit dem Schlüssel %"
+"(metadata_key)s"
+
+#: nova/exception.py:828
+#, python-format
+msgid ""
+"Instance %(instance_uuid)s has no system metadata with key "
+"%(metadata_key)s."
+msgstr ""
+"Instanz %(instance_uuid)s hat keine System-Metadaten mit dem Schlüssel %"
+"(metadata_key)s"
+
+#: nova/exception.py:833
+#, python-format
+msgid ""
+"Instance Type %(instance_type_id)s has no extra specs with key "
+"%(extra_specs_key)s."
+msgstr ""
+"Instanzentyp %(instance_type_id)s hat keine extra Spezifikationen mit dem "
+"Schlüssel %(extra_specs_key)s"
+
+#: nova/exception.py:838
+#, python-format
+msgid "File %(file_path)s could not be found."
+msgstr "Datei %(file_path)s konnte nicht gefunden werden"
+
+#: nova/exception.py:842
+msgid "Zero files could be found."
+msgstr "Es konnten keine Dateien gefunden werden."
+
+#: nova/exception.py:846
+#, python-format
+msgid "Virtual switch associated with the network adapter %(adapter)s not found."
+msgstr ""
+"Virtueller Switch, der mit dem Netzwerkadapter %(adapter)s verbunden ist, "
+"konnte nicht gefunden werden"
+
+#: nova/exception.py:851
+#, python-format
+msgid "Network adapter %(adapter)s could not be found."
+msgstr "Netzwerkadapter %(adapter)s konnte nicht gefunden werden"
+
+#: nova/exception.py:855
+#, python-format
+msgid "Class %(class_name)s could not be found: %(exception)s"
+msgstr "Klasse %(class_name)s konnte nicht gefunden werden: %(exception)s"
+
+#: nova/exception.py:859
+msgid "Action not allowed."
+msgstr "Aktion nicht erlaubt"
+
+#: nova/exception.py:863
+msgid "Rotation is not allowed for snapshots"
+msgstr "Rotation ist bei Schnappschüssen nicht erlaubt"
+
+#: nova/exception.py:867
+msgid "Rotation param is required for backup image_type"
+msgstr "Rotationsparameter ist nötig für den image_type Sicherheitskopie"
+
+#: nova/exception.py:871
+#, python-format
+msgid "Key pair %(key_name)s already exists."
+msgstr "Schlüsselpaar %(key_name)s existiert bereits"
+
+#: nova/exception.py:875
+#, python-format
+msgid "Instance %(name)s already exists."
+msgstr "Instanz %(name)s existiert bereits"
+
+#: nova/exception.py:879
+#, python-format
+msgid "Instance Type %(name)s already exists."
+msgstr "Instanzentyp %(name)s existiert bereits"
+
+#: nova/exception.py:883
+#, python-format
+msgid ""
+"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"%(project_id)s combination."
+msgstr ""
+"Variantenzugriff für Kombination aus Variante %(flavor_id)s und Projekt %"
+"(project_id)s ist schon vorhanden"
+
+#: nova/exception.py:888
+#, python-format
+msgid "Volume Type %(name)s already exists."
+msgstr "Volume-Typ %(name)s existiert bereits"
+
+#: nova/exception.py:892
+#, python-format
+msgid "%(path)s is not on shared storage: %(reason)s"
+msgstr "%(path)s ist nicht auf dem gemeinsamen Speicher: %(reason)s"
+
+#: nova/exception.py:896
+#, python-format
+msgid "%(path)s is not on local storage: %(reason)s"
+msgstr "%(path)s ist nicht auf einem lokalen Speicher: %(reason)s"
+
+#: nova/exception.py:900
+msgid "Migration error"
+msgstr "Migrationsfehler"
+
+#: nova/exception.py:904
+#, python-format
+msgid "Malformed message body: %(reason)s"
+msgstr "Fehlerhafter Nachrichtenrumpf: %(reason)s"
+
+#: nova/exception.py:910
+#, python-format
+msgid "Could not find config at %(path)s"
+msgstr "Konfig unter %(path)s konnte nicht gefunden werden"
+
+#: nova/exception.py:914
+#, python-format
+msgid "Could not load paste app '%(name)s' from %(path)s"
+msgstr "Einfüge-App »%(name)s« konnte nicht von %(path)s geladen werden"
+
+#: nova/exception.py:918
+msgid "When resizing, instances must change flavor!"
+msgstr "Beim Ändern der Größe müssen die Instanzen ihre Variante ändern!"
+
+#: nova/exception.py:922
+msgid "Image is larger than instance type allows"
+msgstr "Image ist größer als der Instanzentyp erlaubt"
+
+#: nova/exception.py:926
+msgid "Instance type's memory is too small for requested image."
+msgstr "Der Speicher des Instanzentyps ist zu klein für das angefragte Image."
+
+#: nova/exception.py:930
+msgid "Instance type's disk is too small for requested image."
+msgstr ""
+"Der Plattenspeicher des Instanzentyps ist zu klein für das angefragte Image."
+
+#: nova/exception.py:934
+#, python-format
+msgid "Insufficient free memory on compute node to start %(uuid)s."
+msgstr ""
+"Nicht genügend freier Speicher auf dem Rechenknoten, um %(uuid)s zu starten"
+
+#: nova/exception.py:938
+msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
+msgstr ""
+"Bandbreite-/CPU-/Platten-Metriken für diesen Host konnten nicht abgerufen "
+"werden"
+
+#: nova/exception.py:942
+#, python-format
+msgid "No valid host was found. %(reason)s"
+msgstr "Kein zulässiger Host gefunden; %(reason)s"
+
+#: nova/exception.py:946
+#, python-format
+msgid "Host %(host)s is not up or doesn't exist."
+msgstr "Host %(host)s läuft oder existiert nicht"
+
+#: nova/exception.py:950
+msgid "Quota exceeded"
+msgstr "Kontingent überschritten"
+
+#: nova/exception.py:957
+#, python-format
+msgid ""
+"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
+"%(used)d of %(allowed)d %(resource)s"
+msgstr ""
+"Kontingent für %(overs)s überschritten: Hat %(req)s angefragt, aber schon %"
+"(used)d von %(allowed)d %(resource)s benutzt."
+
+#: nova/exception.py:962
+msgid "Maximum volume size exceeded"
+msgstr "Maximale Volumengröße überschritten"
+
+#: nova/exception.py:966
+#, python-format
+msgid "Maximum number of volumes allowed (%(allowed)d) exceeded"
+msgstr "Höchstanzahl von erlaubten Volumes (%(allowed)d) überschritten"
+
+#: nova/exception.py:970
+msgid "Maximum number of floating ips exceeded"
+msgstr "Höchstanzahl von floating IPs überschritten"
+
+#: nova/exception.py:974
+#, python-format
+msgid "Maximum number of metadata items exceeds %(allowed)d"
+msgstr "Höchstzahl von Metadaten-Objekten überschreitet %(allowed)d"
+
+#: nova/exception.py:978
+msgid "Personality file limit exceeded"
+msgstr "Personalitäts-Dateigrenze überschritten"
+
+#: nova/exception.py:982
+msgid "Personality file path too long"
+msgstr "Personalitäts-Dateipfad zu lang"
+
+#: nova/exception.py:986
+msgid "Personality file content too long"
+msgstr "Personalitäts-Dateiinhalt zu lang"
+
+#: nova/exception.py:990
+msgid "Maximum number of key pairs exceeded"
+msgstr "Höchstanzahl von Schlüsselpaaren überschritten"
+
+#: nova/exception.py:994
+msgid "Maximum number of security groups or rules exceeded"
+msgstr "Höchstanzahl von Sicherheitsgruppen oder Regeln überschritten"
+
+#: nova/exception.py:998
+#, python-format
+msgid ""
+"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
+"%(reason)s."
+msgstr ""
+"Aggregat %(aggregate_id)s: Aktion »%(action)s« hat einen Fehler verursacht: "
+"%(reason)s."
+
+#: nova/exception.py:1003
+#, python-format
+msgid "Aggregate %(aggregate_id)s could not be found."
+msgstr "Aggregat %(aggregate_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:1007
+#, python-format
+msgid "Aggregate %(aggregate_name)s already exists."
+msgstr "Aggregat %(aggregate_name)s existiert bereits"
+
+#: nova/exception.py:1011
+#, python-format
+msgid "Aggregate %(aggregate_id)s has no host %(host)s."
+msgstr "Aggregat %(aggregate_id)s hat keinen Host %(host)s"
+
+#: nova/exception.py:1015
+#, python-format
+msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
+msgstr ""
+"Aggregat %(aggregate_id)s hat keine Metadaten mit dem Schlüssel %"
+"(metadata_key)s"
+
+#: nova/exception.py:1020
+#, python-format
+msgid "Aggregate %(aggregate_id)s already has host %(host)s."
+msgstr "Aggregat %(aggregate_id)s hat den Host %(host)s bereits"
+
+#: nova/exception.py:1024
+#, python-format
+msgid "Detected more than one volume with name %(vol_name)s"
+msgstr "Mehr als ein Volume mit Namen %(vol_name)s entdeckt"
+
+#: nova/exception.py:1028
+#, python-format
+msgid "Cannot create volume_type with name %(name)s and specs %(extra_specs)s"
+msgstr ""
+"Volume_type mit Namen %(name)s und Spezifikationen %(extra_specs)s konnte "
+"nicht erstellt werden"
+
+#: nova/exception.py:1033
+#, python-format
+msgid "Bad or unexpected response from the storage volume backend API: %(data)s"
+msgstr ""
+"Falsche oder unerwartete Antwort vom Speicher-Volume-Backend-API: %(data)s"
+
+#: nova/exception.py:1038
+msgid "Unknown NFS exception"
+msgstr "Unbekannte NFS-Ausnahme"
+
+#: nova/exception.py:1042
+msgid "No mounted NFS shares found"
+msgstr "Keine eingehängten NFS-Freigaben gefunden"
+
+#: nova/exception.py:1046
+#, python-format
+msgid "There is no share which can host %(volume_size)sG"
+msgstr "Es gibt keine Freigabe, auf der %(volume_size)sG Platz hat."
+
+#: nova/exception.py:1050
+msgid "Unable to create instance type"
+msgstr "Instanzentyp lässt sich nicht anlegen"
+
+#: nova/exception.py:1054
+#, python-format
+msgid "Failed to set admin password on %(instance)s because %(reason)s"
+msgstr ""
+"Administratorpasswort auf %(instance)s konnte nicht gesetzt werden, denn %"
+"(reason)s"
+
+#: nova/exception.py:1060
+msgid "Bad response from SolidFire API"
+msgstr "Falsche Antwort vom SolidFire-API"
+
+#: nova/exception.py:1064
+#, python-format
+msgid "Error in SolidFire API response: data=%(data)s"
+msgstr "Fehler in der Antwort vom SolidFire-API: Daten=%(data)s"
+
+#: nova/exception.py:1068
+#, python-format
+msgid "Detected existing vlan with id %(vlan)d"
+msgstr "Vorhandenes VLAN mit ID %(vlan)d entdeckt"
+
+#: nova/exception.py:1072
+#, python-format
+msgid "Instance %(instance_id)s could not be found."
+msgstr "Instanz %(instance_id)s konnte nicht gefunden werden"
+
+#: nova/exception.py:1076
+#, python-format
+msgid "Marker %(marker)s could not be found."
+msgstr "Marker %(marker)s konnte nicht gefunden werden"
+
+#: nova/exception.py:1080
+#, python-format
+msgid "Invalid id: %(val)s (expecting \"i-...\")."
+msgstr "Ungültige ID: %(val)s (erwartet wurde \"i-…\")"
+
+#: nova/exception.py:1084
+#, python-format
+msgid "Could not fetch image %(image_id)s"
+msgstr "Image %(image_id)s konnte nicht geholt werden"
+
+#: nova/exception.py:1088
+#, python-format
+msgid "Task %(task_name)s is already running on host %(host)s"
+msgstr "Die Aufgabe %(task_name)s läuft schon auf dem Host %(host)s."
+
+#: nova/exception.py:1092
+#, python-format
+msgid "Task %(task_name)s is not running on host %(host)s"
+msgstr "Aufgabe %(task_name)s läuft nicht auf Host %(host)s"
+
+#: nova/exception.py:1096
+#, python-format
+msgid "Instance %(instance_uuid)s is locked"
+msgstr "Instanz %(instance_uuid)s ist gesperrt"
+
+#: nova/exception.py:1100
+#, python-format
+msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
+msgstr ""
+"VFAT-Konfig-Laufwerk konnte nicht eingehängt werden. %(operation)s "
+"fehlgeschlagen, Fehler: %(error)s"
+
+#: nova/exception.py:1105
+#, python-format
+msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
+msgstr ""
+"Unbekannte Konfig-Laufwerk-Formatierung %(format)s. Benutzen Sie eins mit "
+"ISO9600 oder VFAT."
+
+#: nova/exception.py:1110
+#, python-format
+msgid ""
+"User data too large. User data must be no larger than %(maxsize)s bytes "
+"once base64 encoded. Your data is %(length)d bytes"
+msgstr ""
+"Benutzerdaten zu groß! Die Benutzerdaten dürfen nicht größer als %(maxsize)s "
+"Bytes sein, sobald sie mit Base64 kodiert worden sind. Die Größe Ihrer "
+"Daten beträgt %(length)d Bytes."
+
+#: nova/exception.py:1116
+msgid "User data needs to be valid base 64."
+msgstr "Die Benutzerdaten müssen in zulässigem Base64 vorliegen."
+
+#: nova/exception.py:1120
+#, python-format
+msgid ""
+"unexpected task state: expecting %(expected)s but the actual state is "
+"%(actual)s"
+msgstr ""
+"Unerwarteter Aufgabenstatus: Der aktuelle Status sollte %(expected)s sein, "
+"ist aber %(actual)s."
+
+#: nova/exception.py:1125
+#, python-format
+msgid "The CA file for %(project)s could not be found"
+msgstr "Die CA-Dateien für %(project)s konnten nicht gefunden werden."
+
+#: nova/exception.py:1129
+#, python-format
+msgid "The CRL file for %(project)s could not be found"
+msgstr "Die CRL-Datei für %(project)s konnte nicht gefunden werden."
+
+#: nova/manager.py:166
+#, python-format
+msgid "Skipping %(full_task_name)s, %(ticks_to_skip)s ticks left until next run"
+msgstr ""
+"%(full_task_name)s wird übersprungen, %(ticks_to_skip)s Ticks bis zum "
+"nächsten Durchlauf"
+
+#: nova/manager.py:172
+#, python-format
+msgid "Running periodic task %(full_task_name)s"
+msgstr "Periodische Aufgabe %(full_task_name)s wird ausgeführt"
+
+#: nova/manager.py:182
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr "Fehler während %(full_task_name)s: %(e)s"
+
+#: nova/manager.py:231
+msgid "Notifying Schedulers of capabilities ..."
+msgstr "Scheduler werden von den Möglichkeiten unterrichtet …"
+
+#: nova/notifications.py:112 nova/notifications.py:152
+msgid "Failed to send state update notification"
+msgstr "Senden der Zustands-Aktualisierungs-Benachrichtigung fehlgeschlagen"
+
+#: nova/policy.py:32
+msgid "JSON file representing policy"
+msgstr "JSON-Datei, welche die Richtlinien repräsentiert"
+
+#: nova/policy.py:35
+msgid "Rule checked when requested rule is not found"
+msgstr "Durchzuspielende Regel, wenn die angefragte Regel nicht gefunden wird"
+
+#: nova/quota.py:697
+#, python-format
+msgid "Created reservations %(reservations)s"
+msgstr "Reservierungen %(reservations)s erstellt"
+
+#: nova/quota.py:716
+#, python-format
+msgid "Failed to commit reservations %(reservations)s"
+msgstr "Einreichen der Reservierungen %(reservations)s fehlgeschlagen"
+
+#: nova/quota.py:734
+#, python-format
+msgid "Failed to roll back reservations %(reservations)s"
+msgstr "Zurückziehen der Reservierungen %(reservations)s fehlgeschlagen"
+
+#: nova/service.py:179
+msgid "Full set of FLAGS:"
+msgstr "Alle vorhandenen SCHALTER:"
+
+#: nova/service.py:186
+#, python-format
+msgid "%(flag)s : FLAG SET "
+msgstr "%(flag)s : SCHALTER GESETZT "
+
+#: nova/service.py:196 nova/service.py:294
+#, python-format
+msgid "Caught %s, exiting"
+msgstr "%s bekommen, Programm wird beendet"
+
+#: nova/service.py:240
+msgid "Parent process has died unexpectedly, exiting"
+msgstr "Elternprozess wurde unerwartet beendet, Programm wird ebenfalls beendet"
+
+#: nova/service.py:276
+msgid "Forking too fast, sleeping"
+msgstr "Forkt zu schnell, pausiert"
+
+#: nova/service.py:299
+msgid "Unhandled exception"
+msgstr "Unbehandelte Ausnahme"
+
+#: nova/service.py:306
+#, python-format
+msgid "Started child %d"
+msgstr "Kindprozess %d gestartet"
+
+#: nova/service.py:316
+#, python-format
+msgid "Starting %d workers"
+msgstr "%d Arbeiter werden gestartet."
+
+#: nova/service.py:330
+#, python-format
+msgid "Child %(pid)d killed by signal %(sig)d"
+msgstr "Kindprozess %(pid)d wurde mit Signal %(sig)d abgebrochen"
+
+#: nova/service.py:333
+#, python-format
+msgid "Child %(pid)d exited with status %(code)d"
+msgstr "Kindprozess %(pid)d wurde mit Status %(code)d beendet"
+
+#: nova/service.py:336
+#, python-format
+msgid "pid %d not in child list"
+msgstr "PID %d nicht in der Liste der Kindprozesse"
+
+#: nova/service.py:356
+#, python-format
+msgid "Caught %s, stopping children"
+msgstr "%s erhalten, Kindprozesse werden gestoppt"
+
+#: nova/service.py:367
+#, python-format
+msgid "Waiting on %d children to exit"
+msgstr "Es wird noch auf die Beendigung von %d Kindprozessen gewartet."
+
+#: nova/service.py:396
+#, python-format
+msgid "Starting %(topic)s node (version %(vcs_string)s)"
+msgstr "%(topic)s-Knoten (Version %(vcs_string)s) wird gestartet"
+
+#: nova/service.py:413
+#, python-format
+msgid "Creating Consumer connection for Service %s"
+msgstr "Konsumentenverbindung für Dienst %s wird aufgebaut"
+
+#: nova/service.py:502
+msgid "Service killed that has no database entry"
+msgstr "Dienst beendet, der keinen Datenbankeintrag hatte"
+
+#: nova/service.py:539
+msgid "The service database object disappeared, Recreating it."
+msgstr "Das Dienstdatenbankobjekt ist verschwunden, es wird erneut erzeugt."
+
+#: nova/service.py:554
+msgid "Recovered model server connection!"
+msgstr "Modellserver-Verbindung wiederhergestellt!"
+
+#: nova/service.py:560
+msgid "model server went away"
+msgstr "Modellserver ist weg"
+
+#: nova/service.py:648
+msgid "serve() can only be called once"
+msgstr "serve() kann nur ein Mal aufgerufen werden"
+
+#: nova/utils.py:162
+#, python-format
+msgid "Got unknown keyword args to utils.execute: %r"
+msgstr "Unbekannte Argumente für utils.execute erhalten: %r"
+
+#: nova/utils.py:168
+msgid ""
+"The root_helper option (which lets you specify a root wrapper different "
+"from nova-rootwrap, and defaults to using sudo) is now deprecated. You "
+"should use the rootwrap_config option instead."
+msgstr ""
+"Die root_helper-Option (die Sie einen anderen Root-Wrapper als nova-rootwrap "
+"angeben lässt und sudo als Vorgabe hat) gilt nun als missbilligt. Sie "
+"sollten stattdessen die Option rootwrap_config benutzen."
+
+#: nova/utils.py:183
+#, python-format
+msgid "Running cmd (subprocess): %s"
+msgstr "Befehl (Subprozess) wird ausgeführt: %s"
+
+#: nova/utils.py:199 nova/utils.py:277 nova/virt/powervm/common.py:82
+#, python-format
+msgid "Result was %s"
+msgstr "Ergebnis war %s"
+
+#: nova/utils.py:212
+#, python-format
+msgid "%r failed. Retrying."
+msgstr "%r fehlgeschlagen; neuer Versuch"
+
+#: nova/utils.py:252
+#, python-format
+msgid "Running cmd (SSH): %s"
+msgstr "Befehl (SSH) wird ausgeführt: %s"
+
+#: nova/utils.py:254
+msgid "Environment not supported over SSH"
+msgstr "Umgebung wird via SSH nicht unterstützt"
+
+#: nova/utils.py:258
+msgid "process_input not supported over SSH"
+msgstr "process_input wird via SSH nicht unterstützt"
+
+#: nova/utils.py:293
+#, python-format
+msgid "debug in callback: %s"
+msgstr "Fehlersuche in Rückruf: %s"
+
+#: nova/utils.py:452
+#, python-format
+msgid "Link Local address is not found.:%s"
+msgstr "Verknüpfungslokale Adresse nicht gefunden: %s"
+
+#: nova/utils.py:455
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+"Verknüpfungslokale IP von %(interface)s konnte nicht abgefragt werden: %"
+"(ex)s"
+
+#: nova/utils.py:490
+#, python-format
+msgid "Invalid backend: %s"
+msgstr "Unzulässiges Backend: %s"
+
+#: nova/utils.py:502
+#, python-format
+msgid "backend %s"
+msgstr "Backend %s"
+
+#: nova/utils.py:552
+msgid "in looping call"
+msgstr "In Rufschleife"
+
+#: nova/utils.py:636
+#, python-format
+msgid "Could not release the acquired lock `%s`"
+msgstr "Die erlangte Sperre »%s« konnte nicht aufgehoben werden."
+
+#: nova/utils.py:719
+#, python-format
+msgid "Got semaphore \"%(lock)s\" for method \"%(method)s\"..."
+msgstr "Semaphore »%(lock)s« für Methode »%(method)s« erhalten …"
+
+#: nova/utils.py:723
+#, python-format
+msgid "Attempting to grab file lock \"%(lock)s\" for method \"%(method)s\"..."
+msgstr ""
+"Es wird versucht, eine Dateisperre »%(lock)s« für die Methode »%(method)s« zu "
+"bekommen …"
+
+#: nova/utils.py:749
+#, python-format
+msgid "Got file lock \"%(lock)s\" for method \"%(method)s\"..."
+msgstr "Dateisperre »%(lock)s« für Methode »%(method)s« erhalten …"
+
+#: nova/utils.py:890
+#, python-format
+msgid "Expected object of type: %s"
+msgstr "Objekt vom Typ erwartet: %s"
+
+#: nova/utils.py:919
+#, python-format
+msgid "Invalid server_string: %s"
+msgstr "Unzulässiger server_string: %s"
+
+#: nova/utils.py:1059
+#, python-format
+msgid "timefunc: '%(name)s' took %(total_time).2f secs"
+msgstr "timefunc: »%(name)s« dauerte »%(total_time).2f« Sek."
+
+#: nova/utils.py:1137
+#, python-format
+msgid "Reloading cached file %s"
+msgstr "Zwischengespeicherte Datei %s wird neu geladen"
+
+#: nova/utils.py:1255 nova/virt/configdrive.py:145
+#, python-format
+msgid "Could not remove tmpdir: %s"
+msgstr "Temp-Verzeichnis konnte nicht entfernt werden: %s"
+
+#: nova/wsgi.py:74
+#, python-format
+msgid "%(name)s listening on %(host)s:%(port)s"
+msgstr "%(name)s lauscht auf %(host)s:%(port)s"
+
+#: nova/wsgi.py:97
+msgid "Stopping WSGI server."
+msgstr "WSGI-Server wird gestoppt"
+
+#: nova/wsgi.py:115
+msgid "WSGI server has stopped."
+msgstr "WSGI-Server ist gestoppt"
+
+#: nova/wsgi.py:184
+msgid "You must implement __call__"
+msgstr "Sie müssen __call__ implementieren."
+
+#: nova/wsgi.py:370
+#, python-format
+msgid "Loading app %(name)s from %(path)s"
+msgstr "App %(name)s wird von %(path)s geladen"
+
+#: nova/api/auth.py:108
+msgid "Invalid service catalog json."
+msgstr "Unzulässige Dienstkatalog-JSON"
+
+#: nova/api/auth.py:131
+msgid "Sourcing roles from deprecated X-Role HTTP header"
+msgstr "Rollen werden aus dem veralteten X-Role-HTTP-Header beschafft"
+
+#: nova/api/sizelimit.py:51
+msgid "Request is too large."
+msgstr "Anfrage ist zu groß"
+
+#: nova/api/validator.py:138
+#, python-format
+msgid "%(key)s with value %(value)s failed validator %(name)s"
+msgstr "%(key)s mit dem Wert %(value)s sind am Validator %(name)s gescheitert"
+
+#: nova/api/ec2/__init__.py:79
+#, python-format
+msgid "%(code)s: %(message)s"
+msgstr "%(code)s: %(message)s"
+
+#: nova/api/ec2/__init__.py:102
+#, python-format
+msgid "FaultWrapper: %s"
+msgstr "FaultWrapper: %s"
+
+#: nova/api/ec2/__init__.py:177
+msgid "Too many failed authentications."
+msgstr "Zu viele fehlgeschlagene Authentifizierungsversuche"
+
+#: nova/api/ec2/__init__.py:187
+#, python-format
+msgid ""
+"Access key %(access_key)s has had %(failures)d failed authentications and"
+" will be locked out for %(lock_mins)d minutes."
+msgstr ""
+"Der Zugangsschlüssel %(access_key)s hatte %(failures)d fehlgeschlagene "
+"Authentifizierungsversuche und wird deshalb für %(lock_mins)d Minuten "
+"ausgesperrt."
+
+#: nova/api/ec2/__init__.py:204
+msgid "Signature not provided"
+msgstr "Signatur nicht angegeben"
+
+#: nova/api/ec2/__init__.py:208
+msgid "Access key not provided"
+msgstr "Zugangsschlüssel nicht angegeben"
+
+#: nova/api/ec2/__init__.py:243 nova/api/ec2/__init__.py:258
+msgid "Failure communicating with keystone"
+msgstr "Kommunikation mit Keystone fehlgeschlagen"
+
+#: nova/api/ec2/__init__.py:328
+#, python-format
+msgid "action: %s"
+msgstr "Aktion: %s"
+
+#: nova/api/ec2/__init__.py:330
+#, python-format
+msgid "arg: %(key)s\t\tval: %(value)s"
+msgstr "Arg: %(key)s\t\tWert: %(value)s"
+
+#: nova/api/ec2/__init__.py:405
+#, python-format
+msgid "Unauthorized request for controller=%(controller)s and action=%(action)s"
+msgstr ""
+"Nicht authentifizierte Anfrage für Controller=%(controller)s und Action=%"
+"(action)s"
+
+#: nova/api/ec2/__init__.py:477
+#, python-format
+msgid "InstanceNotFound raised: %s"
+msgstr "InstanceNotFound aufgetreten: %s"
+
+#: nova/api/ec2/__init__.py:483
+#, python-format
+msgid "VolumeNotFound raised: %s"
+msgstr "VolumeNotFound aufgetreten: %s"
+
+#: nova/api/ec2/__init__.py:489
+#, python-format
+msgid "SnapshotNotFound raised: %s"
+msgstr "SnapshotNotFound aufgetreten: %s"
+
+#: nova/api/ec2/__init__.py:495
+#, python-format
+msgid "NotFound raised: %s"
+msgstr "NotFound aufgetreten: %s"
+
+#: nova/api/ec2/__init__.py:498
+#, python-format
+msgid "EC2APIError raised: %s"
+msgstr "EC2APIError aufgetreten: %s"
+
+#: nova/api/ec2/__init__.py:506
+#, python-format
+msgid "KeyPairExists raised: %s"
+msgstr "KeyPairExists aufgetreten: %s"
+
+#: nova/api/ec2/__init__.py:510
+#, python-format
+msgid "InvalidParameterValue raised: %s"
+msgstr "InvalidParameterValue aufgetreten: %s"
+
+#: nova/api/ec2/__init__.py:514
+#, python-format
+msgid "InvalidPortRange raised: %s"
+msgstr "InvalidPortRange aufgetreten: %s"
+
+#: nova/api/ec2/__init__.py:518
+#, python-format
+msgid "NotAuthorized raised: %s"
+msgstr "NotAuthorized aufgetreten: %s"
+
+#: nova/api/ec2/__init__.py:522
+#, python-format
+msgid "InvalidRequest raised: %s"
+msgstr "InvalidRequest aufgetreten: %s"
+
+#: nova/api/ec2/__init__.py:526
+#, python-format
+msgid "QuotaError raised: %s"
+msgstr "QuotaError aufgetreten: %s"
+
+#: nova/api/ec2/__init__.py:530
+#, python-format
+msgid "Invalid id: bogus (expecting \"i-...\"): %s"
+msgstr "Unzulässige ID: unecht (erwartet wurde »i-...«): %s"
+
+#: nova/api/ec2/__init__.py:539
+#, python-format
+msgid "Unexpected error raised: %s"
+msgstr "Unerwarteter Fehler aufgetreten: %s"
+
+#: nova/api/ec2/__init__.py:540
+#, python-format
+msgid "Environment: %s"
+msgstr "Umgebung: %s"
+
+#: nova/api/ec2/__init__.py:542 nova/api/metadata/handler.py:79
+msgid "An unknown error has occurred. Please try your request again."
+msgstr ""
+"Ein unbekannter Fehler ist aufgetreten. Bitte versuchen Sie noch einmal Ihre "
+"Anfrage zu stellen."
+
+#: nova/api/ec2/apirequest.py:64
+#, python-format
+msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
+msgstr ""
+"Nicht unterstütze API-Anfrage: Controller = %(controller)s, Aktion = %"
+"(action)s"
+
+#: nova/api/ec2/cloud.py:336
+#, python-format
+msgid "Create snapshot of volume %s"
+msgstr "Schnappschuss des Volumes %s anlegen"
+
+#: nova/api/ec2/cloud.py:362
+#, python-format
+msgid "Could not find key pair(s): %s"
+msgstr "Schlüsselpaar(e) konnte(n) nicht gefunden werden: %s"
+
+#: nova/api/ec2/cloud.py:378
+#, python-format
+msgid "Create key pair %s"
+msgstr "Schlüsselpaar %s erzeugen"
+
+#: nova/api/ec2/cloud.py:385 nova/api/ec2/cloud.py:410
+#: nova/api/openstack/compute/contrib/keypairs.py:93
+msgid "Quota exceeded, too many key pairs."
+msgstr "Kontingent überschritten, zu viele Schlüsselpaare"
+
+#: nova/api/ec2/cloud.py:391 nova/api/ec2/cloud.py:416
+#: nova/api/openstack/compute/contrib/keypairs.py:101
+#, python-format
+msgid "Key pair '%s' already exists."
+msgstr "Schlüsselpaar »%s« existiert bereits"
+
+#: nova/api/ec2/cloud.py:400
+#, python-format
+msgid "Import key %s"
+msgstr "Schlüssel %s importieren"
+
+#: nova/api/ec2/cloud.py:423
+#, python-format
+msgid "Delete key pair %s"
+msgstr "Schlüsselpaar %s löschen"
+
+#: nova/api/ec2/cloud.py:557 nova/api/ec2/cloud.py:669
+msgid "Not enough parameters, need group_name or group_id"
+msgstr "Nicht genügend Parameter, group_name oder group_id fehlt noch"
+
+#: nova/api/ec2/cloud.py:562
+#, python-format
+msgid "%s Not enough parameters to build a valid rule"
+msgstr "%s Nicht genügend Parameter, um eine gültige Regel aufzustellen"
+
+#: nova/api/ec2/cloud.py:592 nova/api/ec2/cloud.py:623
+msgid "No rule for the specified parameters."
+msgstr "Keine Regel für die angegebenen Parameter"
+
+#: nova/api/ec2/cloud.py:614
+#, python-format
+msgid "%s - This rule already exists in group"
+msgstr "%s – Diese Regel gibt es bereits in der Gruppe"
+
+#: nova/api/ec2/cloud.py:680
+#, python-format
+msgid "Get console output for instance %s"
+msgstr "Konsolenausgabe für Instanz %s abrufen"
+
+#: nova/api/ec2/cloud.py:756
+#, python-format
+msgid "Create volume from snapshot %s"
+msgstr "Volume aus Schnappschuss %s erstellen"
+
+#: nova/api/ec2/cloud.py:760 nova/api/openstack/compute/contrib/volumes.py:250
+#: nova/api/openstack/volume/volumes.py:305
+#, python-format
+msgid "Create volume of %s GB"
+msgstr "Volume mit %s GB erstellen"
+
+#: nova/api/ec2/cloud.py:788
+msgid "Delete Failed"
+msgstr "Löschen fehlgeschlagen"
+
+#: nova/api/ec2/cloud.py:801
+#, python-format
+msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
+msgstr "Volume %(volume_id)s als %(device)s an Instanz %(instance_id)s "
+"anschließen"
+
+#: nova/api/ec2/cloud.py:809
+msgid "Attach Failed."
+msgstr "Anschließen fehlgeschlagen"
+
+#: nova/api/ec2/cloud.py:822 nova/api/openstack/compute/contrib/volumes.py:429
+#, python-format
+msgid "Detach volume %s"
+msgstr "Volume %s entfernen"
+
+#: nova/api/ec2/cloud.py:828
+msgid "Detach Volume Failed."
+msgstr "Entfernen des Volumes fehlgeschlagen"
+
+#: nova/api/ec2/cloud.py:854 nova/api/ec2/cloud.py:911
+#: nova/api/ec2/cloud.py:1445 nova/api/ec2/cloud.py:1460
+#, python-format
+msgid "attribute not supported: %s"
+msgstr "Attribut nicht unterstützt: %s"
+
+#: nova/api/ec2/cloud.py:977
+#, python-format
+msgid "vol = %s\n"
+msgstr "vol = %s\n"
+
+#: nova/api/ec2/cloud.py:1128
+msgid "Allocate address"
+msgstr "Adresse zuweisen"
+
+#: nova/api/ec2/cloud.py:1132
+msgid "No more floating IPs available"
+msgstr "Keine foating IPs mehr verfügbar"
+
+#: nova/api/ec2/cloud.py:1136
+#, python-format
+msgid "Release address %s"
+msgstr "Adresse %s freigeben"
+
+#: nova/api/ec2/cloud.py:1141
+msgid "Unable to release IP Address."
+msgstr "IP-Adresse lässt sich nicht freigeben"
+
+#: nova/api/ec2/cloud.py:1144
+#, python-format
+msgid "Associate address %(public_ip)s to instance %(instance_id)s"
+msgstr "Adresse %(public_ip)s mit Instanz %(instance_id)s verbinden"
+
+#: nova/api/ec2/cloud.py:1152
+msgid "Unable to associate IP Address, no fixed_ips."
+msgstr "IP-Adresse lässt sich nicht zuweisen, keine fixed_ips"
+
+#: nova/api/ec2/cloud.py:1160
+#: nova/api/openstack/compute/contrib/floating_ips.py:244
+#, python-format
+msgid "multiple fixed_ips exist, using the first: %s"
+msgstr "mehrere fixed_ips vorhanden, die erste wird benutzt: %s"
+
+#: nova/api/ec2/cloud.py:1169
+msgid "Floating ip is already associated."
+msgstr "Floating IP ist bereits vergeben"
+
+#: nova/api/ec2/cloud.py:1172
+msgid "l3driver call to add floating ip failed."
+msgstr "l3driver-Aufruf, um floating IP hinzuzufügen, ist fehlgeschlagen"
+
+#: nova/api/ec2/cloud.py:1175
+msgid "Error, unable to associate floating ip."
+msgstr "Fehler, floating IP lässt sich nicht zuweisen"
+
+#: nova/api/ec2/cloud.py:1183
+#, python-format
+msgid "Disassociate address %s"
+msgstr "Zuweisung der Adresse %s lösen"
+
+#: nova/api/ec2/cloud.py:1188
+msgid "Floating ip is not associated."
+msgstr "Floating IP ist nicht zugewiesen"
+
+#: nova/api/ec2/cloud.py:1215
+msgid "Image must be available"
+msgstr "Image muss verfügbar sein."
+
+#: nova/api/ec2/cloud.py:1247
+msgid "Going to start terminating instances"
+msgstr "Instanzen werden beendet werden"
+
+#: nova/api/ec2/cloud.py:1257
+#, python-format
+msgid "Reboot instance %r"
+msgstr "Instanz %r wird neu gestartet"
+
+#: nova/api/ec2/cloud.py:1266
+msgid "Going to stop instances"
+msgstr "Instanzen werden angehalten werden"
+
+#: nova/api/ec2/cloud.py:1275
+msgid "Going to start instances"
+msgstr "Instanzen werden gestartet werden"
+
+#: nova/api/ec2/cloud.py:1366
+#, python-format
+msgid "De-registering image %s"
+msgstr "Registrierung für Image %s wird aufgehoben"
+
+#: nova/api/ec2/cloud.py:1382
+msgid "imageLocation is required"
+msgstr "imageLocation benötigt"
+
+#: nova/api/ec2/cloud.py:1401
+#, python-format
+msgid "Registered image %(image_location)s with id %(image_id)s"
+msgstr "Image %(image_location)s mit ID %(image_id)s registriert"
+
+#: nova/api/ec2/cloud.py:1463
+msgid "user or group not specified"
+msgstr "Benutzer oder Gruppe nicht angegeben"
+
+#: nova/api/ec2/cloud.py:1465
+msgid "only group \"all\" is supported"
+msgstr "nur die Gruppe »all« wird unterstützt"
+
+#: nova/api/ec2/cloud.py:1467
+msgid "operation_type must be add or remove"
+msgstr "operation_type muss »add« oder »remove« sein"
+
+#: nova/api/ec2/cloud.py:1469
+#, python-format
+msgid "Updating image %s publicity"
+msgstr "Image-Öffentlichkeit %s wird aktualisiert"
+
+#: nova/api/ec2/cloud.py:1482
+#, python-format
+msgid "Not allowed to modify attributes for image %s"
+msgstr "Die Änderung der Attribute für Image %s ist nicht erlaubt."
+
+#: nova/api/ec2/cloud.py:1511
+#, python-format
+msgid ""
+"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
+"have a volume attached at root (%(root)s)"
+msgstr ""
+"Unzulässiger Wert »%(ec2_instance_id)s« für instanceId; Instanz hat kein "
+"Volume, das an der Wurzel (%(root)s) angeschlossen ist."
+
+#: nova/api/ec2/cloud.py:1541
+#, python-format
+msgid "Couldn't stop instance with in %d sec"
+msgstr "Instanz konnte nicht innerhalb von %d Sekunden gestoppt werden"
+
+#: nova/api/ec2/cloud.py:1559
+#, python-format
+msgid "image of %(instance)s at %(now)s"
+msgstr "Image von %(instance)s unter %(now)s"
+
+#: nova/api/ec2/cloud.py:1592
+msgid "Invalid CIDR"
+msgstr "Ungültiges CIDR"
+
+#: nova/api/metadata/handler.py:77 nova/api/metadata/handler.py:84
+#, python-format
+msgid "Failed to get metadata for ip: %s"
+msgstr "Metadaten für IP konnten nicht geholt werden: %s"
+
+#: nova/api/openstack/__init__.py:51
+#, python-format
+msgid "Caught error: %s"
+msgstr "Fehler erhalten: %s"
+
+#: nova/api/openstack/__init__.py:60 nova/api/openstack/wsgi.py:968
+#, python-format
+msgid "%(url)s returned with HTTP %(status)d"
+msgstr "%(url)s mit HTTP-Status %(status)d zurückgegeben"
+
+#: nova/api/openstack/__init__.py:126
+msgid "Must specify an ExtensionManager class"
+msgstr "Es muss eine ExtensionManager-Klasse festgelegt werden"
+
+#: nova/api/openstack/__init__.py:137
+#, python-format
+msgid "Extended resource: %s"
+msgstr "Erweiterte Ressource: %s"
+
+#: nova/api/openstack/__init__.py:168
+#, python-format
+msgid ""
+"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
+"resource"
+msgstr ""
+"Erweiterung %(ext_name)s: Ressource %(collection)s kann nicht erweitert "
+"werden: keine solche Ressource"
+
+#: nova/api/openstack/__init__.py:173
+#, python-format
+msgid "Extension %(ext_name)s extending resource: %(collection)s"
+msgstr "Erweiterung %(ext_name)s erweitert Ressource: %(collection)s"
+
+#: nova/api/openstack/common.py:99
+#, python-format
+msgid ""
+"status is UNKNOWN from vm_state=%(vm_state)s task_state=%(task_state)s. "
+"Bad upgrade or db corrupted?"
+msgstr ""
+"Status von vm_state=%(vm_state)s task_state=%(task_state)s ist UNBEKANNT; "
+"Upgrade schief gelaufen oder Datenbank beschädigt?"
+
+#: nova/api/openstack/common.py:138 nova/api/openstack/common.py:172
+msgid "limit param must be an integer"
+msgstr "Limit-Parameter muss eine Ganzzahl sein"
+
+#: nova/api/openstack/common.py:141 nova/api/openstack/common.py:176
+msgid "limit param must be positive"
+msgstr "Limit-Parameter muss positiv sein"
+
+#: nova/api/openstack/common.py:166
+msgid "offset param must be an integer"
+msgstr "Offset-Parameter muss eine Ganzzahl sein"
+
+#: nova/api/openstack/common.py:180
+msgid "offset param must be positive"
+msgstr "Offset-Parameter muss positiv sein"
+
+#: nova/api/openstack/common.py:215 nova/api/openstack/compute/servers.py:538
+#, python-format
+msgid "marker [%s] not found"
+msgstr "Marker [%s] nicht gefunden"
+
+#: nova/api/openstack/common.py:255
+#, python-format
+msgid "href %s does not contain version"
+msgstr "href %s enthält keine Versionsbezeichnung"
+
+#: nova/api/openstack/common.py:270
+msgid "Image metadata limit exceeded"
+msgstr "Begrenzung der Image-Metadaten überschritten"
+
+#: nova/api/openstack/common.py:278
+msgid "Image metadata key cannot be blank"
+msgstr "Schlüssel für Image-Metadaten kann nicht leer sein"
+
+#: nova/api/openstack/common.py:281
+msgid "Image metadata key too long"
+msgstr "Schlüssel für Image-Metadaten zu lang"
+
+#: nova/api/openstack/common.py:284
+msgid "Invalid image metadata"
+msgstr "Unzulässige Image-Metadaten"
+
+#: nova/api/openstack/common.py:335
+#, python-format
+msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
+msgstr ""
+"»%(action)s« kann nicht durchgeführt werden, während sich die Instanz im %"
+"(state)s %(attr)s befindet"
+
+#: nova/api/openstack/common.py:338
+#, python-format
+msgid "Instance is in an invalid state for '%(action)s'"
+msgstr "Instanz ist in einem unzulässigen Zustand für »%(action)s«"
+
+#: nova/api/openstack/common.py:418
+msgid "Rejecting snapshot request, snapshots currently disabled"
+msgstr ""
+"Schnappschuss-Anfrage abgelehnt, Schnappschüsse sind zur Zeit abgeschaltet"
+
+#: nova/api/openstack/common.py:420
+msgid "Instance snapshots are not permitted at this time."
+msgstr "Instanz-Schnappschüsse sind zur Zeit nicht erlaubt"
+
+#: nova/api/openstack/extensions.py:201
+#, python-format
+msgid "Loaded extension: %s"
+msgstr "Erweiterung geladen: %s"
+
+#: nova/api/openstack/extensions.py:240
+#, python-format
+msgid "Ext name: %s"
+msgstr "Erweiterungs-Name: %s"
+
+#: nova/api/openstack/extensions.py:241
+#, python-format
+msgid "Ext alias: %s"
+msgstr "Erweiterungs-Alias: %s"
+
+#: nova/api/openstack/extensions.py:242
+#, python-format
+msgid "Ext description: %s"
+msgstr "Erweiterungs-Beschreibung: %s"
+
+#: nova/api/openstack/extensions.py:244
+#, python-format
+msgid "Ext namespace: %s"
+msgstr "Erweiterungs-Namensraum: %s"
+
+#: nova/api/openstack/extensions.py:245
+#, python-format
+msgid "Ext updated: %s"
+msgstr "Erweiterung aktualisiert: %s"
+
+#: nova/api/openstack/extensions.py:247
+#, python-format
+msgid "Exception loading extension: %s"
+msgstr "Ausnahme beim Laden der Erweiterung: %s"
+
+#: nova/api/openstack/extensions.py:261
+#, python-format
+msgid "Loading extension %s"
+msgstr "Erweiterung %s wird geladen"
+
+#: nova/api/openstack/extensions.py:270
+#, python-format
+msgid "Calling extension factory %s"
+msgstr "Extension Factory %s wird aufgerufen"
+
+#: nova/api/openstack/extensions.py:282
+#, python-format
+msgid "Failed to load extension %(ext_factory)s: %(exc)s"
+msgstr "Laden der Erweiterung %(ext_factory)s fehlgeschlagen: %(exc)s"
+
+#: nova/api/openstack/extensions.py:363
+#, python-format
+msgid "Failed to load extension %(classpath)s: %(exc)s"
+msgstr "Laden der Erweiterung %(classpath)s fehlgeschlagen: %(exc)s"
+
+#: nova/api/openstack/extensions.py:387
+#, python-format
+msgid "Failed to load extension %(ext_name)s: %(exc)s"
+msgstr "Laden der Erweiterung %(ext_name)s fehlgeschlagen: %(exc)s"
+
+#: nova/api/openstack/wsgi.py:199 nova/api/openstack/wsgi.py:610
+msgid "cannot understand JSON"
+msgstr "JSON ist unverständlich"
+
+#: nova/api/openstack/wsgi.py:223
+#: nova/api/openstack/compute/contrib/hosts.py:85
+msgid "cannot understand XML"
+msgstr "XML ist unverständlich"
+
+#: nova/api/openstack/wsgi.py:615
+msgid "too many body keys"
+msgstr "zu viele Body-Schlüssel"
+
+#: nova/api/openstack/wsgi.py:658
+#, python-format
+msgid "Exception handling resource: %s"
+msgstr "Ausnahme beim Hantieren mit Ressource: %s"
+
+#: nova/api/openstack/wsgi.py:662
+#, python-format
+msgid "Fault thrown: %s"
+msgstr "Störung aufgetreten: %s"
+
+#: nova/api/openstack/wsgi.py:665
+#, python-format
+msgid "HTTP exception thrown: %s"
+msgstr "HTTP-Ausnahme aufgetreten: %s"
+
+#: nova/api/openstack/wsgi.py:779
+msgid "Unrecognized Content-Type provided in request"
+msgstr "Nicht erkannten Inhaltstyp in Anfrage angegeben"
+
+#: nova/api/openstack/wsgi.py:783
+msgid "No Content-Type provided in request"
+msgstr "Kein Inhaltstyp in Anfrage angegeben"
+
+#: nova/api/openstack/wsgi.py:787
+msgid "Empty body provided in request"
+msgstr "Leerer Rumpf in Anfrage angegeben"
+
+#: nova/api/openstack/wsgi.py:898
+#, python-format
+msgid "There is no such action: %s"
+msgstr "Aktion nicht vorhanden: %s"
+
+#: nova/api/openstack/wsgi.py:901 nova/api/openstack/wsgi.py:914
+#: nova/api/openstack/compute/server_metadata.py:58
+#: nova/api/openstack/compute/server_metadata.py:76
+#: nova/api/openstack/compute/server_metadata.py:101
+#: nova/api/openstack/compute/server_metadata.py:126
+#: nova/api/openstack/compute/contrib/admin_actions.py:215
+msgid "Malformed request body"
+msgstr "Fehlerhafter Anfragerumpf"
+
+#: nova/api/openstack/wsgi.py:911
+msgid "Unsupported Content-Type"
+msgstr "Nicht unterstützter Inhaltstyp"
+
+#: nova/api/openstack/wsgi.py:923
+msgid "Malformed request url"
+msgstr "Fehlerhafter Anfrage-URL"
+
+#: nova/api/openstack/wsgi.py:971
+#, python-format
+msgid "%(url)s returned a fault: %(e)s"
+msgstr "%(url)s hat eine Störung zurückgegeben: %(e)s"
+
+#: nova/api/openstack/xmlutil.py:265
+msgid "element is not a child"
+msgstr "Element ist kein Kindelement"
+
+#: nova/api/openstack/xmlutil.py:414
+msgid "root element selecting a list"
+msgstr "Liste als Wurzelelement ausgewählt"
+
+#: nova/api/openstack/xmlutil.py:739
+#, python-format
+msgid "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)s"
+msgstr ""
+"Diskrepanz im Vorlagenbaum; Slave %(slavetag)s wird dem Master %(mastertag)s "
+"hinzugefügt"
+
+#: nova/api/openstack/xmlutil.py:858
+msgid "subclasses must implement construct()!"
+msgstr "Unterklassen müssen construct() implementieren!"
+
+#: nova/api/openstack/compute/extensions.py:30
+#: nova/api/openstack/volume/extensions.py:29
+msgid "Initializing extension manager."
+msgstr "Erweiterungs-Verwaltung wird initialisiert …"
+
+#: nova/api/openstack/compute/flavors.py:111
+#, python-format
+msgid "Invalid is_public filter [%s]"
+msgstr "Unzulässiger is_public-Filter [%s]"
+
+#: nova/api/openstack/compute/flavors.py:130
+#, python-format
+msgid "Invalid minRam filter [%s]"
+msgstr "Unzulässiger minRam-Filter [%s]"
+
+#: nova/api/openstack/compute/flavors.py:137
+#, python-format
+msgid "Invalid minDisk filter [%s]"
+msgstr "Unzulässiger minDisk-Filter [%s]"
+
+#: nova/api/openstack/compute/image_metadata.py:40
+#: nova/api/openstack/compute/images.py:146
+#: nova/api/openstack/compute/images.py:161
+msgid "Image not found."
+msgstr "Image nicht gefunden"
+
+#: nova/api/openstack/compute/image_metadata.py:80
+msgid "Incorrect request body format"
+msgstr "Falsches Format des Anfragerumpf"
+
+#: nova/api/openstack/compute/image_metadata.py:84
+#: nova/api/openstack/compute/server_metadata.py:80
+#: nova/api/openstack/compute/contrib/flavorextraspecs.py:79
+#: nova/api/openstack/compute/contrib/volumetypes.py:174
+#: nova/api/openstack/volume/contrib/types_extra_specs.py:101
+msgid "Request body and URI mismatch"
+msgstr "URI und Anfragerumpf passen nicht zusammen."
+
+#: nova/api/openstack/compute/image_metadata.py:87
+#: nova/api/openstack/compute/server_metadata.py:84
+#: nova/api/openstack/compute/contrib/flavorextraspecs.py:82
+#: nova/api/openstack/compute/contrib/volumetypes.py:177
+#: nova/api/openstack/volume/contrib/types_extra_specs.py:104
+msgid "Request body contains too many items"
+msgstr "Anfragerumpf enthält zu viele Objekte"
+
+#: nova/api/openstack/compute/image_metadata.py:113
+msgid "Invalid metadata key"
+msgstr "Unzulässiger Medataten-Schlüssel"
+
+#: nova/api/openstack/compute/ips.py:74
+msgid "Instance does not exist"
+msgstr "Instanz existiert nicht"
+
+#: nova/api/openstack/compute/ips.py:97
+msgid "Instance is not a member of specified network"
+msgstr "Instanz ist kein Mitglied des angegebenen Netzwerks"
+
+#: nova/api/openstack/compute/limits.py:145
+#, python-format
+msgid ""
+"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
+"%(unit_string)s."
+msgstr ""
+"Für %(uri)s können nur %(value)s %(verb)s Anfrage(n) je %(unit_string)s "
+"gestellt werden."
+
+#: nova/api/openstack/compute/limits.py:271
+msgid "This request was rate-limited."
+msgstr "Diese Anfrage wurde in der Häufigkeit begrenzt."
+
+#: nova/api/openstack/compute/server_metadata.py:38
+#: nova/api/openstack/compute/server_metadata.py:122
+#: nova/api/openstack/compute/server_metadata.py:163
+msgid "Server does not exist"
+msgstr "Server existiert nicht"
+
+#: nova/api/openstack/compute/server_metadata.py:145
+#: nova/api/openstack/compute/server_metadata.py:156
+msgid "Metadata item was not found"
+msgstr "Metadaten-Objekt wurde nicht gefunden"
+
+#: nova/api/openstack/compute/servers.py:446
+#: nova/api/openstack/compute/servers.py:458
+#: nova/api/openstack/compute/servers.py:554
+#: nova/api/openstack/compute/servers.py:710
+#: nova/api/openstack/compute/servers.py:959
+#: nova/api/openstack/compute/servers.py:1062
+#: nova/api/openstack/compute/servers.py:1212
+msgid "Instance could not be found"
+msgstr "Instanz konnte nicht gefunden werden"
+
+#: nova/api/openstack/compute/servers.py:490
+#, python-format
+msgid "Invalid server status: %(status)s"
+msgstr "Unzulässiger Server-Status: %(status)s"
+
+#: nova/api/openstack/compute/servers.py:498
+msgid "Invalid changes-since value"
+msgstr "Unzulässiger Wert von Änderungen-Seit"
+
+#: nova/api/openstack/compute/servers.py:517
+msgid "Only administrators may list deleted instances"
+msgstr "Nur Administratoren dürfen gelöschte Instanzen auflisten"
+
+#: nova/api/openstack/compute/servers.py:561
+msgid "Server name is not a string or unicode"
+msgstr "Server-Name ist keine Zeichenkette oder Unicode"
+
+#: nova/api/openstack/compute/servers.py:565
+msgid "Server name is an empty string"
+msgstr "Server-Name ist eine leere Zeichenkette"
+
+#: nova/api/openstack/compute/servers.py:569
+msgid "Server name must be less than 256 characters."
+msgstr "Server-Name darf höchstens 255 Zeichen lang sein"
+
+#: nova/api/openstack/compute/servers.py:586
+#, python-format
+msgid "Bad personality format: missing %s"
+msgstr "Falsches Personalitäts-Format: %s fehlt"
+
+#: nova/api/openstack/compute/servers.py:589
+msgid "Bad personality format"
+msgstr "Falsches Personalitäts-Format"
+
+#: nova/api/openstack/compute/servers.py:593
+#, python-format
+msgid "Personality content for %s cannot be decoded"
+msgstr "Personalitäts-Inhalt für %s kann nicht dekodiert werden"
+
+#: nova/api/openstack/compute/servers.py:612
+msgid "Unknown argment : port"
+msgstr "Unbekanntes Argument: port"
+
+#: nova/api/openstack/compute/servers.py:615
+#, python-format
+msgid "Bad port format: port uuid is not in proper format (%s)"
+msgstr "Falsches Port-Format: Port-UUID ist nicht im richtigen Format (%s)"
+
+#: nova/api/openstack/compute/servers.py:625
+#, python-format
+msgid "Bad networks format: network uuid is not in proper format (%s)"
+msgstr ""
+"Falsches Netzwerk-Format: Netzwerk-UUID ist nicht im richtigen Format (%s)"
+
+#: nova/api/openstack/compute/servers.py:635
+#, python-format
+msgid "Invalid fixed IP address (%s)"
+msgstr "Unzulässige feste IP-Adresse (%s)"
+
+#: nova/api/openstack/compute/servers.py:648
+#, python-format
+msgid "Duplicate networks (%s) are not allowed"
+msgstr "Doppelte Netzwerke (%s) sind nicht erlaubt"
+
+#: nova/api/openstack/compute/servers.py:654
+#, python-format
+msgid "Bad network format: missing %s"
+msgstr "Falsches Netzwerk-Format: %s fehlt"
+
+#: nova/api/openstack/compute/servers.py:657
+msgid "Bad networks format"
+msgstr "Falsches Netzwerk-Format"
+
+#: nova/api/openstack/compute/servers.py:683
+msgid "Userdata content cannot be decoded"
+msgstr "Inhalt der Benutzerdaten kann nicht dekodiert werden"
+
+#: nova/api/openstack/compute/servers.py:690
+msgid "accessIPv4 is not proper IPv4 format"
+msgstr "accessIPv4 ist nicht im richtigen IPv4-Format"
+
+#: nova/api/openstack/compute/servers.py:697
+msgid "accessIPv6 is not proper IPv6 format"
+msgstr "accessIPv6 ist nicht im richtigen IPv6-Format"
+
+#: nova/api/openstack/compute/servers.py:726
+msgid "Server name is not defined"
+msgstr "Server-Name ist nicht angegeben"
+
+#: nova/api/openstack/compute/servers.py:775
+#: nova/api/openstack/compute/servers.py:875
+msgid "Invalid flavorRef provided."
+msgstr "Unzulässige flavorRef angegeben"
+
+#: nova/api/openstack/compute/servers.py:811
+msgid "min_count must be an integer value"
+msgstr "min_count muss einen ganzzahligen Wert haben"
+
+#: nova/api/openstack/compute/servers.py:814
+msgid "min_count must be > 0"
+msgstr "min_count muss > 0 sein"
+
+#: nova/api/openstack/compute/servers.py:819
+msgid "max_count must be an integer value"
+msgstr "max_count muss einen ganzzahligen Wert haben"
+
+#: nova/api/openstack/compute/servers.py:822
+msgid "max_count must be > 0"
+msgstr "max_count muss > 0 sein"
+
+#: nova/api/openstack/compute/servers.py:825
+msgid "min_count must be <= max_count"
+msgstr "min_count muss <= max_count sein"
+
+#: nova/api/openstack/compute/servers.py:872
+msgid "Can not find requested image"
+msgstr "Angefragtes Image kann nicht gefunden werden"
+
+#: nova/api/openstack/compute/servers.py:878
+msgid "Invalid key_name provided."
+msgstr "Unzulässiger key_name angegeben"
+
+#: nova/api/openstack/compute/servers.py:951
+msgid "HostId cannot be updated."
+msgstr "HostId kann nicht aktualisiert werden"
+
+#: nova/api/openstack/compute/servers.py:977
+#: nova/api/openstack/compute/servers.py:997
+msgid "Instance has not been resized."
+msgstr "Größe der Instanz wurde nicht geändert"
+
+#: nova/api/openstack/compute/servers.py:983
+#, python-format
+msgid "Error in confirm-resize %s"
+msgstr "Fehler in Größenänderungs-Bestätigung %s"
+
+#: nova/api/openstack/compute/servers.py:1003
+#, python-format
+msgid "Error in revert-resize %s"
+msgstr "Fehler in Größenänderungs-Rücknahme %s"
+
+#: nova/api/openstack/compute/servers.py:1016
+msgid "Argument 'type' for reboot is not HARD or SOFT"
+msgstr "Argument »type« für Neustart ist nicht HARD oder SOFT"
+
+#: nova/api/openstack/compute/servers.py:1020
+msgid "Missing argument 'type' for reboot"
+msgstr "Fehlendes Argument »type« für Neustart"
+
+#: nova/api/openstack/compute/servers.py:1033
+#, python-format
+msgid "Error in reboot %s"
+msgstr "Fehler beim Neustart %s"
+
+#: nova/api/openstack/compute/servers.py:1045
+msgid "Unable to locate requested flavor."
+msgstr "Angefragte Variante lässt sich nicht lokalisieren"
+
+#: nova/api/openstack/compute/servers.py:1048
+msgid "Resize requires a flavor change."
+msgstr "Größenänderung setzt eine Variantenänderung voraus"
+
+#: nova/api/openstack/compute/servers.py:1072
+msgid "Missing imageRef attribute"
+msgstr "Fehlendes imageRef-Attribut"
+
+#: nova/api/openstack/compute/servers.py:1081
+#: nova/api/openstack/volume/volumes.py:263
+#: nova/api/openstack/volume/volumes.py:267
+msgid "Invalid imageRef provided."
+msgstr "Unzulässige imageRef angegeben"
+
+#: nova/api/openstack/compute/servers.py:1090
+msgid "Missing flavorRef attribute"
+msgstr "Fehlendes flavorRef-Attribut"
+
+#: nova/api/openstack/compute/servers.py:1103
+msgid "No adminPass was specified"
+msgstr "Es wurde kein adminPass angegeben"
+
+#: nova/api/openstack/compute/servers.py:1107
+#: nova/api/openstack/compute/servers.py:1307
+msgid "Invalid adminPass"
+msgstr "Unzulässiges adminPass"
+
+#: nova/api/openstack/compute/servers.py:1118
+msgid "Unable to parse metadata key/value pairs."
+msgstr "Schlüssel/Wert-Paare der Metadaten lassen sich nicht verarbeiten"
+
+#: nova/api/openstack/compute/servers.py:1131
+msgid "Resize request has invalid 'flavorRef' attribute."
+msgstr "Größenänderungs-Anfrage hat ein unzulässiges »flavorRef«-Attribut"
+
+#: nova/api/openstack/compute/servers.py:1134
+msgid "Resize requests require 'flavorRef' attribute."
+msgstr "Größenänderungs-Anfragen setzen ein »flavorRef«-Attribut vorau."
+
+#: nova/api/openstack/compute/servers.py:1152
+#: nova/api/openstack/compute/contrib/aggregates.py:142
+#: nova/api/openstack/compute/contrib/keypairs.py:78
+#: nova/api/openstack/compute/contrib/networks.py:75
+#: nova/api/openstack/volume/contrib/volume_actions.py:86
+msgid "Invalid request body"
+msgstr "Unzulässiger Anfragerumpf"
+
+#: nova/api/openstack/compute/servers.py:1157
+msgid "Could not parse imageRef from request."
+msgstr "imageRef aus Anfrage konnte nicht ausgewertet werden"
+
+#: nova/api/openstack/compute/servers.py:1217
+msgid "Cannot find image for rebuild"
+msgstr "Image für Neubau kann nicht gefunden werden"
+
+#: nova/api/openstack/compute/servers.py:1250
+msgid "createImage entity requires name attribute"
+msgstr "Entität createImage benötigt ein name-Attribut"
+
+#: nova/api/openstack/compute/servers.py:1334
+#, python-format
+msgid "Removing options '%(unk_opt_str)s' from query"
+msgstr "»%(unk_opt_str)s«-Optionen werden aus Abfrage entfernt"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:64
+#, python-format
+msgid "Compute.api::pause %s"
+msgstr "Compute.api::pause %s"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:81
+#, python-format
+msgid "Compute.api::unpause %s"
+msgstr "Compute.api::unpause %s"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:98
+#, python-format
+msgid "compute.api::suspend %s"
+msgstr "compute.api::suspend %s"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:115
+#, python-format
+msgid "compute.api::resume %s"
+msgstr "compute.api::resume %s"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:131
+#, python-format
+msgid "Error in migrate %s"
+msgstr "Fehler bei Migration %s"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:145
+#, python-format
+msgid "Compute.api::reset_network %s"
+msgstr "Compute.api::reset_network %s"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:158
+#: nova/api/openstack/compute/contrib/admin_actions.py:174
+#: nova/api/openstack/compute/contrib/admin_actions.py:190
+#: nova/api/openstack/compute/contrib/admin_actions.py:312
+#: nova/api/openstack/compute/contrib/multinic.py:41
+#: nova/api/openstack/compute/contrib/rescue.py:44
+msgid "Server not found"
+msgstr "Server nicht gefunden"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:161
+#, python-format
+msgid "Compute.api::inject_network_info %s"
+msgstr "Compute.api::inject_network_info %s"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:177
+#, python-format
+msgid "Compute.api::lock %s"
+msgstr "Compute.api::lock %s"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:193
+#, python-format
+msgid "Compute.api::unlock %s"
+msgstr "Compute.api::unlock %s"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:223
+#, python-format
+msgid "createBackup entity requires %s attribute"
+msgstr "Entität createBackup erfordert %s-Attribut"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:227
+msgid "Malformed createBackup entity"
+msgstr "Fehlerhafte createBackup-Entität"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:233
+msgid "createBackup attribute 'rotation' must be an integer"
+msgstr "createBackup-Attribut »rotation« muss ganzzahlig sein"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:248
+#: nova/api/openstack/compute/contrib/console_output.py:47
+#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
+#: nova/api/openstack/compute/contrib/server_start_stop.py:38
+msgid "Instance not found"
+msgstr "Instanz nicht gefunden"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:276
+msgid "host and block_migration must be specified."
+msgstr "host und block_migration müssen angegeben werden"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:284
+#, python-format
+msgid "Live migration of instance %(id)s to host %(host)s failed"
+msgstr "Live-Migration der Instanz %(id)s auf Host %(host)s ist fehlgeschlagen"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:302
+#, python-format
+msgid "Desired state must be specified. Valid states are: %s"
+msgstr "Der gewünschte Status muss angegeben werden. Zulässige Statu ssind: %s"
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:315
+#, python-format
+msgid "Compute.api::resetState %s"
+msgstr "Compute.api::resetState %s"
+
+#: nova/api/openstack/compute/contrib/aggregates.py:76
+#, python-format
+msgid ""
+"Cannot create aggregate with name %(name)s and availability zone "
+"%(avail_zone)s"
+msgstr ""
+"Aggregat mit Namen %(name)s und Verfügbarkeitszone %(avail_zone)s kann nicht "
+"erzeugt werden"
+
+#: nova/api/openstack/compute/contrib/aggregates.py:88
+#, python-format
+msgid "Cannot show aggregate: %(id)s"
+msgstr "Aggregat kann nicht angezeigt werden: %(id)s"
+
+#: nova/api/openstack/compute/contrib/aggregates.py:114
+#, python-format
+msgid "Cannot update aggregate: %(id)s"
+msgstr "Aggregat kann nicht aktualisiert werden: %(id)s"
+
+#: nova/api/openstack/compute/contrib/aggregates.py:126
+#, python-format
+msgid "Cannot delete aggregate: %(id)s"
+msgstr "Aggregat kann nicht gelöscht werden: %(id)s"
+
+#: nova/api/openstack/compute/contrib/aggregates.py:139
+#, python-format
+msgid "Aggregates does not have %s action"
+msgstr "Aggregat hat keine Aktion %s"
+
+#: nova/api/openstack/compute/contrib/aggregates.py:152
+#: nova/api/openstack/compute/contrib/aggregates.py:157
+#, python-format
+msgid "Cannot add host %(host)s in aggregate %(id)s"
+msgstr "Host %(host)s kann dem Aggregat %(id)s nicht hinzugefügt werden"
+
+#: nova/api/openstack/compute/contrib/aggregates.py:170
+#: nova/api/openstack/compute/contrib/aggregates.py:174
+#, python-format
+msgid "Cannot remove host %(host)s in aggregate %(id)s"
+msgstr "Host %(host)s kann nicht aus dem Aggregat %(id)s entfernt werden"
+
+#: nova/api/openstack/compute/contrib/aggregates.py:194
+#, python-format
+msgid "Cannot set metadata %(metadata)s in aggregate %(id)s"
+msgstr "Metadaten %(metadata)s in Aggregat %(id)s können nicht gesetzt werden"
+
+#: nova/api/openstack/compute/contrib/certificates.py:76
+msgid "Only root certificate can be retrieved."
+msgstr "Nur das Root-Zertifkat kann abgerufen werden"
+
+#: nova/api/openstack/compute/contrib/cloudpipe.py:142
+msgid ""
+"Unable to claim IP for VPN instances, ensure it isn't running, and try "
+"again in a few minutes"
+msgstr ""
+"Die IP für VPN-Instanzen kann nicht beansprucht werden; stellen Sie sicher, "
+"dass es nicht läuft und versuchen Sie es in ein paar Minuten wieder"
+
+#: nova/api/openstack/compute/contrib/console_output.py:52
+msgid "os-getConsoleOutput malformed or missing from request body"
+msgstr "os-getConsoleOutput fehlerhaft oder fehlt im Anfragerumpf"
+
+#: nova/api/openstack/compute/contrib/console_output.py:59
+msgid "Length in request body must be an integer value"
+msgstr "Länge im Anfragerumpf muss ganzzahlig sein"
+
+#: nova/api/openstack/compute/contrib/console_output.py:67
+msgid "Unable to get console"
+msgstr "Konsole kann nicht geholt werden"
+
+#: nova/api/openstack/compute/contrib/disk_config.py:43
+#, python-format
+msgid "%s must be either 'MANUAL' or 'AUTO'."
+msgstr "%s muss entweder »MANUAL« oder »AUTO« sein"
+
+#: nova/api/openstack/compute/contrib/flavor_access.py:80
+#: nova/api/openstack/compute/contrib/flavor_access.py:104
+msgid "Flavor not found."
+msgstr "Variante nicht gefunden"
+
+#: nova/api/openstack/compute/contrib/flavor_access.py:109
+msgid "Access list not available for public flavors."
+msgstr "Zugriffsliste für öffentliche Varianten nicht verfügbar"
+
+#: nova/api/openstack/compute/contrib/flavor_access.py:121
+msgid "No request body"
+msgstr "Kein Anfragerumpf"
+
+#: nova/api/openstack/compute/contrib/flavorextraspecs.py:49
+#: nova/api/openstack/compute/contrib/volumetypes.py:147
+msgid "No Request Body"
+msgstr "Kein Anfragerumpf"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Floating ip is not associated"
+msgstr "Floating IP ist nicht zugewiesen"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:175
+#, python-format
+msgid "No more floating ips in pool %s."
+msgstr "Keine floating IPs mehr im Pool %s"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:177
+msgid "No more floating ips available."
+msgstr "Keine weiteren floating IPs verfügbar"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:221
+#: nova/api/openstack/compute/contrib/floating_ips.py:273
+#: nova/api/openstack/compute/contrib/security_groups.py:416
+msgid "Missing parameter dict"
+msgstr "Fehlender Parameter dict"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:224
+#: nova/api/openstack/compute/contrib/floating_ips.py:276
+msgid "Address not specified"
+msgstr "Adresse nicht angegeben"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:231
+msgid "No nw_info cache associated with instance"
+msgstr "Der Instanz ist kein nw_info-Cache zugewiesen"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:236
+msgid "No fixed ips associated to instance"
+msgstr "Der Instanz sind keine festen IPs zugewiesen"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:252
+msgid "floating ip is already associated"
+msgstr "floating IP ist bereits zugewiesen"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:255
+msgid "l3driver call to add floating ip failed"
+msgstr "l3driver-Aufruf, um floating IP hinzuzufügen, ist fehlgeschlagen"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:258
+msgid "Error. Unable to associate floating ip"
+msgstr "Fehler, floating IP lässt sich nicht zuweisen"
+
+#: nova/api/openstack/compute/contrib/hosts.py:119
+#, python-format
+msgid "Host '%s' could not be found."
+msgstr "Host »%s« konnte nicht gefunden werden"
+
+#: nova/api/openstack/compute/contrib/hosts.py:148
+#, python-format
+msgid "Invalid status: '%s'"
+msgstr "Unzulässiger Status: »%s«"
+
+#: nova/api/openstack/compute/contrib/hosts.py:152
+#, python-format
+msgid "Invalid mode: '%s'"
+msgstr "Unzulässiger Modus: »%s«"
+
+#: nova/api/openstack/compute/contrib/hosts.py:156
+#, python-format
+msgid "Invalid update setting: '%s'"
+msgstr "Unzulässige Aktualisierungs-Einstellung: »%s«"
+
+#: nova/api/openstack/compute/contrib/hosts.py:174
+#, python-format
+msgid "Putting host %(host)s in maintenance mode %(mode)s."
+msgstr "Host %(host)s wird in Wartungsmodus %(mode)s versetzt"
+
+#: nova/api/openstack/compute/contrib/hosts.py:185
+#, python-format
+msgid "Setting host %(host)s to %(state)s."
+msgstr "Host %(host)s wird auf %(state)s gesetzt"
+
+#: nova/api/openstack/compute/contrib/hosts.py:232
+msgid "Describe-resource is admin only functionality"
+msgstr "Describe-resource ist Administratoren vorbehalten"
+
+#: nova/api/openstack/compute/contrib/hosts.py:240
+msgid "Host not found"
+msgstr "Host nicht gefunden"
+
+#: nova/api/openstack/compute/contrib/hypervisors.py:184
+#: nova/api/openstack/compute/contrib/hypervisors.py:195
+#, python-format
+msgid "Hypervisor with ID '%s' could not be found."
+msgstr "Hypervisor mit ID »%s« konnte nicht gefunden werden"
+
+#: nova/api/openstack/compute/contrib/hypervisors.py:203
+msgid "Virt driver does not implement uptime function."
+msgstr "Virtualisierungstreiber implementiert Uptime-Funktion nicht"
+
+#: nova/api/openstack/compute/contrib/hypervisors.py:218
+#: nova/api/openstack/compute/contrib/hypervisors.py:232
+#, python-format
+msgid "No hypervisor matching '%s' could be found."
+msgstr "Kein Hypervisor gefunden, auf den »%s« zutrifft"
+
+#: nova/api/openstack/compute/contrib/instance_usage_audit_log.py:54
+#, python-format
+msgid "Invalid timestamp for date %s"
+msgstr "Unzulässiger Zeitstempel für Datum %s"
+
+#: nova/api/openstack/compute/contrib/multinic.py:52
+msgid "Missing 'networkId' argument for addFixedIp"
+msgstr "Fehlendes »networkId«-Argument bei addFixedIp"
+
+#: nova/api/openstack/compute/contrib/multinic.py:68
+msgid "Missing 'address' argument for removeFixedIp"
+msgstr "Fehlendes »address«-Argument bei removeFixedIp"
+
+#: nova/api/openstack/compute/contrib/multinic.py:77
+#, python-format
+msgid "Unable to find address %r"
+msgstr "Adresse %r kann nicht gefunden werden"
+
+#: nova/api/openstack/compute/contrib/networks.py:72
+#, python-format
+msgid "Network does not have %s action"
+msgstr "Netzwerk hat keine Aktion %s"
+
+#: nova/api/openstack/compute/contrib/networks.py:80
+#, python-format
+msgid "Disassociating network with id %s"
+msgstr "Zuweisung des Netzwerks zur ID %s wird aufgehoben"
+
+#: nova/api/openstack/compute/contrib/networks.py:84
+#: nova/api/openstack/compute/contrib/networks.py:101
+#: nova/api/openstack/compute/contrib/networks.py:111
+msgid "Network not found"
+msgstr "Netzwerk nicht gefunden"
+
+#: nova/api/openstack/compute/contrib/networks.py:97
+#, python-format
+msgid "Showing network with id %s"
+msgstr "Netzwerk mit ID %s wird angezeigt"
+
+#: nova/api/openstack/compute/contrib/networks.py:107
+#, python-format
+msgid "Deleting network with id %s"
+msgstr "Netzwerk mit ID %s wird gelöscht"
+
+#: nova/api/openstack/compute/contrib/networks.py:122
+msgid "Missing network in body"
+msgstr "Netzwerk fehlt im Rumpf"
+
+#: nova/api/openstack/compute/contrib/networks.py:126
+msgid "Network label is required"
+msgstr "Netzwerk-Bezeichnung ist nötig"
+
+#: nova/api/openstack/compute/contrib/networks.py:130
+msgid "Network cidr or cidr_v6 is required"
+msgstr "Netzwerk-CIDR oder cidr_v6 ist nötig"
+
+#: nova/api/openstack/compute/contrib/networks.py:132
+#, python-format
+msgid "Creating network with label %s"
+msgstr "Netzwerk mit Bezeichnung %s wird erstellt"
+
+#: nova/api/openstack/compute/contrib/networks.py:148
+#, python-format
+msgid "Associating network %(network)s with project %(project)s"
+msgstr "Netzwerk %(network)s wird dem Projekt %(project)s zugewiesen"
+
+#: nova/api/openstack/compute/contrib/networks.py:156
+#, python-format
+msgid "Cannot associate network %(network)s with project %(project)s: %(message)s"
+msgstr ""
+"Netzwerk %(network)s kann dem Projekt %(project)s nicht zugewiesen werden: "
+"%(message)s"
+
+#: nova/api/openstack/compute/contrib/quotas.py:63
+msgid "Quota limit must be -1 or greater."
+msgstr "Kontingentsbegrenzung muss -1 oder höher sein"
+
+#: nova/api/openstack/compute/contrib/scheduler_hints.py:41
+msgid "Malformed scheduler_hints attribute"
+msgstr "Fehlerhaftes scheduler_hints-Attribut"
+
+#: nova/api/openstack/compute/contrib/security_groups.py:223
+msgid "Security group id should be integer"
+msgstr "Sicherheitsgruppen-ID sollte ganzzahlig sein"
+
+#: nova/api/openstack/compute/contrib/security_groups.py:332
+msgid "Not enough parameters to build a valid rule."
+msgstr "Nicht genügend Parameter, um eine gültige Regel aufzustellen"
+
+#: nova/api/openstack/compute/contrib/security_groups.py:338
+#, python-format
+msgid "This rule already exists in group %s"
+msgstr "Diese Regel gibt es bereits in der Gruppe %s"
+
+#: nova/api/openstack/compute/contrib/security_groups.py:419
+msgid "Security group not specified"
+msgstr "Sicherheitsgruppe nicht angegeben"
+
+#: nova/api/openstack/compute/contrib/security_groups.py:423
+msgid "Security group name cannot be empty"
+msgstr "Name der Sicherheitsgruppe kann nicht leer sein"
+
+#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+msgid "start instance"
+msgstr "Instanz starten"
+
+#: nova/api/openstack/compute/contrib/server_start_stop.py:55
+msgid "stop instance"
+msgstr "Instanz stoppen"
+
+#: nova/api/openstack/compute/contrib/volumes.py:76
+#: nova/api/openstack/volume/volumes.py:105
+#, python-format
+msgid "vol=%s"
+msgstr "vol=%s"
+
+#: nova/api/openstack/compute/contrib/volumes.py:188
+#: nova/api/openstack/volume/volumes.py:223
+#, python-format
+msgid "Delete volume with id: %s"
+msgstr "Volume löschen, ID lautet: %s"
+
+#: nova/api/openstack/compute/contrib/volumes.py:359
+#: nova/api/openstack/compute/contrib/volumes.py:439
+#, python-format
+msgid "Instance %s is not attached."
+msgstr "Instanz %s ist nicht angeschlossen"
+
+#: nova/api/openstack/compute/contrib/volumes.py:390
+#, python-format
+msgid "Attach volume %(volume_id)s to instance %(server_id)s at %(device)s"
+msgstr "Volume %(volume_id)s als %(device)s an %(server_id)s anschließen"
+
+#: nova/api/openstack/compute/contrib/volumes.py:553
+#: nova/api/openstack/volume/snapshots.py:112
+#, python-format
+msgid "Delete snapshot with id: %s"
+msgstr "Schnappschuss löschen, ID lautet: %s"
+
+#: nova/api/openstack/compute/contrib/volumes.py:596
+#: nova/api/openstack/volume/snapshots.py:161
+#, python-format
+msgid "Create snapshot from volume %s"
+msgstr "Schnappschuss des Volumes %s erstellen"
+
+#: nova/api/openstack/compute/contrib/volumes.py:600
+#: nova/api/openstack/volume/snapshots.py:165
+#, python-format
+msgid "Invalid value '%s' for force. "
+msgstr "Unzulässiger Wert »%s« für force"
+
+#: nova/api/openstack/compute/views/servers.py:182
+msgid "Instance has had its instance_type removed from the DB"
+msgstr "Instanz hatte ihren instance_type aus der DB entfernt"
+
+#: nova/api/openstack/volume/volumes.py:312
+msgid "Snapshot and image cannot be specified together."
+msgstr "Schnappschuss und Image können nicht gleichzeitig angegeben werden"
+
+#: nova/api/openstack/volume/volumes.py:356
+#, python-format
+msgid "Removing options '%(bad_options)s' from query"
+msgstr "Optionen »%(bad_options)s« werden aus der Anfrage entfernt"
+
+#: nova/api/openstack/volume/contrib/admin_actions.py:72
+#, python-format
+msgid "Updating status of %(resource)s '%(id)s' to '%(status)s'"
+msgstr "Status von %(resource)s wird von »%(id)s« auf »%(status)s« aktualisiert"
+
+#: nova/api/openstack/volume/contrib/volume_actions.py:90
+msgid "No image_name was specified in request."
+msgstr "In der Anfrage war kein image_name angegeben."
+
+#: nova/cloudpipe/pipelib.py:43
+msgid "Instance type for vpn instances"
+msgstr "Instanzentyp für VPN-Instanzen"
+
+#: nova/cloudpipe/pipelib.py:46
+msgid "Template for cloudpipe instance boot script"
+msgstr "Vorlage für Bootskript der Cloudpipe-Instanz"
+
+#: nova/cloudpipe/pipelib.py:49
+msgid "Network to push into openvpn config"
+msgstr "Netzwerk, das in der OpenVPN-Konfiguration landen soll"
+
+#: nova/cloudpipe/pipelib.py:52
+msgid "Netmask to push into openvpn config"
+msgstr "Netzmaske, die in der OpenVPN-Konfiguration landen soll"
+
+#: nova/cloudpipe/pipelib.py:104
+#, python-format
+msgid "Launching VPN for %s"
+msgstr "VPN für %s wird gestartet"
+
+#: nova/common/deprecated.py:53
+#, python-format
+msgid "Deprecated Config: %s"
+msgstr "Veraltete Konfiguration: %s"
+
+#: nova/common/sqlalchemyutils.py:68
+msgid "Id not in sort_keys; is sort_keys unique?"
+msgstr "ID nicht in sort_keys; ist sort_keys einzigartig?"
+
+#: nova/common/sqlalchemyutils.py:116
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr ""
+"Unbekannte Sortierreihenfolge, darf entweder »desc« (absteigend) oder »asc« "
+"(aufsteigend) sein"
+
+#: nova/compute/api.py:220
+msgid "Cannot run any more instances of this type."
+msgstr "Es können keine weitere Instanzen dieses Typs ausgeführt werden."
+
+#: nova/compute/api.py:227
+#, python-format
+msgid "Can only run %s more instances of this type."
+msgstr "Es können nur noch %s weitere Instanzen dieses Typs ausgeführt werden."
+
+#: nova/compute/api.py:236
+#, python-format
+msgid ""
+"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
+"instances. %(msg)s"
+msgstr ""
+"%(overs)s Kontingent für %(pid)s überschritten; es wurde versucht, "
+"%(min_count)s Instanzen auszuführen; %(msg)s"
+
+#: nova/compute/api.py:256
+#, python-format
+msgid ""
+"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
+"properties"
+msgstr ""
+"Kontingent für %(pid)s überschritten; es wurde versucht, %(num_metadata)s "
+"Metadaten-Eigenschaften zu setzen"
+
+#: nova/compute/api.py:266
+msgid "Metadata property key blank"
+msgstr "Metadaten-Eigenschaftsschlüssel leer"
+
+#: nova/compute/api.py:270
+msgid "Metadata property key greater than 255 characters"
+msgstr "Metadaten-Eigenschaftsschlüssel länger als 255 Zeichen"
+
+#: nova/compute/api.py:274
+msgid "Metadata property value greater than 255 characters"
+msgstr "Metadaten-Eigenschaftswert länger als 255 Zeichen"
+
+#: nova/compute/api.py:490
+#, python-format
+msgid "Going to run %s instances..."
+msgstr "%s Instanzen werden ausgeführt …"
+
+#: nova/compute/api.py:563
+#, python-format
+msgid "bdm %s"
+msgstr "bdm %s"
+
+#: nova/compute/api.py:590
+#, python-format
+msgid "block_device_mapping %s"
+msgstr "block_device_mapping %s"
+
+#: nova/compute/api.py:822
+msgid "Going to try to soft delete instance"
+msgstr "Softdelete der Instanz wird versucht"
+
+#: nova/compute/api.py:839
+msgid "No host for instance, deleting immediately"
+msgstr "Kein Host für die Instanz, wird sofort gelöscht"
+
+#: nova/compute/api.py:916
+msgid "host for instance is down, deleting from database"
+msgstr ""
+"Host für die Instanz ist nicht erreichbar, wird aus der Datenbank gelöscht"
+
+#: nova/compute/api.py:937
+msgid "Going to try to terminate instance"
+msgstr "Es wird versucht, die Instanz zu beenden"
+
+#: nova/compute/api.py:977
+msgid "Going to try to stop instance"
+msgstr "Es wird versucht, die Instanz anzuhalten"
+
+#: nova/compute/api.py:991
+msgid "Going to try to start instance"
+msgstr "Es wird versucht, die Instanz zu starten"
+
+#: nova/compute/api.py:1055 nova/volume/api.py:264
+#: nova/volume/volume_types.py:64
+#, python-format
+msgid "Searching by: %s"
+msgstr "Suche nach: %s"
+
+#: nova/compute/api.py:1190
+#, python-format
+msgid "Image type not recognized %s"
+msgstr "Image-Typ nicht erkannt %s"
+
+#: nova/compute/api.py:1277
+#, python-format
+msgid "snapshot for %s"
+msgstr "Schnappschuss für %s"
+
+#: nova/compute/api.py:1568
+msgid "flavor_id is None. Assuming migration."
+msgstr "flavor_Id ist None, vermutlich eine Migration"
+
+#: nova/compute/api.py:1577
+#, python-format
+msgid ""
+"Old instance type %(current_instance_type_name)s, new instance type "
+"%(new_instance_type_name)s"
+msgstr ""
+"Alter Instanzentyp %(current_instance_type_name)s, neuer Instanzentyp %"
+"(new_instance_type_name)s"
+
+#: nova/compute/api.py:1619
+#, python-format
+msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance. %(msg)s"
+msgstr ""
+"%(overs)s Kontingent für %(pid)s überschritten, Anpassung der Instanzgröße "
+"versucht; %(msg)s"
+
+#: nova/compute/api.py:1791
+msgid "Locking"
+msgstr "Wird gesperrt"
+
+#: nova/compute/api.py:1799
+msgid "Unlocking"
+msgstr "Wird entsperrt"
+
+#: nova/compute/api.py:1867
+msgid "Volume must be attached in order to detach."
+msgstr "Volume muss angeschlossen sein, damit es getrennt werden kann"
+
+#: nova/compute/api.py:1952
+#, python-format
+msgid "Going to try to live migrate instance to %s"
+msgstr "Versuche, die Instanz live nach %s zu migrieren, werden gestartet"
+
+#: nova/compute/api.py:2101
+msgid "Keypair name contains unsafe characters"
+msgstr "Name des Schlüsselpaares enthält unsichere Zeichen"
+
+#: nova/compute/api.py:2105
+msgid "Keypair name must be between 1 and 255 characters long"
+msgstr "Name des Schlüsselpaares muss zwischen 1 und 255 Zeichen lang sein"
+
+#: nova/compute/api.py:2206
+#, python-format
+msgid "Security group %s is not a string or unicode"
+msgstr "Sicherheitsgruppe %s ist keine Zeichenkette oder Unicode"
+
+#: nova/compute/api.py:2209
+#, python-format
+msgid "Security group %s cannot be empty."
+msgstr "Sicherheitsgruppe %s kann nicht leer sein"
+
+#: nova/compute/api.py:2217
+#, python-format
+msgid ""
+"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
+"limited to '%(allowed)'."
+msgstr ""
+"Der Wert (%(value)s) für Parameter Gruppen%(property)s ist unzulässig. Der "
+"Inhalt ist auf »%(allowed)« begrenzt."
+
+#: nova/compute/api.py:2223
+#, python-format
+msgid "Security group %s should not be greater than 255 characters."
+msgstr "Sicherheitsgruppe %s sollte nicht länger als 255 Zeichen sein"
+
+#: nova/compute/api.py:2243
+msgid "Quota exceeded, too many security groups."
+msgstr "Kontingent überschritten, zu viele Sicherheitsgruppen"
+
+#: nova/compute/api.py:2246
+#, python-format
+msgid "Create Security Group %s"
+msgstr "Sicherheitsgruppe %s erstellen"
+
+#: nova/compute/api.py:2253
+#, python-format
+msgid "Security group %s already exists"
+msgstr "Sicherheitsgruppe %s existiert bereits"
+
+#: nova/compute/api.py:2318
+msgid "Security group is still in use"
+msgstr "Sicherheitsgruppe ist noch in Verwendung"
+
+#: nova/compute/api.py:2326
+msgid "Failed to update usages deallocating security group"
+msgstr ""
+"Aktualisierung der Verwendungsstatistik unter Freigabe der Sicherheitsgruppe "
+"fehlgeschlagen"
+
+#: nova/compute/api.py:2329
+#, python-format
+msgid "Delete security group %s"
+msgstr "Sicherheitsgruppe %s löschen"
+
+#: nova/compute/api.py:2586
+#, python-format
+msgid "Rule (%s) not found"
+msgstr "Regel (%s) nicht gefunden"
+
+#: nova/compute/api.py:2595
+msgid "Quota exceeded, too many security group rules."
+msgstr "Kontingent überschritten, zu viele Sicherheitsgruppen-Regeln"
+
+#: nova/compute/api.py:2598
+#, python-format
+msgid "Authorize security group ingress %s"
+msgstr "Sicherheitsgruppenzugang %s autorisieren"
+
+#: nova/compute/api.py:2609
+#, python-format
+msgid "Revoke security group ingress %s"
+msgstr "Sicherheitsgruppenzugang %s zurückziehen"
+
+#: nova/compute/instance_types.py:61
+msgid "names can only contain [a-zA-Z0-9_.- ]"
+msgstr "Namen dürfen nur aus [a-zA-Z0-9_.- ] bestehen"
+
+#: nova/compute/instance_types.py:70 nova/compute/instance_types.py:78
+msgid "create arguments must be positive integers"
+msgstr "Erstellen-Argumente müssen positive Ganzzahlen sein"
+
+#: nova/compute/instance_types.py:92 nova/volume/volume_types.py:41
+#, python-format
+msgid "DB error: %s"
+msgstr "DB-Fehler: %s"
+
+#: nova/compute/instance_types.py:102
+#, python-format
+msgid "Instance type %s not found for deletion"
+msgstr "Instanzentyp %s für Löschung nicht gefunden"
+
+#: nova/compute/manager.py:167
+msgid "Possibly task preempted."
+msgstr "Möglicherweise Aufgabe zuvorgekommen"
+
+#: nova/compute/manager.py:223
+#, python-format
+msgid "Loading compute driver '%s'"
+msgstr "Rechentreiber »%s« wird geladen"
+
+#: nova/compute/manager.py:229
+#, python-format
+msgid "Unable to load the virtualization driver: %s"
+msgstr "Virtualisierungstreiber lässt sich nicht laden: %s"
+
+#: nova/compute/manager.py:264
+msgid "Instance has been destroyed from under us while trying to set it to ERROR"
+msgstr ""
+"Die Instanz wurde während des Versuchs, sie auf FEHLER zu setzen, von unten "
+"zerstört."
+
+#: nova/compute/manager.py:292
+#, python-format
+msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
+msgstr ""
+"Derzeitiger Zustand ist %(drv_state)s, der Zustand in der DB ist %"
+"(db_state)s"
+
+#: nova/compute/manager.py:306
+msgid "Rebooting instance after nova-compute restart."
+msgstr "Instanz wird nach dem nova-compute-Neustart neu gestartet"
+
+#: nova/compute/manager.py:320
+msgid "Hypervisor driver does not support resume guests"
+msgstr "Der Hypervisor-Treiber unterstützt die Wiederaufnahme von Gästen nicht."
+
+#: nova/compute/manager.py:330
+msgid "Hypervisor driver does not support firewall rules"
+msgstr "Der Hypervisor-Treiber unterstützt keine Firewall-Regeln."
+
+#: nova/compute/manager.py:339
+msgid "Checking state"
+msgstr "Zustand wird geprüft"
+
+#: nova/compute/manager.py:412
+#, python-format
+msgid "Setting up bdm %s"
+msgstr "bdm %s wird aufgesetzt"
+
+#: nova/compute/manager.py:534
+#, python-format
+msgid "Build error: %s"
+msgstr "Fehler beim Bauen: %s"
+
+#: nova/compute/manager.py:551
+msgid "Error trying to reschedule"
+msgstr "Fehler beim Versuch umzuplanen"
+
+#: nova/compute/manager.py:568
+msgid "Retry info not present, will not reschedule"
+msgstr "Neuversuchsinformationen nicht vorhanden, wird nicht umgeplant"
+
+#: nova/compute/manager.py:573
+msgid "No request spec, will not reschedule"
+msgstr "Keine Anfragespezifikation, wird nicht umgeplant"
+
+#: nova/compute/manager.py:579
+#, python-format
+msgid "Re-scheduling instance: attempt %d"
+msgstr "Instanz wird umgeplant: Versuch %d"
+
+#: nova/compute/manager.py:604
+msgid "Instance build timed out. Set to error state."
+msgstr "Zeitüberschreitung beim Bau der Instanz, auf Fehlerzustand gesetzt"
+
+#: nova/compute/manager.py:635
+msgid "Instance has already been created"
+msgstr "Instanz wurde bereits erstellt"
+
+#: nova/compute/manager.py:678
+#, python-format
+msgid ""
+"image_id=%(image_id)s, image_size_bytes=%(size_bytes)d, "
+"allowed_size_bytes=%(allowed_size_bytes)d"
+msgstr ""
+"image-id=%(image_id)s, image_size_bytes=%(size_bytes)d, allowed_size_bytes=%"
+"(allowed_size_bytes)d"
+
+#: nova/compute/manager.py:684
+#, python-format
+msgid ""
+"Image '%(image_id)s' size %(size_bytes)d exceeded instance_type allowed "
+"size %(allowed_size_bytes)d"
+msgstr ""
+"Image »%(image_id)s« überschreitet mit seiner Größe von %(size_bytes)d die "
+"durch instance_type erlaubte Größe von %(allowed_size_bytes)d"
+
+#: nova/compute/manager.py:694
+msgid "Starting instance..."
+msgstr "Instanz wird gestartet …"
+
+#: nova/compute/manager.py:715
+msgid "Instance failed network setup"
+msgstr "Netzwerkeinrichtung bei der Instanz fehlgeschlagen"
+
+#: nova/compute/manager.py:719
+#, python-format
+msgid "Instance network_info: |%s|"
+msgstr "network_info der Instanz: |%s|"
+
+#: nova/compute/manager.py:732
+msgid "Instance failed block device setup"
+msgstr "Blockgeräteeinrichtung bei der Instanz fehlgschlagen"
+
+#: nova/compute/manager.py:750
+msgid "Instance failed to spawn"
+msgstr "Start der Instanz fehlgeschlagen"
+
+#: nova/compute/manager.py:774
+msgid "Deallocating network for instance"
+msgstr "Netzwerk für die Instanz wird freigegeben"
+
+#: nova/compute/manager.py:834
+#, python-format
+msgid "%(action_str)s instance"
+msgstr "%(action_str)s Instanz"
+
+#: nova/compute/manager.py:865
+#, python-format
+msgid "Ignoring DiskNotFound: %s"
+msgstr "DiskNotFound wird ignoriert: %s"
+
+#: nova/compute/manager.py:868
+#, python-format
+msgid "Ignoring VolumeNotFound: %s"
+msgstr "VolumeNotFound wird ignoriert: %s"
+
+#: nova/compute/manager.py:877
+#, python-format
+msgid "terminating bdm %s"
+msgstr "bdm %s wird beendet"
+
+#: nova/compute/manager.py:901
+#, python-format
+msgid "Ignoring volume cleanup failure due to %s"
+msgstr "Fehlschlag beim Aufräumen des Volumes wird ignoriert, weil %s"
+
+#: nova/compute/manager.py:933 nova/compute/manager.py:1683
+#: nova/compute/manager.py:2814
+#, python-format
+msgid "%s. Setting instance vm_state to ERROR"
+msgstr "%s. Instanz vm_state wird auf FEHLER gesetzt"
+
+#: nova/compute/manager.py:1015
+msgid "Rebuilding instance"
+msgstr "Instanz wird neu gebaut"
+
+#: nova/compute/manager.py:1091
+msgid "Rebooting instance"
+msgstr "Instanz wird neu gestartet"
+
+#: nova/compute/manager.py:1103
+#, python-format
+msgid ""
+"trying to reboot a non-running instance: (state: %(state)s expected: "
+"%(running)s)"
+msgstr ""
+"es wird versucht, eine nicht laufende Instanz neu zu starten: (Zustand: %"
+"(state)s, erwartet: %(running)s)"
+
+#: nova/compute/manager.py:1117
+#, python-format
+msgid "Cannot reboot instance: %(exc)s"
+msgstr "Neustart der Instanz fehlgeschlagen: %(exc)s"
+
+#: nova/compute/manager.py:1154
+msgid "instance snapshotting"
+msgstr "Schnappschuss der Instanz wird angelegt"
+
+#: nova/compute/manager.py:1160
+#, python-format
+msgid ""
+"trying to snapshot a non-running instance: (state: %(state)s expected: "
+"%(running)s)"
+msgstr ""
+"es wird versucht, einen Schnappschuss einer nicht laufenden Instanz "
+"anzulegen: (Zustand: %(state)s, erwartet: %(running)s)"
+
+#: nova/compute/manager.py:1225
+#, python-format
+msgid "Found %(num_images)d images (rotation: %(rotation)d)"
+msgstr "%(num_images)d Images gefunden (Rotation: %(rotation)d)"
+
+#: nova/compute/manager.py:1231
+#, python-format
+msgid "Rotating out %d backups"
+msgstr "%d Backups werden ausrotiert"
+
+#: nova/compute/manager.py:1236
+#, python-format
+msgid "Deleting image %s"
+msgstr "Image %s wird gelöscht"
+
+#: nova/compute/manager.py:1267
+#, python-format
+msgid "Failed to set admin password. Instance %s is not running"
+msgstr "Setzen des Admin-Passworts fehlgeschlagen; Instanz %s läuft nicht"
+
+#: nova/compute/manager.py:1274
+msgid "Root password set"
+msgstr "Root-Passwort gesetzt"
+
+#: nova/compute/manager.py:1284
+msgid "set_admin_password is not implemented by this driver."
+msgstr "set_admin_password wird von diesem Treiber nicht implementiert"
+
+#: nova/compute/manager.py:1300
+#, python-format
+msgid "set_admin_password failed: %s"
+msgstr "set_admin_password fehlgeschlagen: %s"
+
+#: nova/compute/manager.py:1308
+msgid "error setting admin password"
+msgstr "Fehler beim Setzen des Admin-Passworts"
+
+#FIXME: missing "instance" after "non-running"?
+#: nova/compute/manager.py:1323
+#, python-format
+msgid ""
+"trying to inject a file into a non-running (state: "
+"%(current_power_state)s expected: %(expected_state)s)"
+msgstr ""
+"es wird versucht, eine Datei in eine nicht-laufende Instanz zu injizieren "
+"(Zustand: %(current_power_state)s erwartet: %(expected_state)s)"
+
+#: nova/compute/manager.py:1327
+#, python-format
+msgid "injecting file to %(path)s"
+msgstr "Datei wird in %(path)s platziert"
+
+#: nova/compute/manager.py:1340
+msgid "Rescuing"
+msgstr "Wird gerettet"
+
+#: nova/compute/manager.py:1367
+msgid "Unrescuing"
+msgstr "Wird zurückgetan"
+
+#: nova/compute/manager.py:1388
+#, python-format
+msgid "Changing instance metadata according to %(diff)r"
+msgstr "Instanz-Metadaten werden gemäß %(diff)r geändert"
+
+#: nova/compute/manager.py:1528
+msgid "destination same as source!"
+msgstr "Ziel stimmt mit Quelle überein!"
+
+#: nova/compute/manager.py:1546
+msgid "Migrating"
+msgstr "Wird migriert"
+
+#: nova/compute/manager.py:1736
+msgid "Pausing"
+msgstr "Angehalten"
+
+#: nova/compute/manager.py:1753
+msgid "Unpausing"
+msgstr "Wird fortgesetzt"
+
+#: nova/compute/manager.py:1791
+msgid "Retrieving diagnostics"
+msgstr "Diagnostik wird abgerufen"
+
+#: nova/compute/manager.py:1821
+msgid "Resuming"
+msgstr "Wird fortgesetzt"
+
+#: nova/compute/manager.py:1837
+msgid "Reset network"
+msgstr "Netzwerk zurücksetzen"
+
+#: nova/compute/manager.py:1842
+msgid "Inject network info"
+msgstr "Netzwerkinfo injizieren"
+
+#: nova/compute/manager.py:1845
+#, python-format
+msgid "network_info to inject: |%s|"
+msgstr "network_info, die injiziert werden soll: |%s|"
+
+#: nova/compute/manager.py:1862
+msgid "Get console output"
+msgstr "Konsolenausgabe abrufen"
+
+#: nova/compute/manager.py:1887
+msgid "Getting vnc console"
+msgstr "VNC-Konsole wird abgerufen"
+
+#: nova/compute/manager.py:1915
+#, python-format
+msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
+msgstr "Start mit Volume %(volume_id)s unter %(mountpoint)s"
+
+#: nova/compute/manager.py:1957
+#, python-format
+msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
+msgstr "Volume %(volume_id)s wird unter %(mountpoint)s eingehängt"
+
+#: nova/compute/manager.py:1966
+#, python-format
+msgid ""
+"Failed to connect to volume %(volume_id)s while attaching at "
+"%(mountpoint)s"
+msgstr ""
+"Verbindung mit Volume %(volume_id)s während des Einhängens unter %"
+"(mountpoint)s fehlgeschlagen"
+
+#: nova/compute/manager.py:1981
+#, python-format
+msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
+msgstr ""
+"Einhängen des Volumes %(volume_id)s unter %(mountpoint)s fehlgeschlagen"
+
+#: nova/compute/manager.py:2010
+#, python-format
+msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
+msgstr "Volume %(volume_id)s wird vom Einhängepunkt %(mp)s gelöst"
+
+#: nova/compute/manager.py:2014
+msgid "Detaching volume from unknown instance"
+msgstr "Volume wird von unbekannter Instanz entfernt"
+
+#: nova/compute/manager.py:2027
+#, python-format
+msgid "Faild to detach volume %(volume_id)s from %(mp)s"
+msgstr "Trennen des Volumes %(volume_id)s von %(mp)s fehlgeschlagen"
+
+#: nova/compute/manager.py:2120
+msgid "Instance has no volume."
+msgstr "Instanz hat kein Volume"
+
+#: nova/compute/manager.py:2173
+#, python-format
+msgid "Pre live migration failed at %(dest)s"
+msgstr "Pre-live-Migration bei %(dest)s fehlgeschlagen"
+
+#: nova/compute/manager.py:2199
+msgid "_post_live_migration() is started.."
+msgstr "_post_live_migration() ist gestartet"
+
+#: nova/compute/manager.py:2228
+msgid "No floating_ip found"
+msgstr "Keine floating_ip gefunden"
+
+#: nova/compute/manager.py:2236
+msgid "No floating_ip found."
+msgstr "Keine floating_ip gefunden"
+
+#: nova/compute/manager.py:2238
+#, python-format
+msgid ""
+"Live migration: Unexpected error: cannot inherit floating ip.\n"
+"%(e)s"
+msgstr ""
+"Live-Migration – unerwarteter Fehler: Floating IP kann nicht übernommen "
+"werden\n"
+"%(e)s"
+
+#: nova/compute/manager.py:2264
+#, python-format
+msgid "Migrating instance to %(dest)s finished successfully."
+msgstr "Migration der Instanz zu %(dest)s erfolgreich abgeschlossen"
+
+#: nova/compute/manager.py:2266
+msgid ""
+"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
+"with matching name.\" This error can be safely ignored."
+msgstr ""
+"Es kann sein, dass Sie auf den Fehler »libvirt: QEMU error: Domain not "
+"found: no domain with matching name.« stoßen. Sie können ihn getrost "
+"ignorieren."
+
+#: nova/compute/manager.py:2280
+msgid "Post operation of migration started"
+msgstr "Nacharbeiten der Migration gestartet"
+
+#: nova/compute/manager.py:2411
+msgid "Updated the info_cache for instance"
+msgstr "info_cache für die Instanz aktualisiert"
+
+#: nova/compute/manager.py:2437
+#, python-format
+msgid ""
+"Found %(migration_count)d unconfirmed migrations older than "
+"%(confirm_window)d seconds"
+msgstr ""
+"%(migration_count)d unbestätigte Migrationen gefunden, die älter als %"
+"(confirm_window)d Sekunden sind"
+
+#: nova/compute/manager.py:2442
+#, python-format
+msgid "Setting migration %(migration_id)s to error: %(reason)s"
+msgstr "Migration %(migration_id)s wird auf Fehler gesetzt: %(reason)s"
+
+#: nova/compute/manager.py:2451
+#, python-format
+msgid ""
+"Automatically confirming migration %(migration_id)s for instance "
+"%(instance_uuid)s"
+msgstr ""
+"Migration %(migration_id)s für Instanz %(instance_uuid)s wird automatisch "
+"bestätigt"
+
+#: nova/compute/manager.py:2458
+#, python-format
+msgid "Instance %(instance_uuid)s not found"
+msgstr "Instanz %(instance_uuid)s nicht gefunden"
+
+#: nova/compute/manager.py:2462
+msgid "In ERROR state"
+msgstr "Im FEHLER-Zustand"
+
+#: nova/compute/manager.py:2469
+#, python-format
+msgid "In states %(vm_state)s/%(task_state)s, notRESIZED/None"
+msgstr "In Zuständen %(vm_state)s/%(task_state)s, notRESIZED/None"
+
+#: nova/compute/manager.py:2477
+#, python-format
+msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgstr ""
+"Fehler beim automatischen Bestätigen der Größenänderung: %(e)s; Wird später "
+"noch einmal versucht"
+
+#: nova/compute/manager.py:2494
+#, python-format
+msgid ""
+"Running instance usage audit for host %(host)s from %(begin_time)s to "
+"%(end_time)s. %(number_instances)s instances."
+msgstr ""
+"Instanzenverwendung für Host %(host)s von %(begin_time)s bis %(end_time)s "
+"wird geprüft, %(number_instances)s Instanzen"
+
+#: nova/compute/manager.py:2512
+#, python-format
+msgid "Failed to generate usage audit for instance on host %s"
+msgstr "Verwendung der Instanz auf Host %s konnte nicht geprüft werden"
+
+#: nova/compute/manager.py:2536
+msgid "Updating bandwidth usage cache"
+msgstr "Bandbreitenverwendungs-Cache wird aktualisiert"
+
+#: nova/compute/manager.py:2562
+msgid "Updating host status"
+msgstr "Host-Status wird aktualisiert"
+
+#: nova/compute/manager.py:2589
+#, python-format
+msgid ""
+"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
+"the hypervisor."
+msgstr ""
+"%(num_db_instances)s in der Datenbank und %(num_vm_instances)s auf dem "
+"Hypervisor gefunden"
+
+#: nova/compute/manager.py:2595 nova/compute/manager.py:2633
+msgid "During sync_power_state the instance has a pending task. Skip."
+msgstr ""
+"Während sync_power_state hat die Instanz eine ausstehende Aufgabe; wird "
+"übersprungen"
+
+#: nova/compute/manager.py:2620
+#, python-format
+msgid ""
+"During the sync_power process the instance has moved from host %(src)s to"
+" host %(dst)s"
+msgstr ""
+"Während des sync_power_process ist die Instanz vom Host %(src)s auf %(dst)s "
+"gewandert."
+
+#: nova/compute/manager.py:2657
+msgid "Instance shutdown by itself. Calling the stop API."
+msgstr "Instanz hat sich selbst heruntergefahren; Stop-API wird aufgerufen"
+
+#: nova/compute/manager.py:2669 nova/compute/manager.py:2680
+#: nova/compute/manager.py:2694
+msgid "error during stop() in sync_power_state."
+msgstr "Fehler beim stop() in sync_power_state"
+
+#: nova/compute/manager.py:2674
+msgid "Instance is paused or suspended unexpectedly. Calling the stop API."
+msgstr ""
+"Instanz ist unerwartet angehalten oder ausgesetzt worden; Stop-API wird "
+"aufgerufen"
+
+#: nova/compute/manager.py:2687
+msgid "Instance is not stopped. Calling the stop API."
+msgstr "Instanz ist nicht angehalten worden; Stop-API wird aufgerufen"
+
+#: nova/compute/manager.py:2703
+msgid "Instance is not (soft-)deleted."
+msgstr "Instanz ist nicht (soft-) gelöscht worden"
+
+#: nova/compute/manager.py:2711
+msgid "FLAGS.reclaim_instance_interval <= 0, skipping..."
+msgstr "FLAGS.reclaim_instance_interval <= 0, wird übersprungen …"
+
+#: nova/compute/manager.py:2722
+msgid "Reclaiming deleted instance"
+msgstr "Gelöschte Instanz wird zurückgeholt"
+
+#: nova/compute/manager.py:2768
+#, python-format
+msgid ""
+"Detected instance with name label '%(name)s' which is marked as DELETED "
+"but still present on host."
+msgstr ""
+"Es wurde eine Instanz namens »%(name)s« gefunden, die als GELÖSCHT markiert, "
+"aber immer noch auf dem Host vorhanden ist."
+
+#: nova/compute/manager.py:2775
+#, python-format
+msgid ""
+"Destroying instance with name label '%(name)s' which is marked as DELETED"
+" but still present on host."
+msgstr ""
+"Instanz namens »%(name)s«, die als GELÖSCHT markiert, aber immer noch auf "
+"dem Host vorhanden ist, wird gelöscht."
+
+#: nova/compute/manager.py:2782
+#, python-format
+msgid "Unrecognized value '%(action)s' for FLAGS.running_deleted_instance_action"
+msgstr ""
+"Nicht erkannter Wert »%(action)s« für SCHALTER, running_deleted_instance_action"
+
+#: nova/compute/resource_tracker.py:173
+#, python-format
+msgid ""
+"Attempting claim: memory %(memory_mb)d MB, disk %(disk_gb)d GB, VCPUs "
+"%(vcpus)d"
+msgstr ""
+"Beanspruchung wird geltend gemacht: Speicher %(memory_mb)d MB, Festplatte %"
+"(disk_gb)d GB, VCPUs %(vcpus)d"
+
+#: nova/compute/resource_tracker.py:202
+#, python-format
+msgid ""
+"Total memory: %(total_mem)d MB, used: %(used_mem)d MB, free: %(free_mem)d"
+" MB"
+msgstr ""
+"Gesamtspeicher: %(total_mem)d MB, verwendet: %(used_mem)d MB, frei: %"
+"(free_mem)d MB"
+
+#: nova/compute/resource_tracker.py:211
+msgid "Memory limit not specified, defaulting to unlimited"
+msgstr ""
+"Keine Speicherbegrenzung angegeben, wird auf Vorgabe »unbegrenzt« festgelegt"
+
+#: nova/compute/resource_tracker.py:217
+#, python-format
+msgid "Memory limit: %(memory_mb_limit)d MB, free: %(free_ram_mb)d MB"
+msgstr "Speicherbegrenzung: %(memory_mb_limit)d MB, frei: %(free_ram_mb)d MB"
+
+#: nova/compute/resource_tracker.py:224
+#, python-format
+msgid ""
+"Unable to claim resources. Free memory %(free_ram_mb)d MB < requested "
+"memory %(memory_mb)d MB"
+msgstr ""
+"Ressourcen können nicht beansprucht werden. Freier Speicher %(free_ram_mb)d "
+"MB < angefragter Speicher %(memory_mb)d MB"
+
+#: nova/compute/resource_tracker.py:233
+#, python-format
+msgid ""
+"Total disk: %(total_disk)d GB, used: %(used_disk)d GB, free: "
+"%(free_disk)d GB"
+msgstr ""
+"Gesamter Festplattenspeicher: %(total_disk)d, verwendet: %(used_disk)d GB, "
+"frei: %(free_disk)d GB"
+
+#: nova/compute/resource_tracker.py:242
+msgid "Disk limit not specified, defaulting to unlimited"
+msgstr ""
+"Festplattengrenze nicht angegeben, wird auf Vorgabe »unbegrenzt« festgelegt"
+
+#: nova/compute/resource_tracker.py:248
+#, python-format
+msgid "Disk limit: %(disk_gb_limit)d GB, free: %(free_disk_gb)d GB"
+msgstr ""
+"Speicherbegrenzung Festplatte: %(disk_gb_limit)d GB, frei: %(free_disk_gb)d "
+"GB"
+
+#: nova/compute/resource_tracker.py:254
+#, python-format
+msgid ""
+"Unable to claim resources. Free disk %(free_disk_gb)d GB < requested "
+"disk %(disk_gb)d GB"
+msgstr ""
+"Ressourcen können nicht beansprucht werden: Freier Festplattenspeicher: %"
+"(free_disk_gb)d GB < angefragter Festplattenspeicher %(disk_gb)d GB"
+
+#: nova/compute/resource_tracker.py:265
+#, python-format
+msgid "Total VCPUs: %(total_vcpus)d, used: %(used_vcpus)d"
+msgstr "VCPUs insgesamt: %(total_vcpus)d, verwendet: %(used_vcpus)d"
+
+#: nova/compute/resource_tracker.py:272
+msgid "VCPU limit not specified, defaulting to unlimited"
+msgstr ""
+"VCPU-Begrenzung nicht angegeben, wird auf Vorgabe »unbegrenzt« festgelegt"
+
+#: nova/compute/resource_tracker.py:276
+#, python-format
+msgid "CPU limit: %(vcpu_limit)d"
+msgstr "CPU-Grenze: %(vcpu_limit)d"
+
+#: nova/compute/resource_tracker.py:283
+#, python-format
+msgid ""
+"Unable to claim resources. Free CPU %(free_vcpus)d < requested CPU "
+"%(vcpus)d"
+msgstr ""
+"Ressourcen können nicht beansprucht werden: Freie CPU %(free_vcpus)d < "
+"angefragte CPU %(vcpus)d"
+
+#: nova/compute/resource_tracker.py:306
+#, python-format
+msgid "Finishing claim: %s"
+msgstr "Beanspruchung wird abgeschlossen: %s"
+
+#: nova/compute/resource_tracker.py:308
+#, python-format
+msgid ""
+"Can't find claim %s. It may have been 'finished' twice, or it has "
+"already timed out."
+msgstr ""
+"Die Beanspruchung %s kann nicht gefunden werden. Sie kann zwei Mal "
+"»abgeschlossen« worden sein oder ist in einen Timeout gelaufen."
+
+#: nova/compute/resource_tracker.py:325
+#, python-format
+msgid "Aborting claim: %s"
+msgstr "Beanspruchung wird abgebrochen: %s"
+
+#: nova/compute/resource_tracker.py:335
+#, python-format
+msgid ""
+"Claim %s not found. It either timed out or was already explicitly "
+"finished/aborted"
+msgstr ""
+"Beanspruchung %s nicht gefunden; entweder kam es zu einer Zeitüberschreitung "
+"oder die Beanspruchung wurde bereits beendet/abgebrochen."
+
+#: nova/compute/resource_tracker.py:369
+msgid ""
+"Virt driver does not support 'get_available_resource' Compute tracking "
+"is disabled."
+msgstr ""
+"Virt-Treiber unterstützt »get_available_resource« nicht; Berechnungsverfolgung "
+"ist abgeschaltet"
+
+#: nova/compute/resource_tracker.py:408
+#, python-format
+msgid "Compute_service record created for %s "
+msgstr "Compute_service-Eintrag für %s erstellt"
+
+#: nova/compute/resource_tracker.py:413
+#, python-format
+msgid "Compute_service record updated for %s "
+msgstr "Compute_service-Eintrag für %s aktualisiert"
+
+#: nova/compute/resource_tracker.py:423
+#, python-format
+msgid "Expiring resource claim %s"
+msgstr "Ressourcenbelegung %s läuft aus"
+
+#: nova/compute/resource_tracker.py:437
+#, python-format
+msgid "No service record for host %s"
+msgstr "Kein Service-Eintrag für Host %s"
+
+#: nova/compute/resource_tracker.py:447
+#, python-format
+msgid "Hypervisor: free ram (MB): %s"
+msgstr "Hypervisor: freier RAM (MB): %s"
+
+#: nova/compute/resource_tracker.py:448
+#, python-format
+msgid "Hypervisor: free disk (GB): %s"
+msgstr "Hypervisor: freier Festplattenspeicher (GB): %s"
+
+#: nova/compute/resource_tracker.py:453
+#, python-format
+msgid "Hypervisor: free VCPUs: %s"
+msgstr "Hypervisor: freie VCPUs: %s"
+
+#: nova/compute/resource_tracker.py:455
+msgid "Hypervisor: VCPU information unavailable"
+msgstr "Hypervisor: VCPU-Informationen nicht verfügbar"
+
+#: nova/compute/resource_tracker.py:462
+#, python-format
+msgid "Free ram (MB): %s"
+msgstr "Freier RAM (MB): %s"
+
+#: nova/compute/resource_tracker.py:463
+#, python-format
+msgid "Free disk (GB): %s"
+msgstr "Freier Festplattenspeicher (GB): %s"
+
+#: nova/compute/resource_tracker.py:468
+#, python-format
+msgid "Free VCPUS: %s"
+msgstr "Freie VCPUS: %s"
+
+#: nova/compute/resource_tracker.py:470
+msgid "Free VCPU information unavailable"
+msgstr "Information über freie VCPU nicht verfügbar"
+
+#: nova/compute/resource_tracker.py:545
+#, python-format
+msgid "Missing keys: %s"
+msgstr "Fehlende Schlüssel: %s"
+
+#: nova/compute/rpcapi.py:44
+msgid "No compute host specified"
+msgstr "Kein Compute-Host angegeben"
+
+#: nova/compute/rpcapi.py:47
+#, python-format
+msgid "Unable to find host for Instance %s"
+msgstr "Host für Instanz %s ist nicht auffindbar"
+
+#: nova/compute/utils.py:83
+#, python-format
+msgid "Using %(prefix)s instead of %(req_prefix)s"
+msgstr "Anstelle von %(req_prefix)s wird %(prefix)s verwendet"
+
+#: nova/console/manager.py:81 nova/console/vmrc_manager.py:71
+msgid "Adding console"
+msgstr "Konsole wird hinzugefügt"
+
+#: nova/console/manager.py:102 nova/console/vmrc_manager.py:123
+#, python-format
+msgid "Tried to remove non-existent console %(console_id)s."
+msgstr ""
+"Es wurde versucht, eine nicht existente Konsole %(console_id)s zu entfernen"
+
+#: nova/console/vmrc_manager.py:126
+#, python-format
+msgid "Removing console %(console_id)s."
+msgstr "Konsole %(console_id)s wird entfernt"
+
+#: nova/console/xvp.py:98
+msgid "Rebuilding xvp conf"
+msgstr "XVP-Konfiguration wird neu erstellt"
+
+#: nova/console/xvp.py:116
+#, python-format
+msgid "Re-wrote %s"
+msgstr "%s neu geschrieben"
+
+#: nova/console/xvp.py:121
+msgid "Stopping xvp"
+msgstr "XVP wird angehalten"
+
+#: nova/console/xvp.py:134
+msgid "Starting xvp"
+msgstr "XVP wird gestartet"
+
+#: nova/console/xvp.py:141
+#, python-format
+msgid "Error starting xvp: %s"
+msgstr "Fehler beim Starten von XVP: %s"
+
+#: nova/console/xvp.py:144
+msgid "Restarting xvp"
+msgstr "XVP wird neu gestartet"
+
+#: nova/console/xvp.py:146
+msgid "xvp not running..."
+msgstr "XVP läuft nicht …"
+
+#: nova/consoleauth/manager.py:70
+#, python-format
+msgid "Received Token: %(token)s, %(token_dict)s)"
+msgstr "Token erhalten: %(token)s, %(token_dict)s)"
+
+#: nova/consoleauth/manager.py:75
+#, python-format
+msgid "Checking Token: %(token)s, %(token_valid)s)"
+msgstr "Token wird überprüft: %(token)s, %(token_valid)s)"
+
+#: nova/db/sqlalchemy/api.py:57
+msgid "Use of empty request context is deprecated"
+msgstr "Die Verwendung von leerem Anfragekontext ist missbilligt."
+
+#: nova/db/sqlalchemy/api.py:213
+#, python-format
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "Nicht erkannter Wert »%s« für read_deleted"
+
+#: nova/db/sqlalchemy/api.py:2777
+#, python-format
+msgid "Change will make usage less than 0 for the following resources: %(unders)s"
+msgstr ""
+"Die Änderung wird für die folgenden Ressourcen die Verwendung unter 0 "
+"senken: %(unders)s"
+
+#: nova/db/sqlalchemy/api.py:4655
+msgid "Backend exists"
+msgstr "Backend vorhanden"
+
+#: nova/db/sqlalchemy/api.py:4675 nova/db/sqlalchemy/api.py:4701
+#, python-format
+msgid "No backend config with id %(sm_backend_id)s"
+msgstr "Keine Backend-Konfiguration mit ID %(sm_backend_id)s"
+
+#: nova/db/sqlalchemy/api.py:4713
+#, python-format
+msgid "No backend config with sr uuid %(sr_uuid)s"
+msgstr "Keine Backend-Konfiguration mit SR UUID %(sr_uuid)s"
+
+#: nova/db/sqlalchemy/api.py:4747
+msgid "Flavor exists"
+msgstr "Variante vorhanden"
+
+#FIXME: MISSING s behind gap? (msgfmt didn't accept the character 'n' as valid conversion specifier)
+#: nova/db/sqlalchemy/api.py:4762
+#, python-format
+msgid "%(sm_flavor_id)s flavor not found"
+msgstr "Variante %(sm_flavor_id)s nicht gefunden"
+
+#: nova/db/sqlalchemy/api.py:4781
+#, python-format
+msgid "No sm_flavor called %(sm_flavor_id)s"
+msgstr "Kein sm_flavor namens %(sm_flavor_id)s"
+
+#: nova/db/sqlalchemy/api.py:4798
+#, python-format
+msgid "No sm_flavor called %(sm_flavor_label)s"
+msgstr "Kein sm_flavor namens %(sm_flavor_label)s"
+
+#: nova/db/sqlalchemy/api.py:4836
+#, python-format
+msgid "No sm_volume with id %(volume_id)s"
+msgstr "Kein sm_volume mit ID %(volume_id)s"
+
+#: nova/db/sqlalchemy/migration.py:74
+msgid "version should be an integer"
+msgstr "Die Version sollte eine Ganzzahl sein"
+
+#: nova/db/sqlalchemy/migration.py:101
+msgid "Upgrade DB using Essex release first."
+msgstr "Führen Sie zuerst ein Upgrade der Datenbank mittels der "
+"Essex-Veröffentlichung durch."
+
+#: nova/db/sqlalchemy/session.py:162
+#, python-format
+msgid "SQL connection failed. %s attempts left."
+msgstr "SQL-Verbindung fehlgeschlagen; %s Versuche übrig"
+
+#: nova/db/sqlalchemy/migrate_repo/versions/083_quota_class.py:50
+#: nova/db/sqlalchemy/migrate_repo/versions/092_add_instance_system_metadata.py:60
+#: nova/db/sqlalchemy/migrate_repo/versions/097_quota_usages_reservations.py:53
+#: nova/db/sqlalchemy/migrate_repo/versions/097_quota_usages_reservations.py:86
+#: nova/db/sqlalchemy/migrate_repo/versions/115_make_user_quotas_key_and_value.py:74
+#: nova/db/sqlalchemy/migrate_repo/versions/116_drop_user_quotas_key_and_value.py:97
+#: nova/db/sqlalchemy/migrate_repo/versions/132_add_instance_type_projects.py:52
+#, python-format
+msgid "Table |%s| not created!"
+msgstr "Tabelle |%s| nicht erstellt!"
+
+#: nova/db/sqlalchemy/migrate_repo/versions/083_quota_class.py:62
+msgid "quota_classes table not dropped"
+msgstr "Tabelle «quota_classes« nicht gelöscht"
+
+#: nova/db/sqlalchemy/migrate_repo/versions/088_change_instance_id_to_uuid_in_block_device_mapping.py:56
+#: nova/db/sqlalchemy/migrate_repo/versions/100_instance_metadata_uses_uuid.py:56
+#: nova/db/sqlalchemy/migrate_repo/versions/101_security_group_instance_association_uses_uuid.py:56
+#: nova/db/sqlalchemy/migrate_repo/versions/102_consoles_uses_uuid.py:56
+#: nova/db/sqlalchemy/migrate_repo/versions/105_instance_info_caches_uses_uuid.py:44
+#: nova/db/sqlalchemy/migrate_repo/versions/105_instance_info_caches_uses_uuid.py:67
+#: nova/db/sqlalchemy/migrate_repo/versions/109_drop_dns_domains_project_id_fkey.py:43
+#: nova/db/sqlalchemy/migrate_repo/versions/113_fixed_ips_uses_uuid.py:56
+#: nova/db/sqlalchemy/migrate_repo/versions/113_fixed_ips_uses_uuid.py:87
+#: nova/db/sqlalchemy/migrate_repo/versions/114_vifs_uses_uuid.py:56
+#: nova/db/sqlalchemy/migrate_repo/versions/114_vifs_uses_uuid.py:87
+msgid "foreign key constraint couldn't be removed"
+msgstr "Fremdschlüssel-Constraint konnte nicht entfernt werden"
+
+#: nova/db/sqlalchemy/migrate_repo/versions/090_modify_volume_id_datatype.py:84
+#: nova/db/sqlalchemy/migrate_repo/versions/090_modify_volume_id_datatype.py:128
+#: nova/db/sqlalchemy/migrate_repo/versions/090_modify_volume_id_datatype.py:178
+#: nova/db/sqlalchemy/migrate_repo/versions/090_modify_volume_id_datatype.py:236
+msgid "Foreign Key constraint couldn't be removed"
+msgstr "Fremdschlüssel-Constraint konnte nicht entfernt werden"
+
+#: nova/db/sqlalchemy/migrate_repo/versions/095_change_fk_instance_id_to_uuid.py:57
+msgid "foreign key could not be dropped"
+msgstr "Fremdschlüssel konnte nicht gelöscht werden"
+
+#: nova/db/sqlalchemy/migrate_repo/versions/095_change_fk_instance_id_to_uuid.py:91
+msgid "foreign key could not be created"
+msgstr "Fremdschlüssel konnte nicht angelegt werden"
+
+#: nova/db/sqlalchemy/migrate_repo/versions/097_quota_usages_reservations.py:98
+msgid "quota_usages table not dropped"
+msgstr "Tabelle »quota_usages« nicht gelöscht"
+
+#: nova/db/sqlalchemy/migrate_repo/versions/097_quota_usages_reservations.py:105
+msgid "reservations table not dropped"
+msgstr "Tabelle »reservations« nicht gelöscht"
+
+#: nova/db/sqlalchemy/migrate_repo/versions/106_add_foreign_keys.py:45
+#: nova/db/sqlalchemy/migrate_repo/versions/113_fixed_ips_uses_uuid.py:66
+#: nova/db/sqlalchemy/migrate_repo/versions/113_fixed_ips_uses_uuid.py:107
+#: nova/db/sqlalchemy/migrate_repo/versions/114_vifs_uses_uuid.py:66
+#: nova/db/sqlalchemy/migrate_repo/versions/114_vifs_uses_uuid.py:107
+msgid "foreign key constraint couldn't be created"
+msgstr "Fremdschlüssel-Constraint konnte nicht erstellt werden"
+
+#: nova/db/sqlalchemy/migrate_repo/versions/106_add_foreign_keys.py:66
+msgid "foreign key constraint couldn't be dropped"
+msgstr "Fremdschlüssel-Constraint konnte nicht gelöscht werden"
+
+#: nova/db/sqlalchemy/migrate_repo/versions/115_make_user_quotas_key_and_value.py:93
+#: nova/db/sqlalchemy/migrate_repo/versions/116_drop_user_quotas_key_and_value.py:43
+msgid "user_quotas table not dropped"
+msgstr "Tabelle »user_quotas« nicht gelöscht"
+
+#: nova/image/glance.py:143
+#, python-format
+msgid ""
+"Error contacting glance server '%(host)s:%(port)s' for '%(method)s', "
+"%(extra)s."
+msgstr ""
+"Fehler beim Kontaktieren des Glance-Servers »%(host)s:%(port)s« für »%"
+"(method)s«; »%(extra)s«"
+
+#: nova/image/s3.py:311
+#, python-format
+msgid "Failed to download %(image_location)s to %(image_path)s"
+msgstr "Herunterladen von %(image_location)s nach %(image_path)s fehlgeschlagen"
+
+#: nova/image/s3.py:328
+#, python-format
+msgid "Failed to decrypt %(image_location)s to %(image_path)s"
+msgstr "Entschlüsseln von %(image_location)s nach %(image_path)s fehlgeschlagen"
+
+#: nova/image/s3.py:338
+#, python-format
+msgid "Failed to untar %(image_location)s to %(image_path)s"
+msgstr "Entpacken von %(image_location)s nach %(image_path)s fehlgeschlagen"
+
+#: nova/image/s3.py:348
+#, python-format
+msgid "Failed to upload %(image_location)s to %(image_path)s"
+msgstr "Hochladen von %(image_location)s nach %(image_path)s fehlgeschlagen"
+
+#: nova/image/s3.py:372
+#, python-format
+msgid "Failed to decrypt private key: %s"
+msgstr "Entschlüsseln des privaten Schlüssels fehlgeschlagen: %s"
+
+#: nova/image/s3.py:379
+#, python-format
+msgid "Failed to decrypt initialization vector: %s"
+msgstr "Entschlüsseln des Initialisierungsvektors fehlgeschlagen: %s"
+
+#: nova/image/s3.py:390
+#, python-format
+msgid "Failed to decrypt image file %(image_file)s: %(err)s"
+msgstr "Entschlüsseln der Image-Datei %(image_file)s fehlgeschlagen: %(err)s"
+
+#: nova/image/s3.py:402
+msgid "Unsafe filenames in image"
+msgstr "Unsichere Dateinamen im Image"
+
+#: nova/ipv6/account_identifier.py:38 nova/ipv6/rfc2462.py:34
+#, python-format
+msgid "Bad mac for to_global_ipv6: %s"
+msgstr "Schlechte MAC für to_global_ipv6: %s"
+
+#: nova/ipv6/account_identifier.py:40 nova/ipv6/rfc2462.py:36
+#, python-format
+msgid "Bad prefix for to_global_ipv6: %s"
+msgstr "Schlechtes Präfix für to_global_ipv6: %s"
+
+#: nova/ipv6/account_identifier.py:42
+#, python-format
+msgid "Bad project_id for to_global_ipv6: %s"
+msgstr "Schlechte project_id für to_global_ipv6: %s"
+
+#: nova/network/api.py:52
+msgid "instance is a required argument to use @refresh_cache"
+msgstr "Instanz ist ein notwendiges Argument, um @refresh_cache zu verwenden"
+
+#: nova/network/api.py:79
+#, python-format
+msgid "args: %s"
+msgstr "Argumente: %s"
+
+#: nova/network/api.py:80
+#, python-format
+msgid "kwargs: %s"
+msgstr "kwargs: %s"
+
+#: nova/network/api.py:217
+#, python-format
+msgid "re-assign floating IP %(address)s from instance %(instance_id)s"
+msgstr "Wiederzuweisung der floating IP %(address)s zu der Instanz "
+"%(instance_id)s"
+
+#: nova/network/ldapdns.py:317
+msgid "This driver only supports type 'a' entries."
+msgstr "Dieser Treiber unterstützt nur Einträge vom Typ »a«."
+
+#: nova/network/linux_net.py:177
+#, python-format
+msgid "Attempted to remove chain %s which does not exist"
+msgstr "Es wurde versucht, die Kette %s zu entfernen, die allerdings nicht "
+"existiert."
+
+#: nova/network/linux_net.py:212
+#, python-format
+msgid "Unknown chain: %r"
+msgstr "Unbekannte Kette: %r"
+
+#: nova/network/linux_net.py:237
+#, python-format
+msgid ""
+"Tried to remove rule that was not there: %(chain)r %(rule)r %(wrap)r "
+"%(top)r"
+msgstr ""
+"Es wurde versucht, eine Regel zu entfernen, die nicht existierte: %(chain)r "
+"%(rule)r %(wrap)r %(top)r"
+
+#: nova/network/linux_net.py:372
+msgid "IPTablesManager.apply completed with success"
+msgstr "IPTablesManager.apply mit Erfolg abgeschlossen"
+
+#: nova/network/linux_net.py:578
+#, python-format
+msgid "arping error for ip %s"
+msgstr "ARP-Fehler bei IP %s"
+
+#: nova/network/linux_net.py:788
+#, python-format
+msgid "Pid %d is stale, skip killing dnsmasq"
+msgstr "PID %d ist veraltet, Abbruch von dnsmasq überspringen"
+
+#: nova/network/linux_net.py:828
+#, python-format
+msgid "Hupping dnsmasq threw %s"
+msgstr "HUPen von dnsmasq hat zu %s geführt"
+
+#: nova/network/linux_net.py:830
+#, python-format
+msgid "Pid %d is stale, relaunching dnsmasq"
+msgstr "PID %d ist abgelaufen, dnsmasq wird neu gestartet"
+
+#: nova/network/linux_net.py:892
+#, python-format
+msgid "killing radvd threw %s"
+msgstr "Abbrechen von radvd hat zu %s geführt"
+
+#: nova/network/linux_net.py:894
+#, python-format
+msgid "Pid %d is stale, relaunching radvd"
+msgstr "PID %d ist abgelaufen, radvd wird neu gestartet"
+
+#: nova/network/linux_net.py:1124
+#, python-format
+msgid "Starting VLAN inteface %s"
+msgstr "VLAN-Schnittstelle %s wird gestartet"
+
+#: nova/network/linux_net.py:1160
+#, python-format
+msgid "Starting Bridge interface for %s"
+msgstr "Netzwerkbrückenschnittstelle für %s wird gestartet"
+
+#: nova/network/linux_net.py:1203
+#, python-format
+msgid "Failed to add interface: %s"
+msgstr "Hinzufügen der Schnittstelle fehlgeschlagen: %s"
+
+#: nova/network/linux_net.py:1304
+#, python-format
+msgid "Starting bridge %s "
+msgstr "Netzwerkbrücke %s wird gestartet"
+
+#: nova/network/linux_net.py:1312
+#, python-format
+msgid "Done starting bridge %s"
+msgstr "Fertig mit dem Starten der Netzwerkbrücke %s"
+
+#: nova/network/linux_net.py:1331
+#, python-format
+msgid "Failed unplugging gateway interface '%s'"
+msgstr "Abziehen der Gateway-Schnittstelle »%s« fehlgeschlagen"
+
+#: nova/network/linux_net.py:1333
+#, python-format
+msgid "Unplugged gateway interface '%s'"
+msgstr "Gateway-Schnittstelle »%s« abgezogen"
+
+#: nova/network/manager.py:290
+#, python-format
+msgid "Fixed ip %(fixed_ip_id)s not found"
+msgstr "Feste IP %(fixed_ip_id)s nicht gefunden"
+
+#: nova/network/manager.py:299 nova/network/manager.py:562
+#, python-format
+msgid "Interface %(interface)s not found"
+msgstr "Schnittstelle %(interface)s nicht gefunden"
+
+#: nova/network/manager.py:314
+#, python-format
+msgid "floating IP allocation for instance |%s|"
+msgstr "Floating-IP-Zuweisung für Instanz |%s|"
+
+#: nova/network/manager.py:378
+msgid "Floating IP is not associated. Ignore."
+msgstr "Floating IP ist nicht zugewiesen; wird ignoriert"
+
+#: nova/network/manager.py:396
+#, python-format
+msgid "Address |%(address)s| is not allocated"
+msgstr "Adresse |%(address)s| ist nicht zugewiesen"
+
+#: nova/network/manager.py:400
+#, python-format
+msgid "Address |%(address)s| is not allocated to your project |%(project)s|"
+msgstr ""
+"Die Adresse |%(address)s| ist nicht Ihrem Projekt |%(project)s| zugewiesen."
+
+#: nova/network/manager.py:421
+#, python-format
+msgid "Quota exceeded for %(pid)s, tried to allocate floating IP"
+msgstr ""
+"Kontingent für %(pid)s überschritten, es wurde versucht, eine floating IP "
+"zuzuweisen"
+
+#: nova/network/manager.py:482
+msgid "Failed to update usages deallocating floating IP"
+msgstr ""
+"Aktualisierung der Verwendungsstatistik unter Freigabe der floating IP "
+"fehlgeschlagen"
+
+#: nova/network/manager.py:691
+#, python-format
+msgid ""
+"Database inconsistency: DNS domain |%s| is registered in the Nova db but "
+"not visible to either the floating or instance DNS driver. It will be "
+"ignored."
+msgstr ""
+"Datenbankinkonsistenz: Die DNS-Domain |%s| ist in der Nova-DB registriert, "
+"aber weder für den Floating- noch für den Instanz-DNS-Treiber sichtbar. Sie "
+"wird ignoriert werden."
+
+#: nova/network/manager.py:737
+#, python-format
+msgid "Domain |%(domain)s| already exists, changing zone to |%(av_zone)s|."
+msgstr ""
+"Die Domain |%(domain)s| ist bereits vorhanden, die Zone wird auf |%"
+"(av_zone)s| geändert."
+
+#: nova/network/manager.py:747
+#, python-format
+msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
+msgstr ""
+"Die Domain |%(domain)s| ist bereits vorhanden, Projekt wird auf |%"
+"(project)s| abgeändert"
+
+#: nova/network/manager.py:858
+#, python-format
+msgid "Disassociated %s stale fixed ip(s)"
+msgstr "%s abgelaufene feste IP(s) freigegeben"
+
+#: nova/network/manager.py:862
+msgid "setting network host"
+msgstr "Netzwerk-Host wird gesetzt"
+
+#: nova/network/manager.py:976
+msgid "network allocations"
+msgstr "Netzwerkzuweisungen"
+
+#: nova/network/manager.py:981
+#, python-format
+msgid "networks retrieved for instance: |%(networks)s|"
+msgstr "Netzwerke abgerufen für Instanz: |%(networks)s|"
+
+#: nova/network/manager.py:1011
+msgid "network deallocation for instance"
+msgstr "Netzwerk-Freigabe für Instanz"
+
+#: nova/network/manager.py:1234
+#, python-format
+msgid ""
+"instance-dns-zone is |%(domain)s|, which is in availability zone "
+"|%(zone)s|. Instance is in zone |%(zone2)s|. No DNS record will be "
+"created."
+msgstr ""
+"instance-dns-zone ist |%(domain)s| in der Verfügbarkeitszone |%(zone)s| Die "
+"Instanz hält sich in der Zone |%(zone2)s| auf. Es wird kein DNS-Eintrag "
+"erstellt."
+
+#: nova/network/manager.py:1313
+#, python-format
+msgid "Unable to release %s because vif doesn't exist."
+msgstr "%s lässt sich nicht veröffentlichen, vif existiert nicht"
+
+#: nova/network/manager.py:1334
+#, python-format
+msgid "Leased IP |%(address)s|"
+msgstr "Geleaste IP |%(address)s|"
+
+#: nova/network/manager.py:1338
+#, python-format
+msgid "IP %s leased that is not associated"
+msgstr "IP %s, die nicht zugewiesen ist"
+
+#: nova/network/manager.py:1346
+#, python-format
+msgid "IP |%s| leased that isn't allocated"
+msgstr "IP |%s| geleast, die nicht zugewiesen ist"
+
+#: nova/network/manager.py:1351
+#, python-format
+msgid "Released IP |%(address)s|"
+msgstr "IP |%(address)s| freigegeben"
+
+#: nova/network/manager.py:1355
+#, python-format
+msgid "IP %s released that is not associated"
+msgstr "IP %s freigegeben, die nicht zugewiesen ist"
+
+#: nova/network/manager.py:1358
+#, python-format
+msgid "IP %s released that was not leased"
+msgstr "IP %s freigegeben, die nicht geleast war"
+
+#: nova/network/manager.py:1377
+#, python-format
+msgid "%s must be an integer"
+msgstr "%s muss eine ganze Zahl sein."
+
+#: nova/network/manager.py:1401
+msgid "Maximum allowed length for 'label' is 255."
+msgstr "Die erlaubte Höchstlänge für »label« ist 255."
+
+#: nova/network/manager.py:1421
+#, python-format
+msgid ""
+"Subnet(s) too large, defaulting to /%s. To override, specify "
+"network_size flag."
+msgstr ""
+"Subnetz(e) zu groß, Standardeinstellung /%s wird übernommen; benutzen Sie den "
+"Schalter »network_size«, um sie außer Kraft zu setzen"
+
+#: nova/network/manager.py:1499
+msgid "cidr already in use"
+msgstr "CIDR bereits in Benutzung"
+
+#: nova/network/manager.py:1502
+#, python-format
+msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
+msgstr ""
+"angefragtes CIDR (%(cidr)s) verträgt sich nicht mit dem vorhandenen "
+"Supernetz (%(super)s)"
+
+#: nova/network/manager.py:1513
+#, python-format
+msgid ""
+"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
+"(%(smaller)s)"
+msgstr ""
+"angefragtes CIDR (%(cidr)s) verträgt sich nicht mit dem vorhandenen, "
+"kleineren CIDR (%(smaller)s)"
+
+#: nova/network/manager.py:1572
+msgid "Network already exists!"
+msgstr "Das Netzwerk ist bereits vorhanden!"
+
+#: nova/network/manager.py:1592
+#, python-format
+msgid "Network must be disassociated from project %s before delete"
+msgstr ""
+"Vor dem Löschen muss erst die Zuweisung des Netzwerks zum Projekt %s "
+"aufgehoben werden."
+
+#: nova/network/manager.py:2041
+msgid ""
+"The sum between the number of networks and the vlan start cannot be "
+"greater than 4094"
+msgstr ""
+"Die Summe aus der Anzahl der Netzwerke und dem VLAN-Anfang darf nicht größer "
+"als 4094 sein."
+
+#: nova/network/manager.py:2048
+#, python-format
+msgid ""
+"The network range is not big enough to fit %(num_networks)s. Network size"
+" is %(network_size)s"
+msgstr ""
+"Der Netzwerkbereich ist nicht groß genug, damit %(num_networks)s Netzwerke "
+"hineinpassen. Die Netzwerkgröße ist %(network_size)s."
+
+#: nova/network/minidns.py:65
+msgid "This driver only supports type 'a'"
+msgstr "Dieser Treiber unterstützt nur Typ »a«."
+
+#: nova/network/model.py:337
+msgid "v4 subnets are required for legacy nw_info"
+msgstr "Für das veraltete nw_info sind v4-Subnetze erforderlich."
+
+#: nova/network/quantum/nova_ipam_lib.py:75
+msgid "Error creating network entry"
+msgstr "Fehler beim Erstellen des Netzwerkeintrags"
+
+#: nova/network/quantum/nova_ipam_lib.py:90
+#, python-format
+msgid "No network with net_id = %s"
+msgstr "Kein Netzwerk mit net_id = %s"
+
+#: nova/network/quantum/nova_ipam_lib.py:256
+#, python-format
+msgid "No fixed IPs to deallocate for vif %s"
+msgstr "Keine festen IPs, um die Zuweisung von vif-%s-IPs aufzuheben"
+
+#: nova/network/quantumv2/__init__.py:41
+msgid "_get_auth_token() failed"
+msgstr "_get_auth_token() fehlgeschlagen"
+
+#: nova/network/quantumv2/api.py:92
+#, python-format
+msgid "allocate_for_instance() for %s"
+msgstr "allocate_for_instance() für %s"
+
+#: nova/network/quantumv2/api.py:95
+#, python-format
+msgid "empty project id for instance %s"
+msgstr "leere Projekt-ID für Instanz %s"
+
+#: nova/network/quantumv2/api.py:148
+#, python-format
+msgid "Fail to delete port %(portid)s with failure: %(exception)s"
+msgstr "Löschen des Ports %(portid)s fehlgeschlagen, Grund: %(exception)s"
+
+#: nova/network/quantumv2/api.py:159
+#, python-format
+msgid "deallocate_for_instance() for %s"
+msgstr "deallocate_for_instance() für %s"
+
+#: nova/network/quantumv2/api.py:168
+#, python-format
+msgid "Failed to delete quantum port %(portid)s "
+msgstr "Löschen des Quantum-Ports %(portid)s fehlgeschlagen"
+
+#: nova/network/quantumv2/api.py:177
+#, python-format
+msgid "get_instance_nw_info() for %s"
+msgstr "get_instance_nw_info() für %s"
+
+#: nova/network/quantumv2/api.py:192
+#, python-format
+msgid "validate_networks() for %s"
+msgstr "validate_networks() für %s"
+
+#: nova/openstack/common/log.py:299
+#, python-format
+msgid "syslog facility must be one of: %s"
+msgstr "Syslog-Einrichtung muss eine hiervon sein: %s"
+
+#: nova/openstack/common/policy.py:149
+#, python-format
+msgid ""
+"Inheritance-based rules are deprecated; use the default brain instead of "
+"%s."
+msgstr ""
+"Vererbungsbasierte Regeln sind veraltet; verwenden Sie das Standard-Gehirn "
+"anstelle von %s."
+
+#: nova/openstack/common/policy.py:163
+#, python-format
+msgid "Failed to understand rule %(match)r"
+msgstr "Regel %(match)r nicht verstanden"
+
+#: nova/openstack/common/policy.py:173
+#, python-format
+msgid "Inheritance-based rules are deprecated; update _check_%s"
+msgstr "Vererbungsbasierte Regeln sind veraltet; aktualisieren Sie _check_%s"
+
+#: nova/openstack/common/policy.py:179
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr "Kein Handler für Treffer des Typs %s"
+
+#: nova/openstack/common/notifier/api.py:125
+#, python-format
+msgid "%s not in valid priorities"
+msgstr "%s nicht in zulässigen Prioritäten enthalten"
+
+#: nova/openstack/common/notifier/api.py:141
+#, python-format
+msgid ""
+"Problem '%(e)s' attempting to send to notification system. "
+"Payload=%(payload)s"
+msgstr ""
+"Problem »%(e)s« versucht, an das Benachrichtigungssystem zu senden. "
+"Nutzlast=%(payload)s"
+
+#: nova/openstack/common/notifier/api.py:170
+#, python-format
+msgid "Failed to load notifier %s. These notifications will not be sent."
+msgstr ""
+"Laden des Benachrichtigers %s fehlgeschlagen, diese Benachrichtigungen "
+"werden nicht gesendet."
+
+#: nova/openstack/common/notifier/rabbit_notifier.py:45
+#, python-format
+msgid "Could not send notification to %(topic)s. Payload=%(message)s"
+msgstr ""
+"Benachrichtigung konnte nicht an %(topic)s gesendet werden. Nutzlast=%"
+"(message)s"
+
+#: nova/openstack/common/plugin/pluginmanager.py:64
+#, python-format
+msgid "Failed to load plugin %(plug)s: %(exc)s"
+msgstr "Laden des Plugins %(plug)s fehlgeschlagen: %(exc)s"
+
+#: nova/openstack/common/rpc/amqp.py:208
+#, python-format
+msgid "unpacked context: %s"
+msgstr "ungepackter Kontext: %s"
+
+#: nova/openstack/common/rpc/amqp.py:252
+#, python-format
+msgid "received %s"
+msgstr "%s erhalten"
+
+#: nova/openstack/common/rpc/amqp.py:258
+#, python-format
+msgid "no method for message: %s"
+msgstr "keine Methode für diese Nachricht gefunden: %s"
+
+#: nova/openstack/common/rpc/amqp.py:259
+#, python-format
+msgid "No method for message: %s"
+msgstr "Keine Methode für diese Nachricht gefunden: %s"
+
+#: nova/openstack/common/rpc/amqp.py:351
+#, python-format
+msgid "Making asynchronous call on %s ..."
+msgstr "Asynchroner Aufruf für %s läuft …"
+
+#: nova/openstack/common/rpc/amqp.py:354
+#, python-format
+msgid "MSG_ID is %s"
+msgstr "MSG_ID ist %s"
+
+#: nova/openstack/common/rpc/amqp.py:376
+#, python-format
+msgid "Making asynchronous cast on %s..."
+msgstr "Asynchrone Auslösung für %s läuft …"
+
+#: nova/openstack/common/rpc/amqp.py:384
+msgid "Making asynchronous fanout cast..."
+msgstr "Asynchrone Fanout-Auslösung läuft …"
+
+#: nova/openstack/common/rpc/amqp.py:410
+#, python-format
+msgid "Sending %(event_type)s on %(topic)s"
+msgstr "%(event_type)s wird an %(topic)s gesendet"
+
+#: nova/openstack/common/rpc/common.py:34
+msgid "An unknown RPC related exception occurred."
+msgstr "Eine unbekannte RPC-bezogene Ausnahme ist aufgetreten."
+
+#: nova/openstack/common/rpc/common.py:64
+#, python-format
+msgid ""
+"Remote error: %(exc_type)s %(value)s\n"
+"%(traceback)s."
+msgstr "Ferner Fehler: %(exc_type)s %(value)s %(traceback)s"
+
+#: nova/openstack/common/rpc/common.py:81
+msgid "Timeout while waiting on RPC response."
+msgstr "Zeitüberschreitung während des Wartens auf RPC-Antwort"
+
+#: nova/openstack/common/rpc/common.py:85
+msgid "Invalid reuse of an RPC connection."
+msgstr "Unzulässige Wiederverwendung einer RPC-Verbindung"
+
+#: nova/openstack/common/rpc/common.py:89
+#, python-format
+msgid "Specified RPC version, %(version)s, not supported by this endpoint."
+msgstr ""
+"Die angegebene RPC-Version %(version)s wird von diesem Endpunkt nicht "
+"unterstützt."
+
+#: nova/openstack/common/rpc/common.py:206
+#, python-format
+msgid "Returning exception %s to caller"
+msgstr "Ausnahme %s wird dem Aufrufenden zurückgegeben"
+
+#: nova/openstack/common/rpc/impl_kombu.py:145
+#: nova/openstack/common/rpc/impl_qpid.py:144
+msgid "Failed to process message... skipping it."
+msgstr "Verarbeiten der Nachricht fehlgeschlagen … wird übersprungen"
+
+#: nova/openstack/common/rpc/impl_kombu.py:431
+#, python-format
+msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
+msgstr ""
+"Verbindung zu AMQP-Server auf %(hostname)s:%(port)d wird wiederhergestellt"
+
+#: nova/openstack/common/rpc/impl_kombu.py:453
+#, python-format
+msgid "Connected to AMQP server on %(hostname)s:%(port)d"
+msgstr "Verbunden mit AMQP-Server auf %(hostname)s:%(port)d"
+
+#: nova/openstack/common/rpc/impl_kombu.py:489
+#, python-format
+msgid ""
+"Unable to connect to AMQP server on %(hostname)s:%(port)d after "
+"%(max_retries)d tries: %(err_str)s"
+msgstr ""
+"Verbindungsversuche zum AMQP-Server auf %(hostname)s:%(port)d nach %"
+"(max_retries)d Versuchen aufgegeben: %(err_str)s"
+
+#: nova/openstack/common/rpc/impl_kombu.py:505
+#, python-format
+msgid ""
+"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
+"again in %(sleep_time)d seconds."
+msgstr ""
+"AMQP auf %(hostname)s:%(port)d ist nicht erreichbar: %(err_str)s; Neuer "
+"Versuch wird in %(sleep_time)d Sekunden gestartet."
+
+#: nova/openstack/common/rpc/impl_kombu.py:556
+#: nova/openstack/common/rpc/impl_qpid.py:402
+#, python-format
+msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
+msgstr ""
+"Bekanntgabe des Rezipienten des Themas »%(topic)s« fehlgeschlagen: %"
+"(err_str)s"
+
+#: nova/openstack/common/rpc/impl_kombu.py:574
+#: nova/openstack/common/rpc/impl_qpid.py:417
+#, python-format
+msgid "Timed out waiting for RPC response: %s"
+msgstr "Zeitüberschreitung beim Warten auf RPC-Antwort: %s"
+
+#: nova/openstack/common/rpc/impl_kombu.py:578
+#: nova/openstack/common/rpc/impl_qpid.py:421
+#, python-format
+msgid "Failed to consume message from queue: %s"
+msgstr "Rezipieren der Nachricht aus Warteschlange fehlgeschlagen: %s"
+
+#: nova/openstack/common/rpc/impl_kombu.py:612
+#: nova/openstack/common/rpc/impl_qpid.py:451
+#, python-format
+msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
+msgstr ""
+"Veröffentlichung der Nachricht zum Thema »%(topic)s« fehlgeschlagen: %"
+"(err_str)s"
+
+#: nova/openstack/common/rpc/impl_qpid.py:358
+#, python-format
+msgid "Unable to connect to AMQP server: %s"
+msgstr "Verbindung zum AMQP-Server lässt sich nicht herstellen: %s"
+
+#: nova/openstack/common/rpc/impl_qpid.py:363
+#, python-format
+msgid "Connected to AMQP server on %s"
+msgstr "Verbunden mit AMQP-Server auf %s"
+
+#: nova/openstack/common/rpc/impl_qpid.py:371
+msgid "Re-established AMQP queues"
+msgstr "AMQP-Warteschlangen wiederhergestellt"
+
+#: nova/openstack/common/rpc/impl_qpid.py:429
+msgid "Error processing message. Skipping it."
+msgstr "Fehler beim Verarbeiten der Nachricht, wird übersprungen"
+
+#: nova/openstack/common/rpc/impl_zmq.py:89
+msgid "JSON serialization failed."
+msgstr "JSON-Serialisierung fehlgeschlagen"
+
+#: nova/openstack/common/rpc/impl_zmq.py:97
+#, python-format
+msgid "Deserializing: %s"
+msgstr "Deserialisierung: %s"
+
+#: nova/openstack/common/rpc/impl_zmq.py:133
+#, python-format
+msgid "Connecting to %(addr)s with %(type)s"
+msgstr "Verbindung zu %(addr)s mit Typ %(type)s wird hergestellt"
+
+#: nova/openstack/common/rpc/impl_zmq.py:134
+#, python-format
+msgid "-> Subscribed to %(subscribe)s"
+msgstr "-> %(subscribe)s abonniert"
+
+#: nova/openstack/common/rpc/impl_zmq.py:135
+#, python-format
+msgid "-> bind: %(bind)s"
+msgstr "-> bind: %(bind)s"
+
+#: nova/openstack/common/rpc/impl_zmq.py:143
+msgid "Could not open socket."
+msgstr "Socket konnte nicht geöffnet werden"
+
+#: nova/openstack/common/rpc/impl_zmq.py:155
+#, python-format
+msgid "Subscribing to %s"
+msgstr "%s wird abonniert."
+
+#: nova/openstack/common/rpc/impl_zmq.py:193
+msgid "You cannot recv on this socket."
+msgstr "Sie können auf diesem Socket nicht empfangen."
+
+#: nova/openstack/common/rpc/impl_zmq.py:198
+msgid "You cannot send on this socket."
+msgstr "Sie können auf diesem Socket nicht senden."
+
+#: nova/openstack/common/rpc/impl_zmq.py:251
+#, python-format
+msgid "Running func with context: %s"
+msgstr "Funktion wird mit Kontext ausgeführt: %s"
+
+#: nova/openstack/common/rpc/impl_zmq.py:276
+msgid "Sending reply"
+msgstr "Antwort wird gesendet"
+
+#: nova/openstack/common/rpc/impl_zmq.py:344
+msgid "Registering reactor"
+msgstr "Reaktor wird registriert"
+
+#: nova/openstack/common/rpc/impl_zmq.py:356
+msgid "In reactor registered"
+msgstr "In-Reaktor registriert"
+
+#: nova/openstack/common/rpc/impl_zmq.py:371
+msgid "Out reactor registered"
+msgstr "Out-Reaktor registriert"
+
+#: nova/openstack/common/rpc/impl_zmq.py:375
+msgid "Consuming socket"
+msgstr "Socket wird rezipiert"
+
+#: nova/openstack/common/rpc/impl_zmq.py:422
+#, python-format
+msgid "CONSUMER GOT %s"
+msgstr "REZIPIENT HAT %s ERHALTEN"
+
+#: nova/openstack/common/rpc/impl_zmq.py:432
+#, python-format
+msgid "->response->%s"
+msgstr "->Antwort->%s"
+
+#: nova/openstack/common/rpc/impl_zmq.py:442
+#, python-format
+msgid "Created topic proxy: %s"
+msgstr "Themenproxy erstellt: %s"
+
+#: nova/openstack/common/rpc/impl_zmq.py:449
+#, python-format
+msgid "ROUTER RELAY-OUT START %(data)s"
+msgstr "ROUTER RELAY-OUT START %(data)s"
+
+#: nova/openstack/common/rpc/impl_zmq.py:451
+#, python-format
+msgid "ROUTER RELAY-OUT SUCCEEDED %(data)s"
+msgstr "ROUTER RELAY-OUT WAR ERFOLGREICH %(data)s"
+
+#: nova/openstack/common/rpc/impl_zmq.py:467
+#, python-format
+msgid "CONSUMER RECEIVED DATA: %s"
+msgstr "REZIPIENT HAT DATEN EMPFANGEN: %s"
+
+#: nova/openstack/common/rpc/impl_zmq.py:469
+#, python-format
+msgid "ROUTER RELAY-OUT %(data)s"
+msgstr "ROUTER RELAY-OUT %(data)s"
+
+#: nova/openstack/common/rpc/impl_zmq.py:495
+#, python-format
+msgid "Create Consumer for topic (%(topic)s)"
+msgstr "Rezipient für Thema (%(topic)s) wird erstellt"
+
+#: nova/openstack/common/rpc/impl_zmq.py:511
+#, python-format
+msgid "Consumer is a zmq.%s"
+msgstr "Rezipient ist ein zmg.%s"
+
+#: nova/openstack/common/rpc/impl_zmq.py:554
+msgid "Creating payload"
+msgstr "Nutzlast wird erstellt"
+
+#: nova/openstack/common/rpc/impl_zmq.py:567
+msgid "Creating queue socket for reply waiter"
+msgstr "Warteschlangen-Socket zum Warten auf Antworten wird erstellt"
+
+#: nova/openstack/common/rpc/impl_zmq.py:578
+msgid "Sending cast"
+msgstr "Auslösung eingeleitet"
+
+#: nova/openstack/common/rpc/impl_zmq.py:581
+msgid "Cast sent; Waiting reply"
+msgstr "Auslöser gesendet; Warten auf Antwort"
+
+#: nova/openstack/common/rpc/impl_zmq.py:584
+#, python-format
+msgid "Received message: %s"
+msgstr "Nachricht erhalten: %s"
+
+#: nova/openstack/common/rpc/impl_zmq.py:585
+msgid "Unpacking response"
+msgstr "Antwort wird ausgepackt"
+
+#: nova/openstack/common/rpc/impl_zmq.py:612
+#, python-format
+msgid "%(msg)s"
+msgstr "%(msg)s"
+
+#: nova/openstack/common/rpc/impl_zmq.py:615
+#, python-format
+msgid "Sending message(s) to: %s"
+msgstr "Nachricht(en) wird/werden gesendet an: %s"
+
+#: nova/openstack/common/rpc/impl_zmq.py:619
+msgid "No matchmaker results. Not casting."
+msgstr "Keine MatchMaker-Ergebnisse; es wird nicht ausgelöst"
+
+#: nova/openstack/common/rpc/impl_zmq.py:709
+msgid ""
+"Matchmaker could not be loaded.\n"
+"rpc_zmq_matchmaker is not a class."
+msgstr ""
+"MatchMaker konnte nicht geladen werden.\n"
+"rpc_zmq_matchmaker ist keine Klasse"
+
+#FIXME: CamelCase in MatchMaker or not?
+#: nova/openstack/common/rpc/impl_zmq.py:711
+msgid "Error loading Matchmaker."
+msgstr "Fehler beim Laden von MatchMaker"
+
+#: nova/openstack/common/rpc/matchmaker.py:45
+msgid "Match not found by MatchMaker."
+msgstr "MatchMaker hat keine Treffer gefunden"
+
+#: nova/openstack/common/rpc/matchmaker.py:177
+#: nova/openstack/common/rpc/matchmaker.py:195
+#, python-format
+msgid "No key defining hosts for topic '%s', see ringfile"
+msgstr "Keine schlüsseldefinierenden Hosts für das Thema »%s«, siehe ringfile"
+
+#: nova/scheduler/chance.py:49 nova/scheduler/simple.py:96
+msgid "Is the appropriate service running?"
+msgstr "Läuft der entsprechende Dienst?"
+
+#: nova/scheduler/chance.py:54
+msgid "Could not find another compute"
+msgstr "Es konnte kein anderer Rechner gefunden werden."
+
+#: nova/scheduler/driver.py:64
+msgid "Exception during scheduler.run_instance"
+msgstr "Ausnahme während scheduler.run_instance"
+
+#: nova/scheduler/driver.py:68 nova/scheduler/manager.py:181
+#, python-format
+msgid "Setting instance to %(state)s state."
+msgstr "Instanz wird auf %(state)s-Zustand gesetzt."
+
+#: nova/scheduler/driver.py:101
+#, python-format
+msgid "Casted '%(method)s' to volume '%(host)s'"
+msgstr "»%(method)s« für Volume »%(host)s« ausgelöst."
+
+#: nova/scheduler/driver.py:124
+#, python-format
+msgid "Casted '%(method)s' to compute '%(host)s'"
+msgstr "»%(method)s« zum Berechnen von »%(host)s« ausgelöst."
+
+#: nova/scheduler/driver.py:133
+#, python-format
+msgid "Casted '%(method)s' to network '%(host)s'"
+msgstr "»%(method)s« für Netzwerk »%(host)s« ausgelöst"
+
+#: nova/scheduler/driver.py:151
+#, python-format
+msgid "Casted '%(method)s' to %(topic)s '%(host)s'"
+msgstr "»%(method)s« für %(topic)s »%(host)s« ausgelöst"
+
+#: nova/scheduler/driver.py:199
+msgid "Driver must implement schedule_prep_resize"
+msgstr "Der Treiber muss schedule_precp_resize implementieren"
+
+#: nova/scheduler/driver.py:207
+msgid "Driver must implement schedule_run_instance"
+msgstr "Der Treiber muss schedule_run_instance implementieren"
+
+#: nova/scheduler/driver.py:212
+msgid "Driver must implement schedule_create_volune"
+msgstr "Der Treiber muss schedule_create_volume implementieren"
+
+#: nova/scheduler/driver.py:344
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+"%(instance_uuid)s lässt sich nicht nach %(dest)s migrieren: zu wenig "
+"Speicher (Host: %(avail)s <= Instanz: %(mem_inst)s)"
+
+#: nova/scheduler/filter_scheduler.py:49
+#, python-format
+msgid "No host selection for %s defined."
+msgstr "Keine Hostauswahl für %s festgelegt."
+
+#: nova/scheduler/filter_scheduler.py:65
+#, python-format
+msgid "Attempting to build %(num_instances)d instance(s)"
+msgstr "Es wird versucht, %(num_instances)d Instanz(en) zu bauen."
+
+#: nova/scheduler/filter_scheduler.py:182
+msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
+msgstr "Unzulässiger Wert für »scheduler_max_attempts«, er muss >= 1 sein."
+
+#: nova/scheduler/filter_scheduler.py:209
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s"
+msgstr ""
+"Höchstzahl der Scheduler-Versuche %(max_attempts)d für Instanz %"
+"(instance_uuid)s überschritten"
+
+#: nova/scheduler/filter_scheduler.py:220
+msgid "Scheduler only understands Compute nodes (for now)"
+msgstr "Der Scheduler versteht (bisher) nur Compute-Knoten"
+
+#: nova/scheduler/filter_scheduler.py:272
+#, python-format
+msgid "Filtered %(hosts)s"
+msgstr "%(hosts)s gefiltert"
+
+#: nova/scheduler/filter_scheduler.py:282
+#, python-format
+msgid "Weighted %(weighted_host)s"
+msgstr "%(weighted_host)s gewichtet"
+
+#: nova/scheduler/host_manager.py:150
+#, python-format
+msgid "Host filter fails for ignored host %(host)s"
+msgstr "Hostfilter schlägt für den ignorierten Host %(host)s fehl"
+
+#: nova/scheduler/host_manager.py:157
+#, python-format
+msgid "Host filter fails for non-forced host %(host)s"
+msgstr "Der Hostfilter schlägt für den nicht erzwungenen Host %(host)s fehl."
+
+#: nova/scheduler/host_manager.py:163
+#, python-format
+msgid "Host filter function %(func)s failed for %(host)s"
+msgstr "Hostfilter-Funktion %(func)s ist für %(host)s fehlgeschlagen"
+
+#: nova/scheduler/host_manager.py:169
+#, python-format
+msgid "Host filter passes for %(host)s"
+msgstr "%(host)s läuft durch den Hostfilter"
+
+#: nova/scheduler/host_manager.py:230
+#, python-format
+msgid "Received %(service_name)s service update from %(host)s."
+msgstr "Dienstaktualisierung %(service_name)s von %(host)s empfangen"
+
+#: nova/scheduler/host_manager.py:253
+msgid "host_manager only implemented for 'compute'"
+msgstr "host_manager ist nur für »compute« implementiert"
+
+#: nova/scheduler/host_manager.py:263
+#, python-format
+msgid "No service for compute ID %s"
+msgstr "Kein Dienst für Rechen-ID %s"
+
+#: nova/scheduler/manager.py:79
+#, python-format
+msgid "Failed to schedule create_volume: %(ex)s"
+msgstr "Planen von create_volume fehlgeschlagen: %(ex)s"
+
+#: nova/scheduler/manager.py:165
+#, python-format
+msgid "Failed to schedule_%(method)s: %(ex)s"
+msgstr "schedule_%(method)s fehlgeschlagen: %(ex)s"
+
+#: nova/scheduler/scheduler_options.py:69
+#, python-format
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgstr ""
+"Statistiken für Scheduler-Optionsdatei %(filename)s konnten nicht erstellt "
+"werden: »%(e)s«"
+
+#: nova/scheduler/scheduler_options.py:78
+#, python-format
+msgid "Could not decode scheduler options: '%(e)s'"
+msgstr "Scheduler-Optionen konnten nicht dekodiert werden: »%(e)s«"
+
+#: nova/scheduler/simple.py:52
+msgid ""
+"SimpleScheduler now only covers volume scheduling and is deprecated in "
+"Folsom. Non-volume functionality in SimpleScheduler has been replaced by "
+"FilterScheduler"
+msgstr ""
+"SimpleScheduler deckt jetzt nur Volume-Planungen ab und ist in Folsom "
+"missbilligt. Die Nicht-Volume-Funktionalität in SimpleScheduler ist durch "
+"FilterScheduler ersetzt worden."
+
+#: nova/scheduler/simple.py:62
+msgid ""
+"nova-volume functionality is deprecated in Folsom and will be removed in "
+"Grizzly. Volumes are now handled by Cinder"
+msgstr ""
+"Die Nova-Volume-Funktionalität ist in Folsom missbilligt und wird in Grizzly "
+"entfernt werden. Volumes werden nun von Cinder gehandhabt."
+
+#: nova/scheduler/simple.py:89
+msgid "Not enough allocatable volume gigabytes remaining"
+msgstr "Es verbleiben nicht genügend reservierbare Gigabyte des Volumes."
+
+#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
+#: nova/scheduler/filters/aggregate_instance_extra_specs.py:56
+#: nova/scheduler/filters/compute_capabilities_filter.py:48
+#, python-format
+msgid "%(host_state)s fails instance_type extra_specs requirements"
+msgstr ""
+"%(host_state)s erfüllt die instance_type extra_specs-Anforderungen nicht"
+
+#: nova/scheduler/filters/compute_filter.py:36
+#, python-format
+msgid "%(host_state)s is disabled or has not been heard from in a while"
+msgstr ""
+"%(host_state)s ist abgeschaltet oder hat eine Weile nichts von sich hören "
+"lassen"
+
+#: nova/scheduler/filters/compute_filter.py:40
+#, python-format
+msgid "%(host_state)s is disabled via capabilities"
+msgstr "%(host_state)s ist über die Fähigkeiten abgeschaltet worden"
+
+#: nova/scheduler/filters/core_filter.py:45
+msgid "VCPUs not set; assuming CPU collection broken"
+msgstr "VCPUs nicht gesetzt; CPU-Sammlung wird als kaputt angesehen"
+
+#: nova/scheduler/filters/disk_filter.py:47
+#, python-format
+msgid ""
+"%(host_state)s does not have %(requested_disk)s MB usable disk, it only "
+"has %(usable_disk_mb)s MB usable disk."
+msgstr ""
+"%(host_state)s hat nicht %(requested_disk)s MB, sondern nur %"
+"(usable_disk_mb)s MB verwendbaren Festplattenspeicher"
+
+#: nova/scheduler/filters/image_props_filter.py:48
+#, python-format
+msgid ""
+"Instance contains properties %(image_props)s, but no corresponding "
+"capabilities are advertised by the compute node"
+msgstr ""
+"Die Instanz enthält die Eigenschaften %(image_props)s, aber der Compute-Knoten "
+"bewirbt keine entsprechenden Fähigkeiten"
+
+#: nova/scheduler/filters/image_props_filter.py:61
+#, python-format
+msgid ""
+"Instance properties %(image_props)s are satisfied by compute host "
+"capabilities %(capabilities)s"
+msgstr ""
+"Die Instanz-Eigenschaften %(image_props)s entsprechen den Fähigkeiten %"
+"(capabilities)s des Compute-Hosts."
+
+#: nova/scheduler/filters/image_props_filter.py:66
+#, python-format
+msgid ""
+"Instance contains properties %(image_props)s that are not provided by the"
+" compute node capabilities %(capabilities)s"
+msgstr ""
+"Die Instanz enthält Eigenschaften %(image_props)s, die nicht von den "
+"Fähigkeiten %(capabilities)s des Compute-Knotens gedeckt werden."
+
+#: nova/scheduler/filters/image_props_filter.py:82
+#, python-format
+msgid "%(host_state)s does not support requested instance_properties"
+msgstr "%(host_state)s unterstützt die angefragten instance_properties nicht"
+
+#: nova/scheduler/filters/ram_filter.py:46
+#, python-format
+msgid ""
+"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
+" %(usable_ram)s MB usable ram."
+msgstr ""
+"%(host_state)s hat nicht %(requested_ram)s MB, sondern nur %(usable_ram)s MB"
+"verwendbaren RAM."
+
+#: nova/scheduler/filters/retry_filter.py:38
+#, python-format
+msgid "Previously tried hosts: %(hosts)s. (host=%(host)s)"
+msgstr "Vorher versuchte Hosts: %(hosts)s. (host=%(host)s)"
+
+#: nova/scheduler/filters/trusted_filter.py:195
+#, python-format
+msgid "TCP: trust state of %(host)s:%(level)s(%(trust)s)"
+msgstr "TCP: Vertrauensstatus von %(host)s:%(level)s(%(trust)s)"
+
+#: nova/tests/fake_ldap.py:34
+msgid "Attempted to instantiate singleton"
+msgstr "es wurde versucht, einen Entwurf in eine Intanz umzuwandeln"
+
+#: nova/tests/fake_utils.py:72
+#, python-format
+msgid "Faking execution of cmd (subprocess): %s"
+msgstr "Vorgetäuschte Ausführung des Befehls (Subprozesses): %s"
+
+#: nova/tests/fake_utils.py:80
+#, python-format
+msgid "Faked command matched %s"
+msgstr "Der vorgetäuschte Befehl stimmte mit %s überein"
+
+#: nova/tests/fake_utils.py:96
+#, python-format
+msgid "Faked command raised an exception %s"
+msgstr "Der vorgetäuschte Befehl hat eine Ausnahme %s verursacht"
+
+#: nova/tests/fake_utils.py:101
+#, python-format
+msgid "Reply to faked command is stdout='%(stdout)s' stderr='%(stderr)s'"
+msgstr ""
+"Antwort auf den vorgetäuschten Befehl ist stdout=»%(stdout)s« Std-"
+"Fehl=»%(stderr)s«"
+
+#: nova/tests/fake_volume.py:175 nova/volume/api.py:90 nova/volume/api.py:318
+#: nova/volume/cinder.py:159
+msgid "status must be available"
+msgstr "sein Status muss verfügbar ein"
+
+#: nova/tests/fake_volume.py:178 nova/volume/api.py:321
+#: nova/volume/cinder.py:162
+msgid "already attached"
+msgstr "bereits angeschlossen"
+
+#: nova/tests/fake_volume.py:183 nova/volume/api.py:328
+#: nova/volume/cinder.py:168
+msgid "already detached"
+msgstr "bereits getrennt"
+
+#: nova/tests/fakelibvirt.py:835
+msgid "Please extend mock libvirt module to support flags"
+msgstr ""
+"Bitte erweitern Sie das mock-libvirt-Modul so, dass es Schalter unterstützt"
+
+#: nova/tests/fakelibvirt.py:839
+msgid "Expected a list for 'auth' parameter"
+msgstr "Erwartet wurde eine Liste der »auth«-Parameter"
+
+#: nova/tests/fakelibvirt.py:843
+msgid "Expected a function in 'auth[0]' parameter"
+msgstr "Im »auth[0]«-Parameter wurde eine Funktion erwartet"
+
+#: nova/tests/fakelibvirt.py:847
+msgid "Expected a function in 'auth[1]' parameter"
+msgstr "Im »auth[1]«-Parameter wurde eine Funktion erwartet"
+
+#: nova/tests/test_misc.py:63
+#, python-format
+msgid ""
+"The following migrations are missing a downgrade:\n"
+"\t%s"
+msgstr ""
+"Die folgenden Migrationen vermissen ein Downgrade:\n"
+"\t%s"
+
+#: nova/tests/test_nova_manage.py:202
+msgid "id"
+msgstr "ID"
+
+#: nova/tests/test_nova_manage.py:203
+msgid "IPv4"
+msgstr "IPv4"
+
+#: nova/tests/test_nova_manage.py:204
+msgid "IPv6"
+msgstr "IPv6"
+
+#: nova/tests/test_nova_manage.py:205
+msgid "start address"
+msgstr "Anfangsadresse"
+
+#: nova/tests/test_nova_manage.py:206
+msgid "DNS1"
+msgstr "DNS1"
+
+#: nova/tests/test_nova_manage.py:207
+msgid "DNS2"
+msgstr "DNS2"
+
+#: nova/tests/test_nova_manage.py:208
+msgid "VlanID"
+msgstr "VLANID"
+
+#: nova/tests/test_nova_manage.py:209
+msgid "project"
+msgstr "Projekt"
+
+#: nova/tests/test_nova_manage.py:210
+msgid "uuid"
+msgstr "UUID"
+
+#: nova/tests/test_storwize_svc.py:169
+#, python-format
+msgid "unrecognized argument %s"
+msgstr "nicht erkanntes Argument %s"
+
+#: nova/tests/test_storwize_svc.py:818
+#, python-format
+msgid "Run CLI command: %s"
+msgstr "Kommandozeilenbefehl ausführen: %s"
+
+#: nova/tests/test_storwize_svc.py:821
+#, python-format
+msgid ""
+"CLI output:\n"
+" stdout: %(out)s\n"
+" stderr: %(err)s"
+msgstr ""
+"Kommandozeilenausgabe:\n"
+" stdout: %(out)s\n"
+" stderr: %(err)s"
+
+#: nova/tests/test_storwize_svc.py:826
+#, python-format
+msgid ""
+"CLI Exception output:\n"
+" stdout: %(out)s\n"
+" stderr: %(err)s"
+msgstr ""
+"Kommandozeilen-Ausnahmeausgabe:\n"
+" stdout: %(out)s\n"
+" stderr: %(err)s"
+
+#: nova/tests/test_volume_types.py:58
+#, python-format
+msgid "Given data: %s"
+msgstr "Gegebene Daten: %s"
+
+#: nova/tests/test_volume_types.py:59
+#, python-format
+msgid "Result data: %s"
+msgstr "Ergebnisdaten: %s"
+
+#: nova/tests/test_xenapi.py:709
+#, python-format
+msgid "Creating files in %s to simulate guest agent"
+msgstr "In %s werden Dateien erzeugt, um einen Gastagenten zu simulieren"
+
+#: nova/tests/test_xenapi.py:720
+#, python-format
+msgid "Removing simulated guest agent files in %s"
+msgstr "Dateien des simulierten Gastagenten werden aus %s entfernt"
+
+#: nova/tests/api/test_auth.py:79
+msgid "200 Role Match"
+msgstr "200 Rollen-Übereinstimmung"
+
+#: nova/tests/api/test_auth.py:81
+msgid "200 No Roles"
+msgstr "200 Keine Rollen"
+
+#: nova/tests/api/test_auth.py:84
+msgid "unexpected role header"
+msgstr "unerwarteter Rollen-Header"
+
+#: nova/tests/api/openstack/compute/test_servers.py:2894
+msgid ""
+"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
+"instances"
+msgstr ""
+"Kontingent für Instanzen überschritten: 1 angefragt, aber schon 10 von 10 "
+"Instanzen verwendet"
+
+#: nova/tests/api/openstack/compute/test_servers.py:2899
+msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
+msgstr ""
+"Kontingent für RAM überschritten: 4096 angefragt, aber schon 8192 von 10240 "
+"verwendet"
+
+#: nova/tests/api/openstack/compute/test_servers.py:2904
+msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
+msgstr ""
+"Kontingent für Kerne überschritten: 2 angefragt, aber schon 9 von 10 Kernen "
+"verwendet"
+
+#: nova/tests/api/openstack/compute/contrib/test_snapshots.py:56
+#, python-format
+msgid "_create: %s"
+msgstr "_create: %s"
+
+#: nova/tests/api/openstack/compute/contrib/test_snapshots.py:65
+#, python-format
+msgid "_delete: %s"
+msgstr "_delete: %s"
+
+#: nova/tests/api/openstack/compute/contrib/test_snapshots.py:74
+#, python-format
+msgid "_get: %s"
+msgstr "_get: %s"
+
+#: nova/tests/api/openstack/compute/contrib/test_snapshots.py:84
+#, python-format
+msgid "_get_all: %s"
+msgstr "_get_all: %s"
+
+#: nova/tests/api/openstack/compute/contrib/test_snapshots.py:121
+#, python-format
+msgid "test_snapshot_create: param=%s"
+msgstr "test_snapshot_create: param=%s"
+
+#: nova/tests/api/openstack/compute/contrib/test_snapshots.py:130
+#, python-format
+msgid "test_snapshot_create: resp_dict=%s"
+msgstr "test_snapshot_create: resp_dict=%s"
+
+#: nova/tests/api/openstack/compute/contrib/test_snapshots.py:152
+#: nova/tests/api/openstack/compute/contrib/test_snapshots.py:178
+#, python-format
+msgid "test_snapshot_create_force: param=%s"
+msgstr "test_snapshot_create_force: param=%s"
+
+#: nova/tests/api/openstack/compute/contrib/test_snapshots.py:161
+#, python-format
+msgid "test_snapshot_create_force: resp_dict=%s"
+msgstr "test_snapshot_create_force: resp_dict=%s"
+
+#: nova/tests/api/openstack/compute/contrib/test_snapshots.py:214
+#, python-format
+msgid "test_snapshot_show: resp=%s"
+msgstr "test_snapshot_show: resp=%s"
+
+#: nova/tests/api/openstack/compute/contrib/test_snapshots.py:240
+#, python-format
+msgid "test_snapshot_detail: resp_dict=%s"
+msgstr "test_snapshot_detail: resp_dict=%s"
+
+#: nova/tests/compute/test_compute.py:577
+#: nova/tests/compute/test_compute.py:595
+#: nova/tests/compute/test_compute.py:628
+#: nova/tests/compute/test_compute.py:653
+#: nova/tests/compute/test_compute.py:2243
+#, python-format
+msgid "Running instances: %s"
+msgstr "Laufende Instanzen: %s"
+
+#: nova/tests/compute/test_compute.py:583
+#: nova/tests/compute/test_compute.py:618
+#: nova/tests/compute/test_compute.py:641
+#: nova/tests/compute/test_compute.py:671
+#, python-format
+msgid "After terminating instances: %s"
+msgstr "Nach dem Beenden von Instanzen: %s"
+
+#: nova/tests/compute/test_compute.py:993
+msgid "Internal error"
+msgstr "Interner Fehler"
+
+#: nova/tests/compute/test_compute.py:2254
+#, python-format
+msgid "After force-killing instances: %s"
+msgstr "Nach dem erzwungenen Beenden von Instanzen: %s"
+
+#: nova/tests/hyperv/hypervutils.py:141 nova/virt/hyperv/vmops.py:473
+#, python-format
+msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
+msgstr "Ändern des VM-Zustands von %(vm_name)s auf %(req_state)s fehlgeschlagen"
+
+#: nova/tests/hyperv/hypervutils.py:192 nova/virt/hyperv/vmops.py:408
+#, python-format
+msgid "Failed to destroy vm %s"
+msgstr "Zerstören der VM %s fehlgeschlagen"
+
+#: nova/tests/hyperv/hypervutils.py:235 nova/virt/hyperv/snapshotops.py:92
+#, python-format
+msgid "Failed to get info for disk %s"
+msgstr "Holen von Informationen für die Platte %s fehlgeschlagen"
+
+#: nova/tests/integrated/test_api_samples.py:130
+#, python-format
+msgid "Result: %(result)s is not a dict."
+msgstr "Ergebnis: %(result)s ist kein Dict"
+
+#: nova/tests/integrated/test_api_samples.py:134
+#, python-format
+msgid ""
+"Key mismatch:\n"
+"%(ex_keys)s\n"
+"%(res_keys)s"
+msgstr ""
+"Schlüssel passen nicht zusammen:\n"
+"%(ex_keys)s\n"
+"%(res_keys)s"
+
+#: nova/tests/integrated/test_api_samples.py:142
+#, python-format
+msgid "Result: %(result)s is not a list."
+msgstr "Resulatat: %(result)s ist keine Liste"
+
+#: nova/tests/integrated/test_api_samples.py:164
+#: nova/tests/integrated/test_api_samples.py:174
+#, python-format
+msgid ""
+"Values do not match:\n"
+"%(expected)s\n"
+"%(result)s"
+msgstr ""
+"Werte passen nicht zusammen:\n"
+"%(expected)s\n"
+"%(result)s"
+
+#: nova/tests/integrated/test_login.py:31
+#, python-format
+msgid "flavor: %s"
+msgstr "Variante: %s"
+
+#: nova/tests/integrated/api/client.py:38
+#, python-format
+msgid ""
+"%(message)s\n"
+"Status Code: %(_status)s\n"
+"Body: %(_body)s"
+msgstr ""
+"%(message)s\n"
+"Status-Code: %(_status)s\n"
+"Rumpf: %(_body)s"
+
+#: nova/tests/integrated/api/client.py:47
+msgid "Authentication error"
+msgstr "Authentifizierungsfehler"
+
+#: nova/tests/integrated/api/client.py:55
+msgid "Authorization error"
+msgstr "Autorisierungsfehler"
+
+#: nova/tests/integrated/api/client.py:63
+msgid "Item not found"
+msgstr "Objekt nicht gefunden"
+
+#: nova/tests/integrated/api/client.py:105
+#, python-format
+msgid "Doing %(method)s on %(relative_url)s"
+msgstr "%(method)s wird an %(relative_url)s ausgeführt"
+
+#: nova/tests/integrated/api/client.py:107
+#, python-format
+msgid "Body: %s"
+msgstr "Rumpf: %s"
+
+#: nova/tests/integrated/api/client.py:125
+#, python-format
+msgid "%(auth_uri)s => code %(http_status)s"
+msgstr "%(auth_uri)s => Code %(http_status)s"
+
+#: nova/tests/integrated/api/client.py:155
+#, python-format
+msgid "%(relative_uri)s => code %(http_status)s"
+msgstr "%(relative_uri)s => Code %(http_status)s"
+
+#: nova/tests/integrated/api/client.py:165
+msgid "Unexpected status code"
+msgstr "Unerwarteter Status-Code"
+
+#: nova/tests/integrated/api/client.py:172
+#, python-format
+msgid "Decoding JSON: %s"
+msgstr "JSON wird dekodiert: %s"
+
+#: nova/virt/configdrive.py:71
+#, python-format
+msgid "Added %(filepath)s to config drive"
+msgstr "%(filepath)s zum Konfigurations-Laufwerk hinzugefügt"
+
+#: nova/virt/connection.py:70
+msgid ""
+"Specifying virt driver via connection_type is deprecated. Use "
+"compute_driver=classname instead."
+msgstr ""
+"Das Angeben von Virtualisierungstreibern über connection_type ist "
+"missbilligt. Verwenden Sie stattdessen compute_driver=classname."
+
+#: nova/virt/connection.py:82
+msgid "Failed to open connection to underlying virt platform"
+msgstr ""
+"Verbindung zur darunter liegenden Virtualisierungsplattform konnte nicht "
+"geöffnet werden"
+
+#: nova/virt/firewall.py:175 nova/virt/libvirt/firewall.py:232
+msgid "Attempted to unfilter instance which is not filtered"
+msgstr ""
+"Es wurde versucht, Filterungen einer Instanz zu entfernen, die nicht "
+"gefiltert worden ist"
+
+#: nova/virt/firewall.py:185
+msgid "Filters added to instance"
+msgstr "Filter zur Instanz hinzugefügt"
+
+#: nova/virt/firewall.py:187
+msgid "Provider Firewall Rules refreshed"
+msgstr "Anbieter-Firewallregeln aufgefrischt"
+
+#: nova/virt/firewall.py:355
+#, python-format
+msgid "Adding security group rule: %r"
+msgstr "Sicherheitsgruppen-Regel hinzugefügt: %r"
+
+#: nova/virt/firewall.py:481 nova/virt/xenapi/firewall.py:80
+#, python-format
+msgid "Adding provider rule: %s"
+msgstr "Anbieterregel hinzugefügt: %s"
+
+#: nova/virt/images.py:85
+msgid "'qemu-img info' parsing failed."
+msgstr "Auswertung von »qemu-img info« fehlgeschlagen"
+
+#: nova/virt/images.py:91
+#, python-format
+msgid "fmt=%(fmt)s backed by: %(backing_file)s"
+msgstr "fmt=%(fmt)s gestützt von: %(backing_file)s"
+
+#: nova/virt/images.py:103
+#, python-format
+msgid "Converted to raw, but format is now %s"
+msgstr "Nach RAW konvertiert, aber das Format ist nun %s"
+
+#: nova/virt/baremetal/dom.py:93
+msgid "No domains exist."
+msgstr "Es existieren keine Domains"
+
+#: nova/virt/baremetal/dom.py:95
+#, python-format
+msgid "============= initial domains =========== : %s"
+msgstr "============= Ursprüngliche Domains ===========: %s"
+
+#: nova/virt/baremetal/dom.py:99
+msgid "Building domain: to be removed"
+msgstr "Aufbaudomain: soll entfernt werden"
+
+#: nova/virt/baremetal/dom.py:103
+msgid "Not running domain: remove"
+msgstr "Nicht laufende Domain: entfernen"
+
+#: nova/virt/baremetal/dom.py:111
+msgid "domain running on an unknown node: discarded"
+msgstr "Domain, die auf einem unbekannten Knoten läuft: verworfen"
+
+#: nova/virt/baremetal/dom.py:127
+#, python-format
+msgid "No such domain (%s)"
+msgstr "Keine solche Domain (%s)"
+
+#: nova/virt/baremetal/dom.py:134
+#, python-format
+msgid "Failed power down Bare-metal node %s"
+msgstr "Abschalten des Bare-Metal-Knotens %s fehlgeschlagen"
+
+#: nova/virt/baremetal/dom.py:143
+msgid "deactivate -> activate fails"
+msgstr "deaktivieren -> aktivieren schlägt fehl"
+
+#: nova/virt/baremetal/dom.py:153
+msgid "destroy_domain: no such domain"
+msgstr "destroy_domain: keine solche Domain"
+
+#: nova/virt/baremetal/dom.py:154
+#, python-format
+msgid "No such domain %s"
+msgstr "Keine solche Domain wie %s"
+
+#: nova/virt/baremetal/dom.py:161
+#, python-format
+msgid "Domains: %s"
+msgstr "Domains: %s"
+
+#: nova/virt/baremetal/dom.py:164
+#, python-format
+msgid "After storing domains: %s"
+msgstr "Nach dem Speichern der Domains: %s"
+
+#: nova/virt/baremetal/dom.py:167
+msgid "deactivation/removing domain failed"
+msgstr "Deaktivierung/Entfernung der Domain fehlgeschlagen"
+
+#: nova/virt/baremetal/dom.py:174
+msgid "===== Domain is being created ====="
+msgstr "===== Domain wird erstellt ====="
+
+#: nova/virt/baremetal/dom.py:177
+msgid "Same domain name already exists"
+msgstr "Dieser Domainname existiert bereits"
+
+#: nova/virt/baremetal/dom.py:179
+msgid "create_domain: before get_idle_node"
+msgstr "create_domain: vor get_idle_node"
+
+#: nova/virt/baremetal/dom.py:196
+#, python-format
+msgid "Created new domain: %s"
+msgstr "Neue Domain erstellt: %s"
+
+#: nova/virt/baremetal/dom.py:211
+#, python-format
+msgid "Failed to boot Bare-metal node %s"
+msgstr "Starten des Bare-Metal-Knotens %s fehlgeschlagen"
+
+#: nova/virt/baremetal/dom.py:220
+msgid "No such domain exists"
+msgstr "So eine Domain existiert nicht"
+
+#: nova/virt/baremetal/dom.py:224
+#, python-format
+msgid "change_domain_state: to new state %s"
+msgstr "change_domain_state: neuer Status %s"
+
+#: nova/virt/baremetal/dom.py:231
+#, python-format
+msgid "Stored fake domains to the file: %s"
+msgstr "Gefälschte Domains in Datei gespeichert: %s"
+
+#: nova/virt/baremetal/dom.py:242
+msgid "domain does not exist"
+msgstr "Domain existiert nicht"
+
+#: nova/virt/baremetal/driver.py:115
+#, python-format
+msgid "Error encountered when destroying instance '%(name)s': %(ex)s"
+msgstr ""
+"Beim Zerstören der Instanz »%(name)s« ist ein Fehler aufgetreten: %(ex)s"
+
+#: nova/virt/baremetal/driver.py:129
+#, python-format
+msgid "instance %(instance_name)s: deleting instance files %(target)s"
+msgstr "Instanz %(instance_name)s: Instanzdateien %(target)s werden gelöscht"
+
+#: nova/virt/baremetal/driver.py:156
+#, python-format
+msgid "instance %s: rebooted"
+msgstr "Instanz %s: neu gestartet"
+
+#: nova/virt/baremetal/driver.py:160
+msgid "_wait_for_reboot failed"
+msgstr "_wait_for_reboot fehlgeschlagen"
+
+#: nova/virt/baremetal/driver.py:189
+#, python-format
+msgid "instance %s: rescued"
+msgstr "Instanz %s: gerettet"
+
+#: nova/virt/baremetal/driver.py:193
+msgid "_wait_for_rescue failed"
+msgstr "_wait_for_rescue fehlgeschlagen"
+
+#: nova/virt/baremetal/driver.py:210
+msgid "<============= spawn of baremetal =============>"
+msgstr "<============= Start des Bare Metals =============>"
+
+#: nova/virt/baremetal/driver.py:223
+#, python-format
+msgid "instance %s: is building"
+msgstr "Instanz %s: wird gebaut"
+
+#: nova/virt/baremetal/driver.py:229
+msgid "Key is injected but instance is not running yet"
+msgstr "Schlüssel ist injiziert worden, aber die Instanz läuft noch nicht"
+
+#: nova/virt/baremetal/driver.py:238
+#, python-format
+msgid "instance %s: booted"
+msgstr "Instanz %s: gestartet"
+
+#: nova/virt/baremetal/driver.py:245
+#, python-format
+msgid "~~~~~~ current state = %s ~~~~~~"
+msgstr "~~~~~~ derzeitiger Zustand = %s ~~~~~~"
+
+#: nova/virt/baremetal/driver.py:247
+#, python-format
+msgid "instance %s spawned successfully"
+msgstr "Instanz %s erfolgreich gestartet"
+
+#: nova/virt/baremetal/driver.py:250
+#, python-format
+msgid "instance %s:not booted"
+msgstr "Instanz %s: nicht gebootet"
+
+#: nova/virt/baremetal/driver.py:253
+msgid "Baremetal assignment is overcommitted."
+msgstr "Bare-Metal-Zuweisung ist überfrachtet"
+
+#: nova/virt/baremetal/driver.py:337
+#, python-format
+msgid "instance %s: Creating image"
+msgstr "Instanz %s: Image wird erzeugt"
+
+#: nova/virt/baremetal/driver.py:455
+#, python-format
+msgid "instance %(inst_name)s: injecting %(injection)s into image %(img_id)s"
+msgstr "Instanz %(inst_name)s: %(injection)s wird in Image %(img_id)s injiziert"
+
+#: nova/virt/baremetal/driver.py:465
+#, python-format
+msgid ""
+"instance %(inst_name)s: ignoring error injecting data into image "
+"%(img_id)s (%(e)s)"
+msgstr ""
+"Instanz %(inst_name)s: Fehler beim Injizieren von Daten in das Image "
+"%(img_id)s (%(e)s) ignoriert"
+
+#: nova/virt/baremetal/driver.py:511
+#, python-format
+msgid "instance %s: starting toXML method"
+msgstr "Instanz %s: toXML-Methode wird gestartet"
+
+#: nova/virt/baremetal/driver.py:514
+#, python-format
+msgid "instance %s: finished toXML method"
+msgstr "Instanz %s: toXML-Methode abgeschlossen"
+
+#: nova/virt/baremetal/driver.py:558 nova/virt/hyperv/vmops.py:486
+#: nova/virt/libvirt/driver.py:1973
+msgid ""
+"Cannot get the number of cpu, because this function is not implemented "
+"for this platform. This error can be safely ignored for now."
+msgstr ""
+"Die Nummer der CPU konnte nicht ermittelt werden, weil diese Funktion auf "
+"dieser Plattform nicht implementiert worden ist. Dieser Fehler kann fürs "
+"Erste problemlos ignoriert werden."
+
+#: nova/virt/baremetal/driver.py:681
+#, python-format
+msgid "#### RLK: cpu_arch = %s "
+msgstr "#### RLK: cpu_arch = %s "
+
+#: nova/virt/baremetal/driver.py:703
+msgid "Updating!"
+msgstr "Wird aktualisiert!"
+
+#: nova/virt/baremetal/driver.py:730 nova/virt/libvirt/driver.py:3025
+#: nova/virt/xenapi/host.py:148
+msgid "Updating host stats"
+msgstr "Host-Statistiken werden aktualisiert"
+
+#: nova/virt/baremetal/nodes.py:42
+#, python-format
+msgid "Unknown baremetal driver %(d)s"
+msgstr "Unbekannter Bare-Metal-Treiber %(d)s"
+
+#: nova/virt/baremetal/tilera.py:184
+msgid "free_node...."
+msgstr "free_node …"
+
+#: nova/virt/baremetal/tilera.py:215
+#, python-format
+msgid "deactivate_node is called for node_id = %(id)s node_ip = %(ip)s"
+msgstr "deactivate_node wird für node_id = %(id)s node_ip = %(ip)s aufgerufen"
+
+#: nova/virt/baremetal/tilera.py:220
+msgid "status of node is set to 0"
+msgstr "der Zustand des Knotens ist auf 0 gesetzt"
+
+#: nova/virt/baremetal/tilera.py:231
+msgid "rootfs is already removed"
+msgstr "rootfs wurde bereits entfernt"
+
+#: nova/virt/baremetal/tilera.py:263
+msgid "Before ping to the bare-metal node"
+msgstr "bevor ein Ping an den Bare-Metal-Knoten geschickt wird"
+
+#: nova/virt/baremetal/tilera.py:274
+#, python-format
+msgid "TILERA_BOARD_#%(node_id)s %(node_ip)s is ready"
+msgstr "TILERA_BOARD_#%(node_id)s %(node_ip)s ist bereit"
+
+#: nova/virt/baremetal/tilera.py:278
+#, python-format
+msgid "TILERA_BOARD_#%(node_id)s %(node_ip)s is not ready, out_msg=%(out_msg)s"
+msgstr ""
+"TILERA_BOARD_#%(node_id)s %(node_ip)s ist nicht bereit, out_msg=%(out_msg)s"
+
+#: nova/virt/baremetal/tilera.py:290
+msgid "Noting to do for tilera nodes: vmlinux is in CF"
+msgstr "Nichts zu tun für die tilera-Knoten: vmlinux ist in CF"
+
+#: nova/virt/baremetal/tilera.py:313
+msgid "activate_node"
+msgstr "activate_node"
+
+#: nova/virt/baremetal/tilera.py:327
+msgid "Node is unknown error state."
+msgstr "Knoten ist in einem unbekannten Fehlerzustand"
+
+#: nova/virt/disk/api.py:198
+msgid "no capable image handler configured"
+msgstr "kein fähiger Image-Handler konfiguriert"
+
+#: nova/virt/disk/api.py:244
+#, python-format
+msgid "no disk image handler for: %s"
+msgstr "kein Platten-Image-Handler für: %s"
+
+#: nova/virt/disk/api.py:256
+msgid "image already mounted"
+msgstr "Image ist bereits eingehängt"
+
+#: nova/virt/disk/api.py:322
+#, python-format
+msgid ""
+"Failed to mount container filesystem '%(image)s' on '%(target)s': "
+"%(errors)s"
+msgstr ""
+"Einhängen des Container-Dateisystems »%(image)s« auf %(target)s« ist "
+"fehlgeschlagen: %(errors)s"
+
+#: nova/virt/disk/api.py:339
+#, python-format
+msgid "Failed to unmount container filesystem: %s"
+msgstr "Aushängen des Container-Dateisystems ist fehlgeschlagen: %s"
+
+#: nova/virt/disk/api.py:372
+msgid "injected file path not valid"
+msgstr "Injizierter Dateipfad ist unzulässig"
+
+#: nova/virt/disk/api.py:517
+msgid "Not implemented on Windows"
+msgstr "Nicht in Windows implementiert"
+
+#: nova/virt/disk/api.py:551
+#, python-format
+msgid "User %(username)s not found in password file."
+msgstr "Der Benutzer %(username)s wurde in der Passwortdatei nicht gefunden."
+
+#: nova/virt/disk/api.py:567
+#, python-format
+msgid "User %(username)s not found in shadow file."
+msgstr ""
+"Der Benutzer %(username)s wurde in der shadow-Datei nicht gefunden."
+
+#: nova/virt/disk/guestfs.py:41
+#, python-format
+msgid "unsupported partition: %s"
+msgstr "Nicht unterstützte Partition: %s"
+
+#: nova/virt/disk/guestfs.py:66 nova/virt/disk/guestfs.py:80
+#: nova/virt/disk/mount.py:132
+#, python-format
+msgid "Failed to mount filesystem: %s"
+msgstr "Einhängen des Dateisystems fehlgeschlagen: %s"
+
+#: nova/virt/disk/guestfs.py:79
+msgid "unknown guestmount error"
+msgstr "Unbekannter Guestmount-Fehler"
+
+#: nova/virt/disk/guestfs.py:119
+#, python-format
+msgid "Failed to umount image at %s, guestmount was still running after 10s"
+msgstr ""
+"Aushängen des Images unter %s fehlgeschlagen, Guestmount ist auch nach 10s "
+"noch gelaufen"
+
+#: nova/virt/disk/loop.py:31
+#, python-format
+msgid "Could not attach image to loopback: %s"
+msgstr "Image konnte nicht an Loopback angeschlossen werden: %s"
+
+#: nova/virt/disk/mount.py:83
+#, python-format
+msgid "partition search unsupported with %s"
+msgstr "Partitionssuche mit %s wird nicht unterstützt"
+
+#: nova/virt/disk/mount.py:99
+#, python-format
+msgid "partition %s not found"
+msgstr "Partition %s nicht gefunden"
+
+#: nova/virt/disk/mount.py:100
+#, python-format
+msgid "Failed to map partitions: %s"
+msgstr "Abbilden der Partitionen fehlgeschlagen: %s"
+
+#: nova/virt/disk/nbd.py:59
+msgid "nbd unavailable: module not loaded"
+msgstr "nbd nicht verfügbar: Modul nicht geladen"
+
+#: nova/virt/disk/nbd.py:64
+msgid "No free nbd devices"
+msgstr "Keine freien nbd-Geräte"
+
+#: nova/virt/disk/nbd.py:86
+#, python-format
+msgid "qemu-nbd error: %s"
+msgstr "qemu-nbd-Fehler: %s"
+
+#: nova/virt/disk/nbd.py:98
+#, python-format
+msgid "nbd device %s did not show up"
+msgstr "nbd-Gerät %s ist nicht aufgetaucht"
+
+#: nova/virt/hyperv/driver.py:193 nova/virt/hyperv/driver.py:196
+msgid "plug_vifs called"
+msgstr "plug_vifs aufgerufen"
+
+#: nova/virt/hyperv/driver.py:199
+msgid "ensure_filtering_rules_for_instance called"
+msgstr "ensure_filtering_rules_for_instance aufgerufen"
+
+#: nova/virt/hyperv/driver.py:204
+msgid "unfilter_instance called"
+msgstr "unfilter_instance aufgerufen"
+
+#: nova/virt/hyperv/driver.py:208
+msgid "confirm_migration called"
+msgstr "confirm_migration aufgerufen"
+
+#: nova/virt/hyperv/driver.py:213
+msgid "finish_revert_migration called"
+msgstr "finish_revert_migration aufgerufen"
+
+#: nova/virt/hyperv/driver.py:219
+msgid "finish_migration called"
+msgstr "finish_migration aufgerufen"
+
+#: nova/virt/hyperv/driver.py:222
+msgid "get_console_output called"
+msgstr "get_console_output aufgerufen"
+
+#: nova/virt/hyperv/livemigrationops.py:52
+msgid ""
+"Live migration is not supported \" \"by this version "
+"of Hyper-V"
+msgstr "Live-Migration wird von dieser Hyper-V-Version nicht unterstützt"
+
+#: nova/virt/hyperv/livemigrationops.py:61
+msgid "Live migration is not enabled on this host"
+msgstr "Live-Migration ist auf diesem Host nicht aktiviert"
+
+#: nova/virt/hyperv/livemigrationops.py:64
+msgid "Live migration networks are not configured on this host"
+msgstr "Live-Migrations-Netzwerke sind auf diesem Host nicht konfiguriert"
+
+#: nova/virt/hyperv/livemigrationops.py:68
+msgid "live_migration called"
+msgstr "live_migration aufgerufen"
+
+#: nova/virt/hyperv/livemigrationops.py:94
+#, python-format
+msgid "Getting live migration networks for remote host: %s"
+msgstr "Live-Migrations-Netzwerke für entfernten Host werden geholt: %s"
+
+#: nova/virt/hyperv/livemigrationops.py:113
+#, python-format
+msgid "Starting live migration for instance: %s"
+msgstr "Beginn der Live-Migration für Instanz: %s"
+
+#: nova/virt/hyperv/livemigrationops.py:126
+#, python-format
+msgid "Failed to live migrate VM %s"
+msgstr "Live-Migration der VM %s fehlgeschlagen"
+
+#: nova/virt/hyperv/livemigrationops.py:129
+#, python-format
+msgid "Calling live migration recover_method for instance: %s"
+msgstr "Live-Migrations-recover_method wird aufgerufen für Instanz: %s"
+
+#: nova/virt/hyperv/livemigrationops.py:133
+#, python-format
+msgid "Calling live migration post_method for instance: %s"
+msgstr "Live-Migration-post_method wird aufgerufen für Instanz: %s"
+
+#: nova/virt/hyperv/livemigrationops.py:139
+msgid "pre_live_migration called"
+msgstr "pre_live_migration aufgerufen"
+
+#: nova/virt/hyperv/livemigrationops.py:157
+msgid "post_live_migration_at_destination called"
+msgstr "post_live_migration_at_destination aufgerufen"
+
+#: nova/virt/hyperv/livemigrationops.py:161
+#, python-format
+msgid "compare_cpu called %s"
+msgstr "compare_cpu hat %s aufgerufen"
+
+#: nova/virt/hyperv/snapshotops.py:57
+#, python-format
+msgid "Creating snapshot for instance %s"
+msgstr "Schnappschuss für Instanz %s wird angelegt"
+
+#: nova/virt/hyperv/snapshotops.py:71
+#, python-format
+msgid "Failed to create snapshot for VM %s"
+msgstr "Schnappschuss für VM %s konnte nicht angelegt werden"
+
+#: nova/virt/hyperv/snapshotops.py:83
+#, python-format
+msgid "Getting info for VHD %s"
+msgstr "Informationen für VHD %s werden eingeholt"
+
+#: nova/virt/hyperv/snapshotops.py:106
+#, python-format
+msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
+msgstr "VHD %(src_vhd_path)s wird zu %(dest_vhd_path)s kopiert"
+
+#: nova/virt/hyperv/snapshotops.py:116
+#, python-format
+msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
+msgstr ""
+"Basis-Platte %(src_vhd_path)s wird zu %(dest_base_disk_path)s kopiert"
+
+#: nova/virt/hyperv/snapshotops.py:120
+#, python-format
+msgid ""
+"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
+"%(dest_vhd_path)s"
+msgstr ""
+"Kopierte Basis-VHD %(dest_base_disk_path)s und Diff-VHD %(dest_vhd_path)s "
+"werden wiederverbunden"
+
+#: nova/virt/hyperv/snapshotops.py:134
+#, python-format
+msgid ""
+"Failed to reconnect base disk %(dest_base_disk_path)s and diff disk "
+"%(dest_vhd_path)s"
+msgstr ""
+"Neuverbindung von Basis-Platte %(dest_base_disk_path)s und Diff-"
+"Platte %(dest_vhd_path)s fehlgeschlagen"
+
+#: nova/virt/hyperv/snapshotops.py:139
+#, python-format
+msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
+msgstr ""
+"Basis-Platte %(dest_base_disk_path)s und Diff-Platte %(dest_vhd_path)s werden "
+"zusammengeführt"
+
+#: nova/virt/hyperv/snapshotops.py:151
+#, python-format
+msgid ""
+"Failed to merge base disk %(dest_base_disk_path)s and diff disk "
+"%(dest_vhd_path)s"
+msgstr ""
+"Zusammenführung von Basis-Platte %(dest_base_disk_path)s und Diff-"
+"Platte %(dest_vhd_path)s fehlgeschlagen"
+
+#: nova/virt/hyperv/snapshotops.py:164
+#, python-format
+msgid ""
+"Updating Glance image %(image_id)s with content from merged disk "
+"%(image_vhd_path)s"
+msgstr ""
+"Glance-Image %(image_id)s wird mit Inhalt von der zusammengeführten "
+"Platte %(image_vhd_path)s aktualisiert"
+
+#: nova/virt/hyperv/snapshotops.py:169
+#, python-format
+msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgstr "Schnappschuss-Image %(image_id)s für VM %(instance_name)s aktualisiert"
+
+#: nova/virt/hyperv/snapshotops.py:172
+#, python-format
+msgid "Removing snapshot %s"
+msgstr "Schnappschuss %s wird entfernt"
+
+#: nova/virt/hyperv/snapshotops.py:181
+#, python-format
+msgid "Failed to remove snapshot for VM %s"
+msgstr "Entfernen des Schnappschusses für %s fehlgeschlagen"
+
+#: nova/virt/hyperv/snapshotops.py:186
+#, python-format
+msgid "Removing folder %s "
+msgstr "Verzeichnis %s wird entfernt"
+
+#: nova/virt/hyperv/vmops.py:69
+msgid "get_info called for instance"
+msgstr "get_info für Instanz aufgerufen"
+
+#: nova/virt/hyperv/vmops.py:93
+#, python-format
+msgid "hyperv vm state: %s"
+msgstr "HyperV-VM-Zustand: %s"
+
+#: nova/virt/hyperv/vmops.py:99
+#, python-format
+msgid ""
+"Got Info for vm %(instance_name)s: state=%(state)s, mem=%(memusage)s, "
+"num_cpu=%(numprocs)s, uptime=%(uptime)s"
+msgstr ""
+"Informationen über VM %(instance_name)s erhalten: Zustand=%(state)s, RAM=%"
+"(memusage)s, num_cpu=%(numprocs)s, Betriebszeit=%(uptime)s"
+
+#: nova/virt/hyperv/vmops.py:135
+#, python-format
+msgid "cache image failed: %s"
+msgstr "Zwischenspeichern des Images fehlgeschlagen: %s"
+
+#: nova/virt/hyperv/vmops.py:154
+#, python-format
+msgid "Starting VM %s "
+msgstr "VM %s wird gestartet"
+
+#: nova/virt/hyperv/vmops.py:156
+#, python-format
+msgid "Started VM %s "
+msgstr "VM %s gestartet"
+
+#: nova/virt/hyperv/vmops.py:158
+#, python-format
+msgid "spawn vm failed: %s"
+msgstr "Erzeugen der VM fehlgeschlagen: %s"
+
+#: nova/virt/hyperv/vmops.py:177
+#, python-format
+msgid "Failed to create VM %s"
+msgstr "Erzeugung der VM %s fehlgeschlagen"
+
+#: nova/virt/hyperv/vmops.py:180
+#, python-format
+msgid "Created VM %s..."
+msgstr "VM %s erstellt …"
+
+#: nova/virt/hyperv/vmops.py:197
+#, python-format
+msgid "Set memory for vm %s..."
+msgstr "Speicher für VM %s festsetzen …"
+
+#: nova/virt/hyperv/vmops.py:210
+#, python-format
+msgid "Set vcpus for vm %s..."
+msgstr "VCPUs für VM %s festsetzen …"
+
+#: nova/virt/hyperv/vmops.py:214
+#, python-format
+msgid "Creating a scsi controller for %(vm_name)s for volume attaching"
+msgstr ""
+"SCSI-Schnittstelle für %(vm_name)s wird erstellt, um Volumes anschließen zu "
+"können"
+
+#: nova/virt/hyperv/vmops.py:223
+msgid "Controller not found"
+msgstr "Controller nicht gefunden"
+
+#: nova/virt/hyperv/vmops.py:231
+#, python-format
+msgid "Failed to add scsi controller to VM %s"
+msgstr "Hinzufügen des SCSI-Controllers zur VM %s fehlgeschlagen"
+
+#: nova/virt/hyperv/vmops.py:236
+#, python-format
+msgid "Creating disk for %(vm_name)s by attaching disk file %(vhdfile)s"
+msgstr ""
+"Platte für %(vm_name)s wird erstellt, indem die Plattendatei %(vhdfile)s "
+"angeschlossen wird"
+
+#: nova/virt/hyperv/vmops.py:263
+#, python-format
+msgid "Failed to add diskdrive to VM %s"
+msgstr "Plattenlaufwerk konnte nicht zur VM %s hinzugefügt werden"
+
+#: nova/virt/hyperv/vmops.py:266
+#, python-format
+msgid "New disk drive path is %s"
+msgstr "Neuer Pfad zum Plattenlaufwerk ist %s"
+
+#: nova/virt/hyperv/vmops.py:285
+#, python-format
+msgid "Failed to add vhd file to VM %s"
+msgstr "Hinzufügen der VHD-Datei zur VM %s fehlgeschlagen"
+
+#: nova/virt/hyperv/vmops.py:287
+#, python-format
+msgid "Created disk for %s"
+msgstr "Platte für %s erzeugt"
+
+#: nova/virt/hyperv/vmops.py:291
+#, python-format
+msgid "Creating nic for %s "
+msgstr "Netzwerkkarte für %s wird erzeugt"
+
+#: nova/virt/hyperv/vmops.py:296
+msgid "Cannot find vSwitch"
+msgstr "vSwtich nicht auffindbar"
+
+#: nova/virt/hyperv/vmops.py:316
+msgid "Failed creating a port on the external vswitch"
+msgstr "Erzeugen eines Ports auf dem externen vSwitch fehlgeschlagen"
+
+#: nova/virt/hyperv/vmops.py:317
+#, python-format
+msgid "Failed creating port for %s"
+msgstr "Erzeugen eines Ports für %s fehlgeschlagen"
+
+#: nova/virt/hyperv/vmops.py:320
+#, python-format
+msgid "Created switch port %(vm_name)s on switch %(ext_path)s"
+msgstr "Switch-Port %(vm_name)s auf Switch %(ext_path)s erzeugt"
+
+#: nova/virt/hyperv/vmops.py:332
+#, python-format
+msgid "Failed to add nic to VM %s"
+msgstr "Hinzufügen der Netzwerkkarte zur VM %s fehlgeschlagen"
+
+#: nova/virt/hyperv/vmops.py:334
+#, python-format
+msgid "Created nic for %s "
+msgstr "Netzwerkkarte für %s erzeugt"
+
+#: nova/virt/hyperv/vmops.py:341 nova/virt/hyperv/vmops.py:344
+#, python-format
+msgid "Attempting to bind NIC to %s "
+msgstr "Anbinden der Netzwerkkarte an %s fehlgeschlagen"
+
+#: nova/virt/hyperv/vmops.py:349
+msgid "No vSwitch specified, attaching to default"
+msgstr "Kein vSwitch angegeben, wird an Vorgabe angeschlossen"
+
+#: nova/virt/hyperv/vmops.py:374
+#, python-format
+msgid "Got request to destroy vm %s"
+msgstr "Anfrage erhalten, VM %s zu zerstören"
+
+#: nova/virt/hyperv/vmops.py:418
+#, python-format
+msgid "Del: disk %(vhdfile)s vm %(instance_name)s"
+msgstr "Löschen: Festplatte %(vhdfile)s VM %(instance_name)s"
+
+#: nova/virt/hyperv/vmops.py:424
+msgid "Pause instance"
+msgstr "Instanz anhalten"
+
+#: nova/virt/hyperv/vmops.py:429
+msgid "Unpause instance"
+msgstr "Instanz fortsetzen"
+
+#: nova/virt/hyperv/vmops.py:435
+msgid "Suspend instance"
+msgstr "Instanz unterbrechen"
+
+#: nova/virt/hyperv/vmops.py:440
+msgid "Resume instance"
+msgstr "Instanz wiederaufnehmen"
+
+#: nova/virt/hyperv/vmops.py:445
+msgid "Power off instance"
+msgstr "Instanz abschalten"
+
+#: nova/virt/hyperv/vmops.py:450
+msgid "Power on instance"
+msgstr "Instanz einschalten"
+
+#: nova/virt/hyperv/vmops.py:470
+#, python-format
+msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
+msgstr ""
+"Ändern des VM-Zustands von %(vm_name)s auf %(req_state)s war erfolgreich"
+
+#: nova/virt/hyperv/vmops.py:555
+#, python-format
+msgid "Windows version: %s "
+msgstr "Windows-Version: %s"
+
+#: nova/virt/hyperv/vmops.py:567
+msgid "get_available_resource called"
+msgstr "get_available_resource aufgerufen"
+
+#: nova/virt/hyperv/vmops.py:604
+#, python-format
+msgid "use_cow_image:%s"
+msgstr "use_cow_image:%s"
+
+#: nova/virt/hyperv/vmops.py:624
+#, python-format
+msgid "Failed to create Difference Disk from %(base)s to %(target)s"
+msgstr ""
+"Erstellen der Differenzplatte von %(base)s und %(target)s "
+"fehlgeschlagen"
+
+#: nova/virt/hyperv/vmutils.py:54
+#, python-format
+msgid "duplicate name found: %s"
+msgstr "doppelter Name gefunden: %s"
+
+#: nova/virt/hyperv/vmutils.py:68
+#, python-format
+msgid ""
+"WMI job failed: %(ErrorSummaryDescription)s - %(ErrorDescription)s - "
+"%(ErrorCode)s"
+msgstr ""
+"WMI-Job fehlgeschlagen: %(ErrorSummaryDescription)s – %"
+"(ErrorDescription)s – %(ErrorCode)s"
+
+#: nova/virt/hyperv/vmutils.py:73
+#, python-format
+msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s "
+msgstr "WMI-Job erfolgreich: %(desc)s, Dauer=%(elap)s"
+
+#: nova/virt/hyperv/vmutils.py:80 nova/virt/hyperv/vmutils.py:96
+#, python-format
+msgid "Creating folder %s "
+msgstr "Verzeichnis %s wird erstellt"
+
+#: nova/virt/hyperv/vmutils.py:94
+#, python-format
+msgid "Removing existing folder %s "
+msgstr "Vorhandenes Verzeichnis %s wird gelöscht"
+
+#: nova/virt/hyperv/volumeops.py:69 nova/virt/xenapi/vm_utils.py:414
+#, python-format
+msgid "block device info: %s"
+msgstr "Blockgeräte-Info: %s"
+
+#: nova/virt/hyperv/volumeops.py:97
+#, python-format
+msgid "Attach boot from volume failed: %s"
+msgstr "Anschließen der Boot-Partition von Volume fehlgeschlagen: %s"
+
+#: nova/virt/hyperv/volumeops.py:100
+#, python-format
+msgid "Unable to attach boot volume to instance %s"
+msgstr "Boot-Volume lässt sich nicht an der Instanz %s anschließen"
+
+#: nova/virt/hyperv/volumeops.py:109 nova/virt/xenapi/volumeops.py:115
+#, python-format
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
+msgstr "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
+
+#: nova/virt/hyperv/volumeops.py:134
+#, python-format
+msgid "Attach volume failed: %s"
+msgstr "Anschließen des Volumes fehlgeschlagen: %s"
+
+#: nova/virt/hyperv/volumeops.py:137 nova/virt/xenapi/volumeops.py:194
+#, python-format
+msgid "Unable to attach volume to instance %s"
+msgstr "Volume lässt sich nicht zur Instanz %s hinzufügen"
+
+#: nova/virt/hyperv/volumeops.py:156
+#, python-format
+msgid "Failed to add volume to VM %s"
+msgstr "Volume lässt sich nicht zur VM %s hinzufügen"
+
+#: nova/virt/hyperv/volumeops.py:170
+#, python-format
+msgid "Detach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
+msgstr "Detach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
+
+#: nova/virt/hyperv/volumeops.py:187
+#, python-format
+msgid "Mounted disk to detach is: %s"
+msgstr "Eingehängte Platte zum Trennen ist: %s"
+
+#: nova/virt/hyperv/volumeops.py:188
+#, python-format
+msgid "host_resource disk detached is: %s"
+msgstr "getrennte host_resource-Platte ist: %s"
+
+#: nova/virt/hyperv/volumeops.py:191
+#, python-format
+msgid "Physical disk detached is: %s"
+msgstr "getrennte physische Platte ist: %s"
+
+#: nova/virt/hyperv/volumeops.py:198
+#, python-format
+msgid "Failed to remove volume from VM %s"
+msgstr "Entfernen des Volumes von VM %s fehlgeschlagen"
+
+#: nova/virt/hyperv/volumeops.py:207 nova/virt/libvirt/driver.py:603
+msgid "Could not determine iscsi initiator name"
+msgstr "Name des iSCSI-Initiators konnte nicht ermittelt werden"
+
+#: nova/virt/hyperv/volumeops.py:224
+#, python-format
+msgid "device.InitiatorName: %s"
+msgstr "device.InitiatorName: %s"
+
+#: nova/virt/hyperv/volumeops.py:225
+#, python-format
+msgid "device.TargetName: %s"
+msgstr "device.TargetName: %s"
+
+#: nova/virt/hyperv/volumeops.py:226
+#, python-format
+msgid "device.ScsiPortNumber: %s"
+msgstr "device.ScsiPortNumber: %s"
+
+#: nova/virt/hyperv/volumeops.py:227
+#, python-format
+msgid "device.ScsiPathId: %s"
+msgstr "device.ScsiPathId: %s"
+
+#: nova/virt/hyperv/volumeops.py:228
+#, python-format
+msgid "device.ScsiTargetId): %s"
+msgstr "device.ScsiTargetId): %s"
+
+#: nova/virt/hyperv/volumeops.py:229
+#, python-format
+msgid "device.ScsiLun: %s"
+msgstr "device.ScsiLun: %s"
+
+#: nova/virt/hyperv/volumeops.py:230
+#, python-format
+msgid "device.DeviceInterfaceGuid :%s"
+msgstr "device.DeviceInterfaceGuid :%s"
+
+#: nova/virt/hyperv/volumeops.py:232
+#, python-format
+msgid "device.DeviceInterfaceName: %s"
+msgstr "device.DeviceInterfaceName: %s"
+
+#: nova/virt/hyperv/volumeops.py:234
+#, python-format
+msgid "device.LegacyName: %s"
+msgstr "device.LegacyName: %s"
+
+#: nova/virt/hyperv/volumeops.py:235
+#, python-format
+msgid "device.DeviceType: %s"
+msgstr "device.DeviceType: %s"
+
+#: nova/virt/hyperv/volumeops.py:236
+#, python-format
+msgid "device.DeviceNumber %s"
+msgstr "device.DeviceNumber %s"
+
+#: nova/virt/hyperv/volumeops.py:237
+#, python-format
+msgid "device.PartitionNumber :%s"
+msgstr "device.PartitionNumber :%s"
+
+#: nova/virt/hyperv/volumeops.py:243 nova/virt/hyperv/volumeops.py:262
+#, python-format
+msgid "Unable to find a mounted disk for target_iqn: %s"
+msgstr "Keine eingehängte Platte auffindbar für target_iqn: %s"
+
+#: nova/virt/hyperv/volumeops.py:245
+#, python-format
+msgid "Device number : %s"
+msgstr "Gerätenummer: %s"
+
+#: nova/virt/hyperv/volumeops.py:246
+#, python-format
+msgid "Target lun : %s"
+msgstr "Ziel-LUN: %s"
+
+#: nova/virt/hyperv/volumeops.py:252 nova/virt/hyperv/volumeops.py:259
+#, python-format
+msgid "Mounted disk is: %s"
+msgstr "Eingehängte Platte ist: %s"
+
+#: nova/virt/hyperv/volumeops.py:276
+#, python-format
+msgid "Drive number to disconnect is: %s"
+msgstr "Laufwerksnummer zum Trennen ist: %s"
+
+#: nova/virt/hyperv/volumeops.py:283
+#, python-format
+msgid "DeviceNumber : %s"
+msgstr "DeviceNumber: %s"
+
+#: nova/virt/hyperv/volumeops.py:288
+#, python-format
+msgid "Disk path to parse: %s"
+msgstr "Plattenpfad zum Auswerten: %s"
+
+#: nova/virt/hyperv/volumeops.py:290
+#, python-format
+msgid "start_device_id: %s"
+msgstr "start_device_id: %s"
+
+#: nova/virt/hyperv/volumeops.py:292
+#, python-format
+msgid "end_device_id: %s"
+msgstr "end_device_id: %s"
+
+#: nova/virt/hyperv/volumeutils.py:51
+#, python-format
+msgid "An error has occurred when calling the iscsi initiator: %s"
+msgstr "Beim Aufruf des iSCSI-Initiators ist ein Fehler aufgetreten: %s"
+
+#: nova/virt/hyperv/volumeutils.py:68
+msgid "The ISCSI initiator name can't be found. Choosing the default one"
+msgstr ""
+"Der Name des iSCSI-Initiators kann nicht gefunden werden. Der Standardname "
+"wird benutzt."
+
+#: nova/virt/hyperv/volumeutils.py:121 nova/virt/libvirt/driver.py:1447
+#: nova/virt/xenapi/vm_utils.py:407
+#, python-format
+msgid "block_device_list %s"
+msgstr "block_device_list %s"
+
+#: nova/virt/libvirt/driver.py:334
+#, python-format
+msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
+msgstr "Nova benötigt Libvirt-Version %(major)i.%(minor)i.%(micro)i oder höher"
+
+#: nova/virt/libvirt/driver.py:340
+#, python-format
+msgid "Connecting to libvirt: %s"
+msgstr "Verbindung zu libvirt: %s"
+
+#: nova/virt/libvirt/driver.py:361
+msgid "Connection to libvirt broke"
+msgstr "Verbindung mit libvirt abgerissen"
+
+#: nova/virt/libvirt/driver.py:383 nova/virt/libvirt/driver.py:386
+#, python-format
+msgid "Can not handle authentication request for %d credentials"
+msgstr ""
+"Authentifizierungs-Anfrage für %d Anmeldedaten konnte nicht bearbeitet "
+"werden"
+
+#: nova/virt/libvirt/driver.py:468
+#, python-format
+msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
+msgstr "libvirt-Fehler während der Zerstörung, Code=%(errcode)s Fehler=%(e)s"
+
+#: nova/virt/libvirt/driver.py:482
+msgid "During wait destroy, instance disappeared."
+msgstr "Beim Abwarten der Zerstörung ist die Instanz verschwunden"
+
+#: nova/virt/libvirt/driver.py:487
+msgid "Instance destroyed successfully."
+msgstr "Instanz erfolgreich zerstört"
+
+#: nova/virt/libvirt/driver.py:509
+msgid "Error from libvirt during undefineFlags. Retrying with undefine"
+msgstr "libvirt-Fehler während undefineFlags, neuer Versuch mit undefine"
+
+#: nova/virt/libvirt/driver.py:524
+#, python-format
+msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
+msgstr "libvirt-Fehler während undefine, Code=%(errcode)s Error=%(e)s"
+
+#: nova/virt/libvirt/driver.py:535
+#, python-format
+msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
+msgstr "libvirt-Fehler während des Entfernens der Filterungen, Code=%(errcode)s "
+"Fehler=%(e)s"
+
+#: nova/virt/libvirt/driver.py:552
+#, python-format
+msgid "Deleting instance files %(target)s"
+msgstr "Instanzdateien %(target)s werden gelöscht"
+
+#: nova/virt/libvirt/driver.py:566
+#, python-format
+msgid "Failed to cleanup directory %(target)s: %(e)s"
+msgstr "Aufräumen des Verzeichnisses %(target)s fehlgeschlagen: %(e)s"
+
+#: nova/virt/libvirt/driver.py:717
+msgid "attaching LXC block device"
+msgstr "LXC-Blockgerät wird angeschlossen"
+
+#: nova/virt/libvirt/driver.py:730
+msgid "detaching LXC block device"
+msgstr "LXC-Blockgerät wird getrennt"
+
+#: nova/virt/libvirt/driver.py:862
+msgid "Instance soft rebooted successfully."
+msgstr "Instanz erfolgreich warmgestartet"
+
+#: nova/virt/libvirt/driver.py:866
+msgid "Failed to soft reboot instance."
+msgstr "Warmstarten der Instanz fehlgeschlagen"
+
+#: nova/virt/libvirt/driver.py:898
+msgid "Instance shutdown successfully."
+msgstr "Instanz erfolgreich heruntergefahren"
+
+#: nova/virt/libvirt/driver.py:933
+msgid "Instance rebooted successfully."
+msgstr "Instanz erfolgreich neu gestartet"
+
+#: nova/virt/libvirt/driver.py:1063
+msgid "Instance is running"
+msgstr "Instanz läuft"
+
+#: nova/virt/libvirt/driver.py:1070 nova/virt/powervm/operator.py:258
+msgid "Instance spawned successfully."
+msgstr "Instanz erfolgreich erzeugt"
+
+#: nova/virt/libvirt/driver.py:1086
+#, python-format
+msgid "data: %(data)r, fpath: %(fpath)r"
+msgstr "data: %(data)r, fpath: %(fpath)r"
+
+#: nova/virt/libvirt/driver.py:1132
+msgid "Guest does not have a console available"
+msgstr "Der Gast hat keine Konsole verfügbar"
+
+#: nova/virt/libvirt/driver.py:1176
+#, python-format
+msgid "Path '%(path)s' supports direct I/O"
+msgstr "Der Pfad »%(path)s« unterstützt Direkt-E/A"
+
+#: nova/virt/libvirt/driver.py:1180
+#, python-format
+msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
+msgstr "Der Pfad »%(path)s« unterstützt keine Direkt-E/A: »%(ex)s«"
+
+#: nova/virt/libvirt/driver.py:1184 nova/virt/libvirt/driver.py:1188
+#, python-format
+msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
+msgstr "Fehler bei »%(path)s« während des Überprüfens auf Direkt-E/A: »%(ex)s«"
+
+#: nova/virt/libvirt/driver.py:1242
+msgid "Using config drive"
+msgstr "Konfigurationslaufwerk wird benutzt"
+
+#: nova/virt/libvirt/driver.py:1261
+msgid "Creating image"
+msgstr "Image wird erzeugt"
+
+#: nova/virt/libvirt/driver.py:1396
+#, python-format
+msgid "Creating config drive at %(path)s"
+msgstr "Konfigurationslaufwerk wird unter %(path)s erstellt"
+
+#: nova/virt/libvirt/driver.py:1410
+#, python-format
+msgid "Injecting %(injection)s into image %(img_id)s"
+msgstr "%(injection)s wird in Image %(img_id)s injiziert"
+
+#: nova/virt/libvirt/driver.py:1420
+#, python-format
+msgid "Ignoring error injecting data into image %(img_id)s (%(e)s)"
+msgstr ""
+"Fehler beim Injizieren der Daten (%(e)s) ins Image %(img_id)s wird ignoriert"
+
+#: nova/virt/libvirt/driver.py:1494
+#, python-format
+msgid ""
+"Config requested an explicit CPU model, but the current libvirt "
+"hypervisor '%s' does not support selecting CPU models"
+msgstr ""
+"Die Konfiguration enthält ein bestimmtes CPU-Modell, aber der derzeitige "
+"libvirt-Hypervisor »%s« unterstützt keine Auswahl von CPU-Modellen."
+
+#: nova/virt/libvirt/driver.py:1500
+msgid "Config requested a custom CPU model, but no model name was provided"
+msgstr ""
+"Die Konfiguration enthält ein benutzerdefiniertes CPU-Modell, aber es wurde "
+"kein Modellname angegeben."
+
+#: nova/virt/libvirt/driver.py:1504
+msgid "A CPU model name should not be set when a host CPU model is requested"
+msgstr ""
+"Es sollte kein CPU-Modellname gesetzt sein, wenn ein Host-CPU-Modell "
+"gewünscht ist."
+
+#: nova/virt/libvirt/driver.py:1508
+#, python-format
+msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
+msgstr "CPU-Modus »%(mode)s« und -Modell »%(model)s« wurden ausgewählt"
+
+#: nova/virt/libvirt/driver.py:1524
+msgid ""
+"Passthrough of the host CPU was requested but this libvirt version does "
+"not support this feature"
+msgstr ""
+"Es wird ein Durchreichen der Host-CPU gewünscht, aber diese Libvirt-Version "
+"unterstützt diese Funktion nicht."
+
+#: nova/virt/libvirt/driver.py:1818
+msgid "Starting toXML method"
+msgstr "toXML-Methode wird gestartet"
+
+#: nova/virt/libvirt/driver.py:1822
+msgid "Finished toXML method"
+msgstr "toXML-Methode beendet"
+
+#: nova/virt/libvirt/driver.py:1839
+#, python-format
+msgid ""
+"Error from libvirt while looking up %(instance_name)s: [Error Code "
+"%(error_code)s] %(ex)s"
+msgstr ""
+"libvirt-Fehler beim Nachschlagen von %(instance_name)s: [Fehlercode %"
+"(error_code)s] %(ex)s"
+
+#: nova/virt/libvirt/driver.py:2091
+msgid "libvirt version is too old (does not support getVersion)"
+msgstr "Libvirt-Version ist zu alt (unterstützt getVersion nicht)"
+
+#: nova/virt/libvirt/driver.py:2278
+msgid "Block migration can not be used with shared storage."
+msgstr ""
+"Blockmigration kann in Zusammenhang mit gemeinsamem Speicher nicht verwendet "
+"werden"
+
+#: nova/virt/libvirt/driver.py:2286
+msgid "Live migration can not be used without shared storage."
+msgstr "Live-Migration kann nicht ohne gemeinsamen Speicher verwendet werden"
+
+#: nova/virt/libvirt/driver.py:2324
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s: Disk of instance is too "
+"large(available on destination host:%(available)s < need:%(necessary)s)"
+msgstr ""
+"%(instance_uuid)s lässt sich nicht migrieren: Platte der Instanz ist zu "
+"groß (auf dem Zielhost verfügbar: %(available)s < benötigt: %(necessary)s)"
+
+#: nova/virt/libvirt/driver.py:2344
+#, python-format
+msgid ""
+"Instance launched has CPU info:\n"
+"%s"
+msgstr ""
+"Gestartete Instanz hat CPU-Info:\n"
+"%s"
+
+#: nova/virt/libvirt/driver.py:2356
+#, python-format
+msgid ""
+"CPU doesn't have compatibility.\n"
+"\n"
+"%(ret)s\n"
+"\n"
+"Refer to %(u)s"
+msgstr ""
+"CPU ist nicht kompatibel\n"
+"\n"
+"%(ret)s\n"
+"\n"
+"Siehe %(u)s"
+
+#: nova/virt/libvirt/driver.py:2373
+#, python-format
+msgid ""
+"Creating tmpfile %s to notify to other compute nodes that they should "
+"mount the same storage."
+msgstr ""
+"Es wird eine Temporärdatei %s erstellt, um die anderen Compute Nodes darauf "
+"hinzuweisen, dass sie denselben Speicher einhängen sollen."
+
+#: nova/virt/libvirt/driver.py:2421
+#, python-format
+msgid "The firewall filter for %s does not exist"
+msgstr "Der Firewall-Filter für %s ist nicht vorhanden"
+
+#: nova/virt/libvirt/driver.py:2491
+#, python-format
+msgid "Live Migration failure: %(e)s"
+msgstr "Live-Migrations-Fehlschlag: %(e)s"
+
+#: nova/virt/libvirt/driver.py:2535
+#, python-format
+msgid "plug_vifs() failed %(cnt)d.Retry up to %(max_retry)d for %(hostname)s."
+msgstr ""
+"plug_vifs() fehlgeschlagen %(cnt)d, bis zu %(max_retry)d Neuversuche für %"
+"(hostname)s"
+
+#: nova/virt/libvirt/driver.py:2662
+#, python-format
+msgid "skipping %(path)s since it looks like volume"
+msgstr "%(path)s wird übersprungen, weil es wie ein Volume aussieht"
+
+#: nova/virt/libvirt/driver.py:2711
+#, python-format
+msgid "Getting disk size of %(i_name)s: %(e)s"
+msgstr "Plattengröße von %(i_name)s wird abgerufen: %(e)s"
+
+#: nova/virt/libvirt/driver.py:2781
+msgid "Starting migrate_disk_and_power_off"
+msgstr "migrate_disk_and_power_off wird gestartet"
+
+#: nova/virt/libvirt/driver.py:2840
+msgid "Instance running successfully."
+msgstr "Instanz läuft ohne Probleme"
+
+#: nova/virt/libvirt/driver.py:2847
+msgid "Starting finish_migration"
+msgstr "finish_migration wird gestartet"
+
+#: nova/virt/libvirt/driver.py:2898
+msgid "Starting finish_revert_migration"
+msgstr "finish_revert_migration wird gestartet"
+
+#: nova/virt/libvirt/firewall.py:34
+msgid ""
+"Libvirt module could not be loaded. NWFilterFirewall will not work "
+"correctly."
+msgstr ""
+"Libvirt-Modul kann nicht geladen werden; NWFilterFirewall wird nicht richtig "
+"arbeiten"
+
+#: nova/virt/libvirt/firewall.py:85
+msgid "Called setup_basic_filtering in nwfilter"
+msgstr "setup_basic_filtering in nwfilter wird aufgerufen"
+
+#: nova/virt/libvirt/firewall.py:93
+msgid "Ensuring static filters"
+msgstr "Stetigkeit der Filter wird sichergestellt"
+
+#: nova/virt/libvirt/firewall.py:174
+#, python-format
+msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgstr "Der nwfilter(%(instance_filter_name)s) kann nicht gefunden werden"
+
+#: nova/virt/libvirt/firewall.py:197
+#, python-format
+msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
+msgstr ""
+"Der nwfilter(%(instance_filter_name)s) für %(name)s kann nicht gefunden "
+"werden."
+
+#: nova/virt/libvirt/firewall.py:213
+msgid "iptables firewall: Setup Basic Filtering"
+msgstr "iptables-Firewall: Basisfilterung wird eingerichtet"
+
+#: nova/virt/libvirt/imagebackend.py:187
+msgid "You should specify libvirt_images_volume_group flag to use LVM images."
+msgstr ""
+"Sie sollten den libvirt_images_volume_group-Schalter angeben, um LVM-Images zu "
+"verwenden"
+
+#: nova/virt/libvirt/imagebackend.py:252
+#, python-format
+msgid "Unknown image_type=%s"
+msgstr "Unbekannter image_type=%s"
+
+#: nova/virt/libvirt/imagecache.py:166
+#, python-format
+msgid "%s is a valid instance name"
+msgstr "%s ist ein zulässiger Instanzname"
+
+#: nova/virt/libvirt/imagecache.py:169
+#, python-format
+msgid "%s has a disk file"
+msgstr "%s hat eine Plattendatei"
+
+#: nova/virt/libvirt/imagecache.py:171
+#, python-format
+msgid "Instance %(instance)s is backed by %(backing)s"
+msgstr "Die Instanz %(instance)s wird von %(backing)s gestützt."
+
+#: nova/virt/libvirt/imagecache.py:184
+#, python-format
+msgid ""
+"Instance %(instance)s is using a backing file %(backing)s which does not "
+"appear in the image service"
+msgstr ""
+"Die Instanz %(instance)s verwendet eine Stützdatei (backing file) %(backing)s, "
+"die nicht im Image-Dienst auftaucht."
+
+#: nova/virt/libvirt/imagecache.py:236
+#, python-format
+msgid "%(id)s (%(base_file)s): image verification failed"
+msgstr "%(id)s (%(base_file)s): Image-Verifizierung fehlgeschlagen"
+
+#: nova/virt/libvirt/imagecache.py:246
+#, python-format
+msgid "%(id)s (%(base_file)s): image verification skipped, no hash stored"
+msgstr ""
+"%(id)s (%(base_file)s): Image-Verifizierung fehlgeschlagen, kein Hash "
+"gespeichert"
+
+#: nova/virt/libvirt/imagecache.py:265
+#, python-format
+msgid "Cannot remove %(base_file)s, it does not exist"
+msgstr "%(base_file)s kann nicht entfernt werden, sie existiert nicht."
+
+#: nova/virt/libvirt/imagecache.py:277
+#, python-format
+msgid "Base file too young to remove: %s"
+msgstr "Baisdatei zu jung zum Entfernen: %s"
+
+#: nova/virt/libvirt/imagecache.py:280
+#, python-format
+msgid "Removing base file: %s"
+msgstr "Basisdatei wird entfernt: %s"
+
+#: nova/virt/libvirt/imagecache.py:287
+#, python-format
+msgid "Failed to remove %(base_file)s, error was %(error)s"
+msgstr "Entfernen von %(base_file)s fehlgeschlagen, Fehler war %(error)s"
+
+#: nova/virt/libvirt/imagecache.py:298
+#, python-format
+msgid "%(id)s (%(base_file)s): checking"
+msgstr "%(id)s (%(base_file)s): Überprüfung"
+
+#: nova/virt/libvirt/imagecache.py:317
+#, python-format
+msgid ""
+"%(id)s (%(base_file)s): in use: on this node %(local)d local, %(remote)d "
+"on other nodes"
+msgstr ""
+"%(id)s %(base_file)s): in Verwendung: lokal auf dem Node %(local)d, "
+"%(remote)d auf anderen Node"
+
+#: nova/virt/libvirt/imagecache.py:329
+#, python-format
+msgid ""
+"%(id)s (%(base_file)s): warning -- an absent base file is in use! "
+"instances: %(instance_list)s"
+msgstr ""
+"%(id)s (%(base_file)s): Warnung – eine abwesende Basisdatei ist in "
+"Verwendung! Instanzen: %(instance_list)s"
+
+#: nova/virt/libvirt/imagecache.py:337
+#, python-format
+msgid "%(id)s (%(base_file)s): in use on (%(remote)d on other nodes)"
+msgstr "%(id)s (%(base_file)s): in Verwendung (%(remote)d auf anderen Node)"
+
+#: nova/virt/libvirt/imagecache.py:347
+#, python-format
+msgid "%(id)s (%(base_file)s): image is not in use"
+msgstr "%(id)s (%(base_file)s): Image ist nicht in Verwendung"
+
+#: nova/virt/libvirt/imagecache.py:353
+#, python-format
+msgid "%(id)s (%(base_file)s): image is in use"
+msgstr "%(id)s (%(base_file)s): Image ist in Verwendung"
+
+#: nova/virt/libvirt/imagecache.py:376
+#, python-format
+msgid "Skipping verification, no base directory at %s"
+msgstr "Überprüfung wird übersprungen, kein Basisverzeichnis unter %s"
+
+#: nova/virt/libvirt/imagecache.py:380
+msgid "Verify base images"
+msgstr "Basisimages verifizieren"
+
+#: nova/virt/libvirt/imagecache.py:387
+#, python-format
+msgid "Image id %(id)s yields fingerprint %(fingerprint)s"
+msgstr "Image-ID %(id)s liefert Fingerabdruck %(fingerprint)s"
+
+#: nova/virt/libvirt/imagecache.py:405
+#, python-format
+msgid "Unknown base file: %s"
+msgstr "Unbekannte Basisdatei: %s"
+
+#: nova/virt/libvirt/imagecache.py:410
+#, python-format
+msgid "Active base files: %s"
+msgstr "Aktive Basisdateien: %s"
+
+#: nova/virt/libvirt/imagecache.py:413
+#, python-format
+msgid "Corrupt base files: %s"
+msgstr "Korrupte Basisdateien: %s"
+
+#: nova/virt/libvirt/imagecache.py:417
+#, python-format
+msgid "Removable base files: %s"
+msgstr "Entfernbare Basisdateien: %s"
+
+#: nova/virt/libvirt/imagecache.py:425
+msgid "Verification complete"
+msgstr "Überprüfung abgeschlossen"
+
+#: nova/virt/libvirt/utils.py:127
+#, python-format
+msgid ""
+"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
+"available, but %(size)db required by volume %(lv)s."
+msgstr ""
+"Unzureichender Platz auf der Volume-Gruppe %(vg)s: nur %(free_space)db "
+"verfügbar, aber das Volume %(lv)s braucht %(size)db"
+
+#: nova/virt/libvirt/utils.py:136
+#, python-format
+msgid ""
+"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
+"Virtual volume size is %(size)db, but free space on volume group is only "
+"%(free_space)db."
+msgstr ""
+"Die Volume-Gruppe %(vg)s wird das Sparse-Volume %(lv)s nicht beinhalten "
+"können. Die Größe des virtuellen Volumes beträgt %(size)db, aber der freie "
+"Platz in der Volume-Gruppe ist nur %(free_space)db groß."
+
+#: nova/virt/libvirt/utils.py:470
+#, python-format
+msgid "Reading image info file: %s"
+msgstr "Image-Infodatei wird gelesen: %s"
+
+#: nova/virt/libvirt/utils.py:474
+#, python-format
+msgid "Read: %s"
+msgstr "Lesen: %s"
+
+#: nova/virt/libvirt/utils.py:480
+#, python-format
+msgid "Error reading image info file %(filename)s: %(error)s"
+msgstr "Fehler beim Lesen der Image-Infodatei %(filename)s: %(error)s"
+
+#: nova/virt/libvirt/utils.py:504
+#, python-format
+msgid "Writing image info file: %s"
+msgstr "Image-Infodatei wird geschrieben: %s"
+
+#: nova/virt/libvirt/utils.py:505
+#, python-format
+msgid "Wrote: %s"
+msgstr "Geschrieben: %s"
+
+#: nova/virt/libvirt/vif.py:95
+#, python-format
+msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
+msgstr "VLAN %(vlan)s und Netzwerkbrücke %(bridge)s werden sichergestellt"
+
+#: nova/virt/libvirt/vif.py:105
+#, python-format
+msgid "Ensuring bridge %s"
+msgstr "Netzwerkbrücke %s wird sichergestellt"
+
+#: nova/virt/libvirt/vif.py:181 nova/virt/libvirt/vif.py:247
+#: nova/virt/libvirt/vif.py:307
+msgid "Failed while unplugging vif"
+msgstr "Entfernen des VIF fehlgeschlagen"
+
+#: nova/virt/libvirt/volume.py:164
+#, python-format
+msgid "iSCSI device not found at %s"
+msgstr "iSCSI unter %s nicht gefunden"
+
+#: nova/virt/libvirt/volume.py:167
+#, python-format
+msgid ""
+"ISCSI volume not yet found at: %(mount_device)s. Will rescan & retry. "
+"Try number: %(tries)s"
+msgstr ""
+"ISCSI-Volume noch nicht gefunden unter: %(mount_device)s, weiterer Versuch "
+"nach erneutem Absuchen. Versuch Nummer: %(tries)s"
+
+#: nova/virt/libvirt/volume.py:179
+#, python-format
+msgid "Found iSCSI node %(mount_device)s (after %(tries)s rescans)"
+msgstr ""
+"iSCSI-Node %(mount_device)s gefunden (nach %(tries)s-fachem neuem "
+"Absuchen)"
+
+#: nova/virt/libvirt/volume_nfs.py:81 nova/volume/nfs.py:276
+#, python-format
+msgid "%s is already mounted"
+msgstr "%s ist bereits eingehängt"
+
+#: nova/virt/powervm/common.py:54
+msgid "Connection error connecting PowerVM manager"
+msgstr ""
+"Beim Verbinden mit der PowerVM-Verwaltung gab es einen Verbindungsfehler"
+
+#: nova/virt/powervm/common.py:111
+msgid "File transfer to PowerVM manager failed"
+msgstr "Dateiübertragung zur PowerVM-Verwaltung fehlgeschlagen"
+
+#: nova/virt/powervm/exception.py:21
+msgid "Connection to PowerVM manager failed"
+msgstr "Verbindung zur PowerVM-Verwaltung fehlgeschlagen"
+
+#: nova/virt/powervm/exception.py:25
+msgid "File '%(file_path)' transfer to PowerVM manager failed"
+msgstr "Transfer der Datei »%(file_path)« zur PowerVM-Verwaltung fehlgeschlagen"
+
+#: nova/virt/powervm/exception.py:29
+#, python-format
+msgid "LPAR instance '%(instance_name)s' could not be found"
+msgstr "LPAR-Instanz »%(instance_name)s« konnte nicht gefunden werden"
+
+#: nova/virt/powervm/exception.py:33
+#, python-format
+msgid "LPAR instance '%(instance_name)s' creation failed"
+msgstr "Erstellung der LPAR-Instanz »%(instance_name)s« fehlgeschlagen"
+
+#: nova/virt/powervm/exception.py:37
+msgid "No space left on any volume group"
+msgstr "Auf keiner der Volume-Gruppen ist Platz frei"
+
+#: nova/virt/powervm/exception.py:45
+msgid "Image creation failed on PowerVM"
+msgstr "Image-Erstellung auf PowerVM fehlgschlagen"
+
+#: nova/virt/powervm/exception.py:49
+#, python-format
+msgid ""
+"Insufficient free memory on PowerVM system to spawn instance "
+"'%(instance_name)s'"
+msgstr ""
+"Zu wenig freier Speicher auf dem PowerVM-System, um die Instanz »%"
+"(instance_name)s« zu erzeugen"
+
+#: nova/virt/powervm/exception.py:54
+#, python-format
+msgid ""
+"Insufficient available CPUs on PowerVM system to spawn instance "
+"'%(instance_name)s'"
+msgstr ""
+"Zu wenige verfügbare CPUs auf dem PowerVM-System, um die Instanz »%"
+"(instance_name)s« zu erzeugen"
+
+#: nova/virt/powervm/exception.py:59
+#, python-format
+msgid "PowerVM LPAR instance '%(instance_name)s' cleanup failed"
+msgstr "Aufräumen der PowerVM-LPAR-Instanz »%(instance_name)s« fehlgeschlagen"
+
+#: nova/virt/powervm/operator.py:91
+#, python-format
+msgid "LPAR instance '%s' not found"
+msgstr "LPAR-Instanz »%s« nicht gefunden"
+
+#: nova/virt/powervm/operator.py:179
+msgid "Not enough free memory in the host"
+msgstr "Nicht genügend freier Speicher auf dem Host"
+
+#: nova/virt/powervm/operator.py:189
+msgid "Insufficient available CPU on PowerVM"
+msgstr "Nicht genügend freie CPUs auf PowerVM"
+
+#: nova/virt/powervm/operator.py:213
+#, python-format
+msgid "Creating LPAR instance '%s'"
+msgstr "LPAR-Instanz »%s« wird erstellt"
+
+#: nova/virt/powervm/operator.py:216
+#, python-format
+msgid "LPAR instance '%s' creation failed"
+msgstr "Erstellung der LPAR-Instanz »%s« fehlgeschlagen"
+
+#: nova/virt/powervm/operator.py:226
+#, python-format
+msgid "Fetching image '%s' from glance"
+msgstr "Image »%s« wird von Glance geholt"
+
+#: nova/virt/powervm/operator.py:230
+#, python-format
+msgid "Copying image '%s' to IVM"
+msgstr "Image »%s« wird zu IVM kopiert"
+
+#: nova/virt/powervm/operator.py:235
+msgid "Creating logical volume"
+msgstr "Logisches Volume wird erstellt"
+
+#: nova/virt/powervm/operator.py:240
+#, python-format
+msgid "Copying image to the device '%s'"
+msgstr "Image wird auf Gerät »%s« kopiert"
+
+#: nova/virt/powervm/operator.py:243
+#, python-format
+msgid "PowerVM image creation failed: %s"
+msgstr "Erstellung des PowerVM-Images fehlgeschlagen: %s"
+
+#: nova/virt/powervm/operator.py:249
+#, python-format
+msgid "Activating the LPAR instance '%s'"
+msgstr "LPAR-Instanz »%s« wird aktiviert"
+
+#: nova/virt/powervm/operator.py:263
+#, python-format
+msgid "Instance '%s' failed to boot"
+msgstr "Instanz »%s« konnte nicht booten"
+
+#: nova/virt/powervm/operator.py:280
+#, python-format
+msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
+msgstr ""
+"Während der Zerstörung wurde die LPAR-Instanz »%s« nicht auf dem PowerVM-"
+"System gefunden."
+
+#: nova/virt/powervm/operator.py:289
+#, python-format
+msgid "Shutting down the instance '%s'"
+msgstr "Instanz »%s« wird heruntergefahren"
+
+#: nova/virt/powervm/operator.py:293
+#, python-format
+msgid "Removing the logical volume '%s'"
+msgstr "Logisches Volume »%s« wird entfernt"
+
+#: nova/virt/powervm/operator.py:296
+#, python-format
+msgid "Deleting the LPAR instance '%s'"
+msgstr "LPAR-Instanz »%s« wird gelöscht"
+
+#: nova/virt/powervm/operator.py:299
+msgid "PowerVM instance cleanup failed"
+msgstr "Aufräumen der PowerVM-Instanz fehlgeschlagen"
+
+#: nova/virt/powervm/operator.py:483
+msgid "Could not create logical volume. No space left on any volume group."
+msgstr ""
+"Das logische Volume konnte nicht erstellt werden, weil auf keiner der "
+"Volume-Gruppen Platz frei ist."
+
+#: nova/virt/vmwareapi/driver.py:111
+msgid ""
+"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
+"vmwareapi_host_password to usecompute_driver=vmwareapi.VMWareESXDriver"
+msgstr ""
+"Sie müssen vmwareapi_host_ip,vmwareapi_host_username und "
+"vmwareapi_host_password gegenüber "
+"usecompute_driver=vmwareapi.VMWareESXDriver angeben"
+
+#: nova/virt/vmwareapi/driver.py:275
+#, python-format
+msgid "In vmwareapi:_create_session, got this exception: %s"
+msgstr "In vmwareapi:_create_session ist diese Ausnahme aufgetreten: %s"
+
+#: nova/virt/vmwareapi/driver.py:358
+#, python-format
+msgid "In vmwareapi:_call_method, got this exception: %s"
+msgstr "In vmwareapi:_call_method ist diese Ausnahme aufgetreten: %s"
+
+#: nova/virt/vmwareapi/driver.py:393
+#, python-format
+msgid "Task [%(task_name)s] %(task_ref)s status: success"
+msgstr "Stand der Aufgabe [%(task_name)s] %(task_ref)s: Erfolg"
+
+#: nova/virt/vmwareapi/driver.py:398
+#, python-format
+msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
+msgstr "Stand der Aufgabe [%(task_name)s] %(task_ref)s: Fehler %(error_info)s"
+
+#: nova/virt/vmwareapi/driver.py:402
+#, python-format
+msgid "In vmwareapi:_poll_task, Got this error %s"
+msgstr "In vmwareapi:_poll_task ist dieser Fehler aufgetreten: %s"
+
+#: nova/virt/vmwareapi/error_util.py:93
+#, python-format
+msgid "Error(s) %s occurred in the call to RetrieveProperties"
+msgstr "Fehler %s beim Aufruf von RetrieveProperties aufgetreten"
+
+#: nova/virt/vmwareapi/fake.py:44 nova/virt/xenapi/fake.py:77
+#, python-format
+msgid "%(text)s: _db_content => %(content)s"
+msgstr "%(text)s: _db_content => %(content)s"
+
+#: nova/virt/vmwareapi/fake.py:131
+#, python-format
+msgid "Property %(attr)s not set for the managed object %(name)s"
+msgstr ""
+"Die Eigenschaft %(attr)s ist für das verwaltete Objekt %(name)s nicht "
+"gesetzt worden"
+
+#: nova/virt/vmwareapi/fake.py:436
+msgid "There is no VM registered"
+msgstr "Es ist keine VM registriert"
+
+#: nova/virt/vmwareapi/fake.py:438 nova/virt/vmwareapi/fake.py:608
+#, python-format
+msgid "Virtual Machine with ref %s is not there"
+msgstr "Die virtuelle Maschine mit ref %s ist nicht vorhanden"
+
+#: nova/virt/vmwareapi/fake.py:501
+#, python-format
+msgid "Logging out a session that is invalid or already logged out: %s"
+msgstr ""
+"Eine Sitzung, die unzulässig oder bereits ausgeloggt ist, wird abgemeldet: %s"
+
+#: nova/virt/vmwareapi/fake.py:516
+msgid "Session is faulty"
+msgstr "Sitzung ist fehlerhaft"
+
+#: nova/virt/vmwareapi/fake.py:519
+msgid "Session Invalid"
+msgstr "Sitzung unzulässig"
+
+#: nova/virt/vmwareapi/fake.py:605
+msgid " No Virtual Machine has been registered yet"
+msgstr "Bisher ist keine virtuelle Maschine registriert"
+
+#: nova/virt/vmwareapi/io_util.py:103
+#, python-format
+msgid "Glance image %s is in killed state"
+msgstr "Glance-Image %s ist im Getötet-Zustand"
+
+#: nova/virt/vmwareapi/io_util.py:111
+#, python-format
+msgid "Glance image %(image_id)s is in unknown state - %(state)s"
+msgstr "Glance-Image %(image_id)s ist in einem unbekannten Zustand – %(state)s"
+
+#: nova/virt/vmwareapi/network_utils.py:128
+msgid ""
+"ESX SOAP server returned an empty port group for the host system in its "
+"response"
+msgstr ""
+"Der ESX-SOAP-Server hat in seiner Antwort eine leere Portgruppe für das "
+"System genannt"
+
+#: nova/virt/vmwareapi/network_utils.py:155
+#, python-format
+msgid "Creating Port Group with name %s on the ESX host"
+msgstr "Portgruppe namens %s wird auf dem ESX-Host erstellt"
+
+#: nova/virt/vmwareapi/network_utils.py:169
+#, python-format
+msgid "Created Port Group with name %s on the ESX host"
+msgstr "Portgruppe namens %s auf dem ESX-Host erstellt"
+
+#: nova/virt/vmwareapi/read_write_util.py:145
+#, python-format
+msgid "Exception during HTTP connection close in VMWareHTTpWrite. Exception is %s"
+msgstr ""
+"Ausnahme in VMWareHTTpWrite beim Schließen der HTTP-Verbindung, die Ausnahme "
+"ist %s"
+
+#: nova/virt/vmwareapi/vim.py:84
+msgid "Unable to import suds."
+msgstr "suds lassen sich nicht importieren"
+
+#: nova/virt/vmwareapi/vim.py:90
+msgid "Must specify vmwareapi_wsdl_loc"
+msgstr "Sie müssen vmwareapi_wsdl_loc angeben"
+
+#: nova/virt/vmwareapi/vim.py:145
+#, python-format
+msgid "No such SOAP method '%s' provided by VI SDK"
+msgstr "Keine solche SOAP-Methode »%s« wie vom VI-SDK bereitgestellt"
+
+#: nova/virt/vmwareapi/vim.py:150
+#, python-format
+msgid "httplib error in %s: "
+msgstr "httplib-Fehler in %s: "
+
+#: nova/virt/vmwareapi/vim.py:157
+#, python-format
+msgid "Socket error in %s: "
+msgstr "Socketfehler in %s:"
+
+#: nova/virt/vmwareapi/vim.py:162
+#, python-format
+msgid "Type error in %s: "
+msgstr "Typfehler in %s: "
+
+#: nova/virt/vmwareapi/vim.py:166
+#, python-format
+msgid "Exception in %s "
+msgstr "Ausnahme in %s"
+
+#: nova/virt/vmwareapi/vmops.py:66
+msgid "Getting list of instances"
+msgstr "Liste der Instanzen wird abgerufen"
+
+#: nova/virt/vmwareapi/vmops.py:82
+#, python-format
+msgid "Got total of %s instances"
+msgstr "Insgesamt %s Instanzen erhalten"
+
+#: nova/virt/vmwareapi/vmops.py:126
+msgid "Couldn't get a local Datastore reference"
+msgstr "Lokale Datastore-Referenz konnte nicht abgerufen werden"
+
+# FIXME: Double space in "ESX host"
+#: nova/virt/vmwareapi/vmops.py:196
+msgid "Creating VM on the ESX host"
+msgstr "VM wird auf dem ESX-Host erstellt"
+
+# FIXME: Double space in "ESX host"
+#: nova/virt/vmwareapi/vmops.py:204
+msgid "Created VM on the ESX host"
+msgstr "VM auf dem ESX-Host erstellt"
+
+#: nova/virt/vmwareapi/vmops.py:232
+#, python-format
+msgid ""
+"Creating Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter "
+"type %(adapter_type)s on the ESX host local store %(data_store_name)s"
+msgstr ""
+"Virtuelle Platte mit der Größe %(vmdk_file_size_in_kb)s KB und dem "
+"Adaptertyp %(adapter_type)s wird auf dem lokalen Speicher %"
+"(data_store_name)s des ESX-Hosts erstellt"
+
+#: nova/virt/vmwareapi/vmops.py:250
+#, python-format
+msgid ""
+"Created Virtual Disk of size %(vmdk_file_size_in_kb)s KB on the ESX host "
+"local store %(data_store_name)s"
+msgstr ""
+"Virtuelle Platte der Größe %(vmdk_file_size_in_kb)s auf dem lokalen "
+"Speicher %(data_store_name)s des ESX-Hosts wurde erstellt"
+
+#: nova/virt/vmwareapi/vmops.py:260
+#, python-format
+msgid ""
+"Deleting the file %(flat_uploaded_vmdk_path)s on the ESX host localstore "
+"%(data_store_name)s"
+msgstr ""
+"Datei %(flat_uploaded_vmdk_path)s auf dem lokalen Speicher %(data_store_name)s "
+"des ESX-Hosts wird gelöscht"
+
+#: nova/virt/vmwareapi/vmops.py:273
+#, python-format
+msgid ""
+"Deleted the file %(flat_uploaded_vmdk_path)s on the ESX host local store "
+"%(data_store_name)s"
+msgstr ""
+"Datei %(flat_uploaded_vmdk_path)s auf dem lokalen Speicher %(data_store_name)s "
+"des ESX-Hosts wurde gelöscht"
+
+#: nova/virt/vmwareapi/vmops.py:285
+#, python-format
+msgid ""
+"Downloading image file data %(image_ref)s to the ESX data store "
+"%(data_store_name)s"
+msgstr ""
+"Image-Dateidaten %(image_ref)s werden in den ESX-Datastore %(data_store_name)s "
+"heruntergeladen"
+
+#: nova/virt/vmwareapi/vmops.py:301
+#, python-format
+msgid ""
+"Downloaded image file data %(image_ref)s to the ESX data store "
+"%(data_store_name)s"
+msgstr ""
+"Image-Dateidaten %(image_ref)s wurden in den ESX-Datastore %(data_store_name)s "
+"heruntergeladen"
+
+#: nova/virt/vmwareapi/vmops.py:319
+msgid "Reconfiguring VM instance to attach the image disk"
+msgstr "VM-Instanz wird neu konfiguriert, um die Image-Platte anzuschließen"
+
+#: nova/virt/vmwareapi/vmops.py:326
+msgid "Reconfigured VM instance to attach the image disk"
+msgstr ""
+"VM-Instanz wurde neu konfiguriert, um die Image-Platte anzuschließen"
+
+#: nova/virt/vmwareapi/vmops.py:333
+msgid "Powering on the VM instance"
+msgstr "VM-Instanz wird eingeschaltet"
+
+#: nova/virt/vmwareapi/vmops.py:339
+msgid "Powered on the VM instance"
+msgstr "VM-Instanz ist eingeschaltet"
+
+#: nova/virt/vmwareapi/vmops.py:385
+msgid "Creating Snapshot of the VM instance"
+msgstr "Schnappschuss der VM-Instanz wird erzeugt"
+
+#: nova/virt/vmwareapi/vmops.py:395
+msgid "Created Snapshot of the VM instance"
+msgstr "Schnappschuss der VM-Instanz erzeugt"
+
+#: nova/virt/vmwareapi/vmops.py:438
+msgid "Copying disk data before snapshot of the VM"
+msgstr "Vor dem Schnappschuss der VM werden die Plattendaten kopiert"
+
+#: nova/virt/vmwareapi/vmops.py:451
+msgid "Copied disk data before snapshot of the VM"
+msgstr "Vor dem Schnappschuss der VM wurden die Plattendaten kopiert"
+
+#: nova/virt/vmwareapi/vmops.py:460
+#, python-format
+msgid "Uploading image %s"
+msgstr "Image %s wird hochgeladen"
+
+#: nova/virt/vmwareapi/vmops.py:474
+#, python-format
+msgid "Uploaded image %s"
+msgstr "Image %s ist hochgeladen"
+
+#: nova/virt/vmwareapi/vmops.py:485
+#, python-format
+msgid "Deleting temporary vmdk file %s"
+msgstr "Temporäre VMDK-Datei %s wird gelöscht"
+
+#: nova/virt/vmwareapi/vmops.py:494
+#, python-format
+msgid "Deleted temporary vmdk file %s"
+msgstr "Temporäre VMDK-Datei %s ist gelöscht"
+
+#: nova/virt/vmwareapi/vmops.py:526
+msgid "instance is not powered on"
+msgstr "Instanz ist nicht eingeschaltet"
+
+#: nova/virt/vmwareapi/vmops.py:533
+msgid "Rebooting guest OS of VM"
+msgstr "Gast-OS der VM wird neu gestartet"
+
+#: nova/virt/vmwareapi/vmops.py:536
+msgid "Rebooted guest OS of VM"
+msgstr "Gast-OS der VM ist neu gestartet"
+
+#: nova/virt/vmwareapi/vmops.py:538
+msgid "Doing hard reboot of VM"
+msgstr "VM wird kaltgestartet"
+
+#: nova/virt/vmwareapi/vmops.py:542
+msgid "Did hard reboot of VM"
+msgstr "VM ist kaltgestartet"
+
+#: nova/virt/vmwareapi/vmops.py:554
+msgid "instance not present"
+msgstr "Instanz nicht vorhanden"
+
+#: nova/virt/vmwareapi/vmops.py:573
+msgid "Powering off the VM"
+msgstr "VM wird ausgeschaltet"
+
+#: nova/virt/vmwareapi/vmops.py:578
+msgid "Powered off the VM"
+msgstr "VM ist abgeschaltet"
+
+#: nova/virt/vmwareapi/vmops.py:582
+msgid "Unregistering the VM"
+msgstr "VM wird entfernt"
+
+#: nova/virt/vmwareapi/vmops.py:585
+msgid "Unregistered the VM"
+msgstr "VM ist entfernt"
+
+#: nova/virt/vmwareapi/vmops.py:587
+#, python-format
+msgid ""
+"In vmwareapi:vmops:destroy, got this exception while un-registering the "
+"VM: %s"
+msgstr ""
+"In vmwareapi:vmops:destroy ist beim Entfernen der VM diese Ausnahme "
+"aufgetreten: %s"
+
+#: nova/virt/vmwareapi/vmops.py:599
+#, python-format
+msgid "Deleting contents of the VM from datastore %(datastore_name)s"
+msgstr "Inhalte der VM werden aus dem Datastore %(datastore_name)s getilgt"
+
+#: nova/virt/vmwareapi/vmops.py:609
+#, python-format
+msgid "Deleted contents of the VM from datastore %(datastore_name)s"
+msgstr "Inhalte der VM wurden aus %(datastore_name)s getilgt"
+
+#: nova/virt/vmwareapi/vmops.py:614
+#, python-format
+msgid ""
+"In vmwareapi:vmops:destroy, got this exception while deleting the VM "
+"contents from the disk: %s"
+msgstr ""
+"In vmwareapi:vmops:destroy ist beim Löschen der VM-Inhalte diese Ausnahme "
+"aufgetreten: %s"
+
+#: nova/virt/vmwareapi/vmops.py:623
+msgid "pause not supported for vmwareapi"
+msgstr "Pausieren für vmwareapi nicht unterstützt"
+
+#: nova/virt/vmwareapi/vmops.py:627
+msgid "unpause not supported for vmwareapi"
+msgstr "Fortsetzen für vmwareapi nicht unterstützt"
+
+#: nova/virt/vmwareapi/vmops.py:641
+msgid "Suspending the VM"
+msgstr "VM wird ausgesetzt"
+
+#: nova/virt/vmwareapi/vmops.py:645
+msgid "Suspended the VM"
+msgstr "VM ist ausgesetzt"
+
+#: nova/virt/vmwareapi/vmops.py:648
+msgid "instance is powered off and can not be suspended."
+msgstr "Die Instanz ist ausgeschaltet und kann daher nicht ausgesetzt werden."
+
+#: nova/virt/vmwareapi/vmops.py:651
+msgid "VM was already in suspended state. So returning without doing anything"
+msgstr "Die VM war bereits ausgesetzt. Also wird nichts gemacht."
+
+#: nova/virt/vmwareapi/vmops.py:664
+msgid "Resuming the VM"
+msgstr "VM wird fortgesetzt"
+
+#: nova/virt/vmwareapi/vmops.py:669
+msgid "Resumed the VM"
+msgstr "VM wurde fortgesetzt"
+
+#: nova/virt/vmwareapi/vmops.py:671
+msgid "instance is not in a suspended state"
+msgstr "Instanz ist nicht ausgesetzt"
+
+#: nova/virt/vmwareapi/vmops.py:707
+msgid "get_diagnostics not implemented for vmwareapi"
+msgstr "get_diagnostics für vmwareapi nicht implementiert"
+
+#: nova/virt/vmwareapi/vmops.py:765
+#, python-format
+msgid "Reconfiguring VM instance to set the machine id with ip - %(ip_addr)s"
+msgstr ""
+"VM-Instanz wird neu konfiguriert, um die Maschinen-ID mit IP %(ip_addr)s zu "
+"setzen"
+
+#: nova/virt/vmwareapi/vmops.py:773
+#, python-format
+msgid "Reconfigured VM instance to set the machine id with ip - %(ip_addr)s"
+msgstr ""
+"VM-Instanz wurde neu konfiguriert, um die Maschinen-ID mit IP %(ip_addr)s zu "
+"setzen"
+
+#: nova/virt/vmwareapi/vmops.py:810
+#, python-format
+msgid "Creating directory with path %s"
+msgstr "Verzeichnis mit Pfad %s wird erstellt"
+
+#: nova/virt/vmwareapi/vmops.py:814
+#, python-format
+msgid "Created directory with path %s"
+msgstr "Verzeichnis mit Pfad %s wurde erstellt"
+
+#: nova/virt/vmwareapi/vmware_images.py:91
+#, python-format
+msgid "Downloading image %s from glance image server"
+msgstr "Image %s wird vom Glance-Image-Server heruntergeladen"
+
+#: nova/virt/vmwareapi/vmware_images.py:108
+#, python-format
+msgid "Downloaded image %s from glance image server"
+msgstr "Image %s wurde vom Glance-Image-Server heruntergeladen"
+
+#: nova/virt/vmwareapi/vmware_images.py:114
+#, python-format
+msgid "Uploading image %s to the Glance image server"
+msgstr "Image %s wird zum Glance-Image-Server hochgeladen"
+
+#: nova/virt/vmwareapi/vmware_images.py:137
+#, python-format
+msgid "Uploaded image %s to the Glance image server"
+msgstr "Image %s wurde zum Glance-Image-Server hochgeladen"
+
+#: nova/virt/vmwareapi/vmware_images.py:148
+#, python-format
+msgid "Getting image size for the image %s"
+msgstr "Image-Größe wird für Image %s abgerufen"
+
+#: nova/virt/vmwareapi/vmware_images.py:153
+#, python-format
+msgid "Got image size of %(size)s for the image %(image)s"
+msgstr "Image-Größe %(size)s wurde für das Image %(image)s abgerufen"
+
+#: nova/virt/xenapi/agent.py:62 nova/virt/xenapi/vmops.py:1434
+#, python-format
+msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
+msgstr ""
+"TIMEOUT: Zeitüberschreitung beim Aufruf von %(method)s, Argumente=%(args)r"
+
+#: nova/virt/xenapi/agent.py:66 nova/virt/xenapi/vmops.py:1438
+#, python-format
+msgid ""
+"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
+"args=%(args)r"
+msgstr ""
+"NICHT IMPLEMENTIERT: Der Aufruf von %(method)s wird vom Agenten nicht "
+"unterstützt. Argumente=%(args)r"
+
+#: nova/virt/xenapi/agent.py:71 nova/virt/xenapi/vmops.py:1443
+#, python-format
+msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
+msgstr ""
+"Der Aufruf von %(method)s hat einen Fehler zurückgegeben: %(e)s. Argumente="
+"%(args)r"
+
+#: nova/virt/xenapi/agent.py:81
+#, python-format
+msgid ""
+"The agent call to %(method)s returned an invalid response: %(ret)r. "
+"path=%(path)s; args=%(args)r"
+msgstr ""
+"Der Agentenaufruf von %(method)s hat eine unzulässige Antwort gegeben: %(ret)r."
+"Pfad=%(path)s; Argumente=%(args)r"
+
+#: nova/virt/xenapi/agent.py:91
+#, python-format
+msgid "Failed to query agent version: %(resp)r"
+msgstr "Abfrage der Agentenversion ist fehlgeschlagen: %(resp)r"
+
+#: nova/virt/xenapi/agent.py:103
+msgid "Querying agent version"
+msgstr "Agentenversion wird abgefragt"
+
+#: nova/virt/xenapi/agent.py:117
+msgid "Reached maximum time attempting to query agent version"
+msgstr "Der Abruf der Agentenversion dauert zu lange"
+
+#: nova/virt/xenapi/agent.py:126
+#, python-format
+msgid "Updating agent to %s"
+msgstr "Agent wird auf %s aktualisiert"
+
+#: nova/virt/xenapi/agent.py:133
+#, python-format
+msgid "Failed to update agent: %(resp)r"
+msgstr "Aktualisierung des Agenten fehlgeschlagen: %(resp)r"
+
+#: nova/virt/xenapi/agent.py:148
+msgid "Setting admin password"
+msgstr "Admin-Passwort wird gesetzt"
+
+#: nova/virt/xenapi/agent.py:158
+#, python-format
+msgid "Failed to exchange keys: %(resp)r"
+msgstr "Schlüsselaustausch fehlgeschlagen: %(resp)r"
+
+#: nova/virt/xenapi/agent.py:177
+#, python-format
+msgid "Failed to update password: %(resp)r"
+msgstr "Aktualisierung des Passworts fehlgeschlagen: %(resp)r"
+
+#: nova/virt/xenapi/agent.py:185
+#, python-format
+msgid "Injecting file path: %r"
+msgstr "Dateipfad wird injiziert: %r"
+
+#: nova/virt/xenapi/agent.py:197
+#, python-format
+msgid "Failed to inject file: %(resp)r"
+msgstr "Injizierung der Datei fehlgeschlagen: %(resp)r"
+
+#: nova/virt/xenapi/agent.py:205
+msgid "Resetting network"
+msgstr "Netzwerk wird zurückgesetzt"
+
+#: nova/virt/xenapi/agent.py:209
+#, python-format
+msgid "Failed to reset network: %(resp)r"
+msgstr "Netzwerk konnte nicht zurückgesetzt werden: %(resp)r"
+
+#: nova/virt/xenapi/agent.py:263
+#, python-format
+msgid "OpenSSL error: %s"
+msgstr "OpenSSL-Fehler: %s"
+
+#: nova/virt/xenapi/driver.py:142
+msgid ""
+"Must specify xenapi_connection_url, xenapi_connection_username "
+"(optionally), and xenapi_connection_password to use "
+"compute_driver=xenapi.XenAPIDriver"
+msgstr ""
+"Sie müssen xenapi_connection_url, xenapi_connection_username (optional) "
+"und xenapi_connection_password angeben, um "
+"compute_driver=xenapi.XenAPIDriver verwenden zu können"
+
+#: nova/virt/xenapi/driver.py:169
+msgid "Failure while cleaning up attached VDIs"
+msgstr "Fehlschlag beim Aufräumen der angeschlossenen VDIs"
+
+#: nova/virt/xenapi/driver.py:347
+#, python-format
+msgid "Could not determine key: %s"
+msgstr "Schlüssel konnte nicht ermittelt werden: %s"
+
+#: nova/virt/xenapi/driver.py:562
+msgid "Host startup on XenServer is not supported."
+msgstr "Host-Starts auf dem XenServer werden nicht unterstützt"
+
+#: nova/virt/xenapi/driver.py:609
+msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
+msgstr ""
+"Die Anmeldung an der XenAPI klappt nicht (Ist die Dom0-Festplatte voll?)"
+
+#: nova/virt/xenapi/driver.py:647
+msgid "Host is member of a pool, but DB says otherwise"
+msgstr "Der Host gehört zu einem Pool, aber die DB behauptet das Gegenteil"
+
+#: nova/virt/xenapi/driver.py:731 nova/virt/xenapi/driver.py:745
+#, python-format
+msgid "Got exception: %s"
+msgstr "Ausnahme erhalten: %s"
+
+#: nova/virt/xenapi/fake.py:662 nova/virt/xenapi/fake.py:764
+#: nova/virt/xenapi/fake.py:783 nova/virt/xenapi/fake.py:851
+msgid "Raising NotImplemented"
+msgstr "NotImplemented tritt auf"
+
+#: nova/virt/xenapi/fake.py:664
+#, python-format
+msgid "xenapi.fake does not have an implementation for %s"
+msgstr "xenapi.fake enthält keine Implementation von %s"
+
+#: nova/virt/xenapi/fake.py:698
+#, python-format
+msgid "Calling %(localname)s %(impl)s"
+msgstr "%(localname)s %(impl)s wird aufgerufen"
+
+#: nova/virt/xenapi/fake.py:703
+#, python-format
+msgid "Calling getter %s"
+msgstr "Abrufer %s wird aufgerufen"
+
+#: nova/virt/xenapi/fake.py:706
+#, python-format
+msgid "Calling setter %s"
+msgstr "Setzer %s wird aufgerufen"
+
+#: nova/virt/xenapi/fake.py:766
+#, python-format
+msgid ""
+"xenapi.fake does not have an implementation for %s or it has been called "
+"with the wrong number of arguments"
+msgstr ""
+"xenapi.fake enthält keine Implementation von %s oder wurde mit der falschen "
+"Anzahl an Argumenten aufgerufen"
+
+#: nova/virt/xenapi/host.py:70
+#, python-format
+msgid ""
+"Instance %(name)s running on %(host)s could not be found in the database:"
+" assuming it is a worker VM and skip ping migration to a new host"
+msgstr ""
+"Die Instanz %(name)s, die auf dem Host %(host)s läuft, konnte nicht in der "
+"Datenbank gefunden werden: Es wird daher angenommen, dass das eine Worker-VM "
+"ist und die Ping-Migration auf einen neuen Host übersprungen."
+
+#: nova/virt/xenapi/host.py:156
+#, python-format
+msgid "Unable to get SR for this host: %s"
+msgstr "SR für diesen Host ist nicht abrufbar: %s"
+
+#: nova/virt/xenapi/host.py:188
+msgid "Unable to get updated status"
+msgstr "Zustandsaktualisierung lässt sich nicht abrufen"
+
+#: nova/virt/xenapi/host.py:191
+#, python-format
+msgid "The call to %(method)s returned an error: %(e)s."
+msgstr "Der Aufruf von %(method)s hat einen Fehler zurückgegeben: %(e)s"
+
+#: nova/virt/xenapi/network_utils.py:29
+#, python-format
+msgid "Found non-unique network for name_label %s"
+msgstr "Nicht-eindeutiges Netzwerk für name_label %s gefunden"
+
+#: nova/virt/xenapi/network_utils.py:47
+#, python-format
+msgid "Found non-unique network for bridge %s"
+msgstr "Nicht-eindeutiges Netzwerk für Netzwerkbrücke %s gefunden"
+
+#: nova/virt/xenapi/network_utils.py:49
+#, python-format
+msgid "Found no network for bridge %s"
+msgstr "Kein Netzwerk für Netzwerkbrücke %s gefunden"
+
+#: nova/virt/xenapi/pool.py:75
+#, python-format
+msgid ""
+"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
+"%(host)s"
+msgstr ""
+"Aggregat %(aggregate_id)s: Nicht zu rettender Zustand während der Operation "
+"an %(host)s"
+
+#: nova/virt/xenapi/pool.py:166
+#, python-format
+msgid "Unable to eject %(host)s from the pool; pool not empty"
+msgstr "%(host)s kann nicht aus dem Pool geworfen werden; der Pool ist nicht "
+"leer"
+
+#: nova/virt/xenapi/pool.py:182
+#, python-format
+msgid "Unable to eject %(host)s from the pool; No master found"
+msgstr "%(host)s kann nicht aus dem Pool geworfen werden; kein Master gefunden"
+
+#: nova/virt/xenapi/pool.py:199
+#, python-format
+msgid "Pool-Join failed: %(e)s"
+msgstr "Pool-Beitritt fehlgeschlagen: %(e)s"
+
+#: nova/virt/xenapi/pool.py:202
+#, python-format
+msgid "Unable to join %(host)s in the pool"
+msgstr "%(host)s kann nicht im Pool aufgenommen werden"
+
+#: nova/virt/xenapi/pool.py:218
+#, python-format
+msgid "Pool-eject failed: %(e)s"
+msgstr "Pool-Entlassung fehlgeschlagen: %(e)s"
+
+#: nova/virt/xenapi/pool.py:230
+#, python-format
+msgid "Unable to set up pool: %(e)s."
+msgstr "Pool lässt sich nicht einrichten: %(e)s"
+
+#: nova/virt/xenapi/pool.py:241
+#, python-format
+msgid "Pool-set_name_label failed: %(e)s"
+msgstr "Pool-set_name_label fehlgeschlagen: %(e)s"
+
+#: nova/virt/xenapi/vif.py:104
+#, python-format
+msgid "Found no PIF for device %s"
+msgstr "PIF für Gerät %s nicht gefunden"
+
+#: nova/virt/xenapi/vif.py:123
+#, python-format
+msgid ""
+"PIF %(pif_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"Expected %(vlan_num)d"
+msgstr ""
+"PIF %(pif_rec['uuid'])s für das Netzwerk %(bridge)s hat die VLAN-ID %"
+"(pif_vlan)d. Erwartet wurde %(vlan_num)d"
+
+#: nova/virt/xenapi/vm_utils.py:215
+msgid "Created VM"
+msgstr "VM erstellt"
+
+#: nova/virt/xenapi/vm_utils.py:227
+msgid "VM destroyed"
+msgstr "VM zerstört"
+
+#: nova/virt/xenapi/vm_utils.py:234
+msgid "VM already halted, skipping shutdown..."
+msgstr "VM hat schon angehalten, Herunterfahren wird übersprungen …"
+
+#: nova/virt/xenapi/vm_utils.py:238
+msgid "Shutting down VM"
+msgstr "VM wird heruntergefahren"
+
+#: nova/virt/xenapi/vm_utils.py:270
+#, python-format
+msgid "VBD not found in instance %s"
+msgstr "VBD in Instanz %s nicht gefunden"
+
+#: nova/virt/xenapi/vm_utils.py:287
+#, python-format
+msgid "VBD %s already detached"
+msgstr "VBD %s bereits getrennt"
+
+#: nova/virt/xenapi/vm_utils.py:290
+#, python-format
+msgid "VBD %(vbd_ref)s detach rejected, attempt %(num_attempt)d/%(max_attempts)d"
+msgstr ""
+"Trennung der VBD %(vbd_ref)s abgelehnt, Versuch %(num_attempt)d/%"
+"(max_attempts)d"
+
+#: nova/virt/xenapi/vm_utils.py:295
+#, python-format
+msgid "Unable to unplug VBD %s"
+msgstr "VBD %s lässt sich nicht entfernen"
+
+#: nova/virt/xenapi/vm_utils.py:300
+#, python-format
+msgid "Reached maximum number of retries trying to unplug VBD %s"
+msgstr "Höchstanzahl der Versuche, das VBD %s zu entfernen, erreicht"
+
+#: nova/virt/xenapi/vm_utils.py:311
+#, python-format
+msgid "Unable to destroy VBD %s"
+msgstr "VBD %s lässt sich nicht zerstören"
+
+#: nova/virt/xenapi/vm_utils.py:330
+#, python-format
+msgid "Creating %(vbd_type)s-type VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... "
+msgstr ""
+"VBD des %(vbd_type)s-Typs wird für VM %(vm_ref)s, VDI %(vdi_ref)s erstellt …"
+
+#: nova/virt/xenapi/vm_utils.py:333
+#, python-format
+msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s."
+msgstr "VBD %(vbd_ref)s für VM %(vm_ref)s, VDI %(vdi_ref)s wurde erstellt."
+
+#: nova/virt/xenapi/vm_utils.py:344
+#, python-format
+msgid "Unable to destroy VDI %s"
+msgstr "VDI %s lässt sich nicht zerstören"
+
+#: nova/virt/xenapi/vm_utils.py:376
+#, python-format
+msgid ""
+"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
+" on %(sr_ref)s."
+msgstr ""
+"VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) auf %"
+"(sr_ref)s wird erstellt."
+
+#: nova/virt/xenapi/vm_utils.py:487
+#, python-format
+msgid "Cloned VDI %(vdi_ref)s from VDI %(vdi_to_clone_ref)s"
+msgstr "VDI %(vdi_ref)s wurde aus VDI %(vdi_to_clone_ref)s geklont"
+
+#: nova/virt/xenapi/vm_utils.py:507
+#, python-format
+msgid "No primary VDI found for %(vm_ref)s"
+msgstr "Keine primäre VDI für %(vm_ref)s gefunden"
+
+#: nova/virt/xenapi/vm_utils.py:513
+msgid "Starting snapshot for VM"
+msgstr "Schnappschuss für VM wird gestartet"
+
+#: nova/virt/xenapi/vm_utils.py:540
+#, python-format
+msgid "Created snapshot %(template_vdi_uuid)s with label '%(label)s'"
+msgstr ""
+"Schnappschuss %(template_vdi_uuid)s mit Bezeichnung »%(label)s« erstellt"
+
+#: nova/virt/xenapi/vm_utils.py:582
+#, python-format
+msgid "Destroying cached VDI '%(vdi_uuid)s'"
+msgstr "Zwischengespeicherte VDI »%(vdi_uuid)s« wird zerstört"
+
+#: nova/virt/xenapi/vm_utils.py:640
+#, python-format
+msgid "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s"
+msgstr "xapi wird gebeten, %(vdi_uuids)s als ID %(image_id)s hochzuladen"
+
+#: nova/virt/xenapi/vm_utils.py:834
+#, python-format
+msgid ""
+"Fast cloning is only supported on default local SR of type ext. SR on "
+"this system was found to be of type %(sr_type)s. Ignoring the cow flag."
+msgstr ""
+"Schnellklonen wird nur auf vorgegebenen lokalen SRs des Typs ext unterstützt, "
+"auf diesem System wurde aber ein SR des Typs %(sr_type)s vorgefunden. Der "
+"COW-Schalter wird ignoriert."
+
+#: nova/virt/xenapi/vm_utils.py:912
+#, python-format
+msgid "Unrecognized cache_images value '%s', defaulting to True"
+msgstr "Nicht erkannter cache_images-Wert »%s«, Vorgabe »True« wird benutzt"
+
+#: nova/virt/xenapi/vm_utils.py:946
+#, python-format
+msgid "Fetched VDIs of type '%(vdi_type)s' with UUID '%(vdi_uuid)s'"
+msgstr "VIDs vom Typ »%(vdi_type)s« mit UUID »%(vdi_uuid)s« abgerufen"
+
+#: nova/virt/xenapi/vm_utils.py:958
+#, python-format
+msgid ""
+"download_vhd %(image_id)s, attempt %(attempt_num)d/%(max_attempts)d, "
+"params: %(params)s"
+msgstr ""
+"download_vhd %(image_id)s, Versuch %(attempt_num)d/%(max_attempts)d, "
+"Parameter: %(params)s"
+
+#: nova/virt/xenapi/vm_utils.py:971
+#, python-format
+msgid "download_vhd failed: %r"
+msgstr "download_vhd fehlgeschlagen: %r"
+
+#: nova/virt/xenapi/vm_utils.py:995
+#, python-format
+msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgstr "xapi wird gebeten, das VHD-Image %(image_id)s abzurufen"
+
+#: nova/virt/xenapi/vm_utils.py:1040
+#, python-format
+msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
+msgstr "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
+
+#: nova/virt/xenapi/vm_utils.py:1056
+#, python-format
+msgid "image_size_bytes=%(size_bytes)d, allowed_size_bytes=%(allowed_size_bytes)d"
+msgstr ""
+"image_size_bytes=%(size_bytes)d, allowed_size_bytes=%(allowed_size_bytes)d"
+
+#: nova/virt/xenapi/vm_utils.py:1060
+#, python-format
+msgid ""
+"Image size %(size_bytes)d exceeded instance_type allowed size "
+"%(allowed_size_bytes)d"
+msgstr ""
+"Die Image-Größe %(size_bytes)d übersteigt die für instance_type erlaubte Größe "
+"%(allowed_size_bytes)d"
+
+#: nova/virt/xenapi/vm_utils.py:1082
+#, python-format
+msgid "Fetching image %(image_id)s, type %(image_type_str)s"
+msgstr "Image %(image_id)s vom Typ %(image_type_str)s wird abgerufen"
+
+#: nova/virt/xenapi/vm_utils.py:1095
+#, python-format
+msgid "Size for image %(image_id)s: %(virtual_size)d"
+msgstr "Größe des Images %(image_id)s: %(virtual_size)d"
+
+#: nova/virt/xenapi/vm_utils.py:1104
+#, python-format
+msgid ""
+"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
+"bytes"
+msgstr ""
+"Kernel-/Ramdisk-Image ist zu groß: %(vdi_size)d Byte, max. %(max_size)d Byte"
+
+#: nova/virt/xenapi/vm_utils.py:1123
+#, python-format
+msgid "Copying VDI %s to /boot/guest on dom0"
+msgstr "VDI %s wird nach /boot/guest auf Dom0 kopiert"
+
+#: nova/virt/xenapi/vm_utils.py:1137
+#, python-format
+msgid "Kernel/Ramdisk VDI %s destroyed"
+msgstr "Kernel/Ramdisk-VDI %s zerstört"
+
+#: nova/virt/xenapi/vm_utils.py:1146
+msgid "Failed to fetch glance image"
+msgstr "Abruf des Glance-Images fehlgeschlagen"
+
+#: nova/virt/xenapi/vm_utils.py:1184
+#, python-format
+msgid "Detected %(image_type_str)s format for image %(image_ref)s"
+msgstr "Format %(image_type_str)s für Image %(image_ref)s entdeckt"
+
+#: nova/virt/xenapi/vm_utils.py:1205
+#, python-format
+msgid "Looking up vdi %s for PV kernel"
+msgstr "VDI %s für PV-Kernel wird nachgeschlagen"
+
+#: nova/virt/xenapi/vm_utils.py:1223
+#, python-format
+msgid "Unknown image format %(disk_image_type)s"
+msgstr "Unbekanntes Image-Format %(disk_image_type)s"
+
+#: nova/virt/xenapi/vm_utils.py:1254
+#, python-format
+msgid "VDI %s is still available"
+msgstr "VDI %s ist immer noch verfügbar"
+
+#: nova/virt/xenapi/vm_utils.py:1350
+#, python-format
+msgid "Unable to parse rrd of %(vm_uuid)s"
+msgstr "rrd von %(vm_uuid)s kann nicht ausgewertet werden"
+
+#: nova/virt/xenapi/vm_utils.py:1370
+#, python-format
+msgid "Re-scanning SR %s"
+msgstr "Neu-Absuchen des SR %s"
+
+#: nova/virt/xenapi/vm_utils.py:1398
+#, python-format
+msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
+msgstr ""
+"Schalter sr_matching_filter »%s« hält sich nicht an die Formatierungskonvention"
+
+#: nova/virt/xenapi/vm_utils.py:1416
+msgid ""
+"XenAPI is unable to find a Storage Repository to install guest instances "
+"on. Please check your configuration and/or configure the flag "
+"'sr_matching_filter'"
+msgstr ""
+"XenAPI ist nicht in der Lage, ein Speicher-Depot zur Installation von "
+"Gastinstanzen aufzutreiben. Bitte überprüfen Sie Ihre Konfiguration und/oder "
+"konfigurieren Sie den Schalter »sr_matching_filter«."
+
+#: nova/virt/xenapi/vm_utils.py:1429
+msgid "Cannot find SR of content-type ISO"
+msgstr "SR des Inhalts-Typs ISO kann nicht gefunden werden"
+
+#: nova/virt/xenapi/vm_utils.py:1437
+#, python-format
+msgid "ISO: looking at SR %(sr_rec)s"
+msgstr "ISO: Es wird auf das SR %(sr_rec)s geachtet."
+
+#: nova/virt/xenapi/vm_utils.py:1439
+msgid "ISO: not iso content"
+msgstr "ISO: kein ISO-Inhalt"
+
+#: nova/virt/xenapi/vm_utils.py:1442
+msgid "ISO: iso content_type, no 'i18n-key' key"
+msgstr "ISO: ISO-content_type, kein »i18n-key«-Schlüssel"
+
+#: nova/virt/xenapi/vm_utils.py:1445
+msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
+msgstr "ISO: ISO-content_type, i18n-key-Wert nicht »local-storage-iso«"
+
+#: nova/virt/xenapi/vm_utils.py:1449
+msgid "ISO: SR MATCHing our criteria"
+msgstr "ISO: SR PASST zu unseren Kriterien"
+
+#: nova/virt/xenapi/vm_utils.py:1451
+msgid "ISO: ISO, looking to see if it is host local"
+msgstr "ISO: ISO, es wird nachgesehen, ob es lokal auf dem Host liegt"
+
+#: nova/virt/xenapi/vm_utils.py:1454
+#, python-format
+msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgstr "ISO: PBD %(pbd_ref)s ist verschwunden"
+
+#: nova/virt/xenapi/vm_utils.py:1457
+#, python-format
+msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
+msgstr "ISO: PBD passt, %(pbd_rec)s ist gewollt, %(host)s ist vorhanden"
+
+#: nova/virt/xenapi/vm_utils.py:1460
+msgid "ISO: SR with local PBD"
+msgstr "ISO: SR mit lokalem PBD"
+
+#: nova/virt/xenapi/vm_utils.py:1482
+#, python-format
+msgid ""
+"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
+"%(server)s."
+msgstr ""
+"RRD-XML ist nicht abrufbar für VM %(vm_uuid)s mit Server-Details: %(server)s"
+
+#: nova/virt/xenapi/vm_utils.py:1498
+#, python-format
+msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgstr ""
+"RRD-XML-Aktualisierungen sind mit Server-Details nicht abrufbar: %(server)s."
+
+#: nova/virt/xenapi/vm_utils.py:1552
+#, python-format
+msgid "Invalid statistics data from Xenserver: %s"
+msgstr "Unzulässige Statistikdaten vom Xenserver: %s"
+
+#: nova/virt/xenapi/vm_utils.py:1612
+#, python-format
+msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
+msgstr "VHD %(vdi_uuid)s hat Eltern %(parent_uuid)s"
+
+#: nova/virt/xenapi/vm_utils.py:1699
+#, python-format
+msgid ""
+"Parent %(parent_uuid)s doesn't match original parent "
+"%(original_parent_uuid)s, waiting for coalesce..."
+msgstr ""
+"Eltern %(parent_uuid)s passen nicht zu den Originaleltern %"
+"(original_parent_uuid)s, Zusammenführung wird abgewartet …"
+
+#: nova/virt/xenapi/vm_utils.py:1709
+#, python-format
+msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgstr ""
+"Anzahl der Versuche für die VHD-Zusammenführung überschritten "
+"(%(max_attempts)d), Zusammenführung wird aufgegeben …"
+
+#: nova/virt/xenapi/vm_utils.py:1744
+#, python-format
+msgid "Timeout waiting for device %s to be created"
+msgstr "Zeitüberschreitung beim Warten auf die Erstellung des Geräts %s"
+
+#: nova/virt/xenapi/vm_utils.py:1764
+#, python-format
+msgid "Disconnecting stale VDI %s from compute domU"
+msgstr "Abgelaufene VDI %s wird vom Rechen-DomU getrennt"
+
+#: nova/virt/xenapi/vm_utils.py:1777
+#, python-format
+msgid "Plugging VBD %s ... "
+msgstr "VPD %s wird angeschlossen …"
+
+#: nova/virt/xenapi/vm_utils.py:1780
+#, python-format
+msgid "Plugging VBD %s done."
+msgstr "VBD %s angeschlossen"
+
+#: nova/virt/xenapi/vm_utils.py:1782
+#, python-format
+msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
+msgstr "VBD %(vbd_ref)s als %(orig_dev)s angeschlossen"
+
+#: nova/virt/xenapi/vm_utils.py:1785
+#, python-format
+msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
+msgstr ""
+"VBD %(vbd_ref)s am falschen Gerät angeschlossen, wird auf %(dev)s umgelegt"
+
+#: nova/virt/xenapi/vm_utils.py:1790
+#, python-format
+msgid "Destroying VBD for VDI %s ... "
+msgstr "VBD für VDI %s wird zerstört … "
+
+#: nova/virt/xenapi/vm_utils.py:1798
+#, python-format
+msgid "Destroying VBD for VDI %s done."
+msgstr "VBD für VDI %s wurde zerstört"
+
+#: nova/virt/xenapi/vm_utils.py:1811
+#, python-format
+msgid "Running pygrub against %s"
+msgstr "pygrub wird gegen %s ausgeführt"
+
+#: nova/virt/xenapi/vm_utils.py:1818
+#, python-format
+msgid "Found Xen kernel %s"
+msgstr "Xen-Kernel %s gefunden"
+
+#: nova/virt/xenapi/vm_utils.py:1820
+msgid "No Xen kernel found. Booting HVM."
+msgstr "Kein Xen-Kernel gefunden, HVM wird gestartet"
+
+#: nova/virt/xenapi/vm_utils.py:1833
+msgid "Partitions:"
+msgstr "Partitionen:"
+
+#: nova/virt/xenapi/vm_utils.py:1839
+#, python-format
+msgid " %(num)s: %(ptype)s %(size)d sectors"
+msgstr " %(num)s: %(ptype)s %(size)d Sektoren"
+
+#: nova/virt/xenapi/vm_utils.py:1864
+#, python-format
+msgid ""
+"Writing partition table %(primary_first)d %(primary_last)d to "
+"%(dev_path)s..."
+msgstr ""
+"Partitionstabelle %(primary_first)d %(primary_last)d wird auf %(dev_path)s "
+"geschrieben …"
+
+#: nova/virt/xenapi/vm_utils.py:1877
+#, python-format
+msgid "Writing partition table %s done."
+msgstr "Partitionstabelle %s ist geschrieben"
+
+#: nova/virt/xenapi/vm_utils.py:1931
+#, python-format
+msgid ""
+"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
+"virtual_size=%(virtual_size)d block_size=%(block_size)d"
+msgstr ""
+"sparse_copy gestartet, src=%(src_path)s dst=%(dst_path)s virtual_size=%"
+"(virtual_size)d block_size=%(block_size)d"
+
+#: nova/virt/xenapi/vm_utils.py:1963
+#, python-format
+msgid ""
+"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
+"reduction in size"
+msgstr ""
+"sparse_copy in %(duration).2f Sekunden fertig gestellt und dabei um %"
+"(compression_pct).2f%% verkleinert"
+
+#: nova/virt/xenapi/vm_utils.py:2013
+msgid ""
+"XenServer tools installed in this image are capable of network injection."
+" Networking files will not bemanipulated"
+msgstr ""
+"Die in diesem Image installierten XenServer-Werkzeuge beherrschen die "
+"Netzwerkinjektion. Netzwerkdateien werden nicht bearbeitet"
+
+#: nova/virt/xenapi/vm_utils.py:2021
+msgid ""
+"XenServer tools are present in this image but are not capable of network "
+"injection"
+msgstr ""
+"Die XenServer-Werkzeuge sind in diesem Image vorhanden, beherrschen aber die "
+"Netzwerkinjektion nicht"
+
+#: nova/virt/xenapi/vm_utils.py:2025
+msgid "XenServer tools are not installed in this image"
+msgstr "Die XenServer-Werkzeuge sind in diesem Image nicht installiert"
+
+#: nova/virt/xenapi/vm_utils.py:2041
+msgid "Manipulating interface files directly"
+msgstr "Schnittstellendateien werden direkt bearbeitet"
+
+#: nova/virt/xenapi/vm_utils.py:2050
+#, python-format
+msgid "Failed to mount filesystem (expected for non-linux instances): %s"
+msgstr ""
+"Einhängen des Dateisystems fehlgeschlagen (war für Nicht-Linux-Instanzen zu "
+"erwarten): %s"
+
+#: nova/virt/xenapi/vm_utils.py:2162
+msgid "This domU must be running on the host specified by xenapi_connection_url"
+msgstr ""
+"Diese DomU muss auf dem Host laufen, der in xenapi_connection_url angegeben "
+"ist"
+
+#: nova/virt/xenapi/vmops.py:130 nova/virt/xenapi/vmops.py:637
+#, python-format
+msgid "Updating progress to %(progress)d"
+msgstr "Fortschritt wird auf %(progress)d aktualisiert"
+
+#: nova/virt/xenapi/vmops.py:212
+msgid "Starting instance"
+msgstr "Instanz wird gestartet"
+
+#: nova/virt/xenapi/vmops.py:285
+msgid "Removing kernel/ramdisk files from dom0"
+msgstr "Kernel-/Ramdisk-Dateien werden von Dom0 entfernt"
+
+#: nova/virt/xenapi/vmops.py:345
+#, python-format
+msgid "Block device information present: %s"
+msgstr "Blockgeräte-Information vorhanden: %s"
+
+#: nova/virt/xenapi/vmops.py:368
+msgid "Failed to spawn, rolling back"
+msgstr "Erzeugen fehlgeschlagen, wird zurückgenommen"
+
+#: nova/virt/xenapi/vmops.py:431
+msgid "Detected ISO image type, creating blank VM for install"
+msgstr "ISO-Image entdeckt, leere VM zur Installation wird erzeugt"
+
+#: nova/virt/xenapi/vmops.py:448
+msgid "Auto configuring disk, attempting to resize partition..."
+msgstr ""
+"Platte wird automatisch konfiguriert, Größenänderung der Partition wird "
+"versucht …"
+
+#: nova/virt/xenapi/vmops.py:487
+msgid "Starting VM"
+msgstr "VM wird gestartet"
+
+#: nova/virt/xenapi/vmops.py:494
+#, python-format
+msgid ""
+"Latest agent build for %(hypervisor)s/%(os)s/%(architecture)s is "
+"%(version)s"
+msgstr ""
+"Neueste Agent-Buildversion für %(hypervisor)s/%(os)s/%(architecture)s ist %"
+"(version)s"
+
+#: nova/virt/xenapi/vmops.py:497
+#, python-format
+msgid "No agent build found for %(hypervisor)s/%(os)s/%(architecture)s"
+msgstr ""
+"Keine Agent-Buildversion für %(hypervisor)s/%(os)s/%(architecture)s gefunden"
+
+#: nova/virt/xenapi/vmops.py:504
+msgid "Waiting for instance state to become running"
+msgstr "Warten, bis sich der Instanzen-Zustand auf »Läuft« ändert"
+
+#: nova/virt/xenapi/vmops.py:518
+#, python-format
+msgid "Instance agent version: %s"
+msgstr "Instanzagent-Version: %s"
+
+#: nova/virt/xenapi/vmops.py:548
+msgid "Setting VCPU weight"
+msgstr "VCPU-Gewicht wird gesetzt"