summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | | | | | | Allow VMs to be resumed after a hypervisor rebootRafi Khardalian2012-11-2011-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes bug 1052696. Update the compute manager to pass network_info and block_device_info to the driver.resume() and update all virtualization drivers to accept the new arguments. For libvirt, change resume() to use _create_domain_and_network() rather than _create_domain(). This eliminates the assumption that the network and block device connections remained in place from the period between the VM being suspended and resumed. Instead, all the networking and block connections will be rebuilt on resume (in case they are missing) as is the case after a hypervisor reboot. Change-Id: I6e19ec42f7e929678abce8f276c0a6e91f1fa8af
* | | | | | | | | | | | | | | Merge "maint: remove an unused import from libvirt.utils"Jenkins2012-11-251-1/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | maint: remove an unused import from libvirt.utilsPádraig Brady2012-11-231-1/+0
| | |_|_|/ / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | errno is no longer used since folsom-2-1095-ge88218e Change-Id: I28702b3cd5e98b42172a45592954b9ba98bb5972
* | | | | | | | | | | | | | | Merge "nova-dhcpbridge should require the FLAGFILE is set"Jenkins2012-11-251-2/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | nova-dhcpbridge should require the FLAGFILE is setMark McLoughlin2012-11-231-2/+2
| |/ / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We always launch dnsmasq with FLAGFILE set, so something is very broken if FLAGFILE isn't set when nova-dhcpbridge is launched. Also, the fallback to CONF.dhcpbridge_flagfile is a little strange - at this point, we haven't parsed any config files so the only possible value of this config option is its default value. There's no real need to gracefully handle this condition either - a KeyError is a straightforward enough error. Change-Id: I734d7b739f17c8a9ab48d8ba13baacff3f00e1c4
* | | | | | | | | | | | | | | Merge "Remove stale flags unit tests"Jenkins2012-11-253-134/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | Remove stale flags unit testsMark McLoughlin2012-11-233-134/+0
| |/ / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tests in test_flags don't test any Nova specific code. At this point they just test a fairly random set of cfg use cases that are already covered by cfg's unit tests. Change-Id: I752d9676824eb479fcaef2c89a0a42fcfab45f8c
* | | | | | | | | | | | | | | Merge "Add keystoneclient to pip-requires"Jenkins2012-11-251-0/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | Add keystoneclient to pip-requiresJoe Gordon2012-11-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of I788300449e37ba1732f6482ebce5f480a2c14a41, we pull the auth_token middleware from keystoneclient. (added to keystoneclient in version 0.2.0) Change-Id: Ide0d562d96e5e426f9c7e532251efd57a0964f11
* | | | | | | | | | | | | | | | Merge "Encode consoleauth token in utf-8 to make it a str"Jenkins2012-11-251-2/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | Encode consoleauth token in utf-8 to make it a strEugene Kirpichov2012-11-231-2/+2
| | |/ / / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix for lp:1057279. Change-Id: I9da0fd42e919aca0075613c4930ebfc3cf425349
* | | | | | | | | | | | | | | | Imported Translations from TransifexOpenStack Jenkins2012-11-241-391/+409
| |_|_|_|_|_|/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Icd341b1351fa0755f0fede48ae1aa26c37b2c31c
* | | | | | | | | | | | | | | Merge "Move global fixture setup into nova/test.py"Jenkins2012-11-232-84/+74
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / / |/| | | | | | | | | | | | | |
| * | | | | | | | | | | | | | Move global fixture setup into nova/test.pyMonty Taylor2012-11-222-84/+74
| | |_|_|_|_|_|_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are global fixtures that get set up for testing in nova/tests/__init__.py, even though there is a base test class. As we move towards parallel testing, we want to convert all of these into proper fixtures. As a step towards that, move them into nova/test.py so that it's clear that they are part of the global test setup. From there we'll move them into proper fixture classes. Part of blueprint grizzly-testtools Change-Id: Ia0b0ae380069a212bc20e009d1088c2bad7d9177
* | | | | | | | | | | | | | Merge "Don't update arch twice when create server"Jenkins2012-11-231-1/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | Don't update arch twice when create serverBelmiro Moreira2012-11-221-1/+0
| | |_|_|_|_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the instance creation a dictionary of instance characteristics (base_options) is created in nova.compute.api._create_instance where "architecture" is defined looking into image[properties]. Then "architecture" entry is updated to the same value in nova.compute.api._populate_instance_for_create if defined or it removes the 'Unknown' value for this key. This patch removes the unnecessary "architecture" update. Change-Id: Id76dedef8fc96dcd6fa5b72ace6c50c85e04215b
* | | | | | | | | | | | | | Truncate large console logs in libvirt.Michael Still2012-11-236-17/+98
| |/ / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolves bug 1081436 where they were returning a 5.5gb console log to the user. Change-Id: I0d98c83e801f8936d35789b5e8f8283f49483c4e
* | | | | | | | | | | | | Merge "Compute doesn't set the 'host' field in instance"Jenkins2012-11-224-41/+88
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | Compute doesn't set the 'host' field in instanceÉdouard Thuleau2012-11-214-41/+88
| | |_|_|_|_|_|_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an instance starts, compute ask the resource manager to check the compute capabilities. If the compute resources are sufficient, the resource manager updates the 'host' instance field in the database. But the local variable 'instance' use by compute manger isn't updated. So, when compute manager asks the network manager to allocate a network for the instance, the 'host' instance field is null. Some compute tests doesn't update the local variable instance when they change some parameter on instance and failed with this patch. Fixes LP bug #1073600 Change-Id: I842d4814b9eabc6222c68118d8a244b20bb68164
* | | | | | | | | | | | | remove db access in xen driver.Yaguang Tang2012-11-221-6/+3
| |_|_|_|_|_|_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix bug 1081949 Change-Id: I0b0369921b974d068b92c90db8b3cf0ae396cc2d
* | | | | | | | | | | | Merge "Unpin amqplib and kombu requirements."Jenkins2012-11-221-2/+2
|\ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | Unpin amqplib and kombu requirements.Vishvananda Ishaya2012-11-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ubuntu is using a much newer version of these libraries so we shouldn't lock the versions in our infrasctructure. Using a > 1.0 of amqplib is particularly useful as it turns on keepalives by default. Change-Id: I956e70e0c39c76d1632fb708cd78aeb51adbd250
* | | | | | | | | | | | | Merge "Add a CONTRIBUTING file."Jenkins2012-11-222-4/+19
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | Add a CONTRIBUTING file.Russell Bryant2012-11-212-4/+19
| | |/ / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GitHub likes repos to have a CONTRIBUTING file. It will use this to point people to the right place for how to contribute to this project. Change-Id: I52ce1489527d2c7d68776c786731af4b2d675c38
* | | | | | | | | | | | | Merge "Xenapi: Don't resize down if not auto_disk_config"Jenkins2012-11-223-2/+22
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | Xenapi: Don't resize down if not auto_disk_configAndrew Laski2012-11-213-2/+22
| |/ / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is not safe to resize down an instance if the filesystem has not been resized first, but with auto_disk_config == False there's no guarantee that it has happened. And not resizing down the disk space with the instance allows for users to have more space on their instance than the type should allow. Fixes bug 1081225 Change-Id: I980c0699dfc272155e274a96d6e08e131c1372d9
* | | | | | | | | | | | | Merge "Remove obsolete config drive init.d example"Jenkins2012-11-221-65/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | Remove obsolete config drive init.d exampleLorin Hochstein2012-11-201-65/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delete the example init.d script that uses the config drive. This script is not compatible with the current implementation of config drive. Change-Id: I9cf5542ef84a206b9ac5dc05637b3f6ecaaba548
* | | | | | | | | | | | | | Merge "Imported Translations from Transifex"OpenStack Jenkins2012-11-221-337/+627
|\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | Imported Translations from TransifexOpenStack Jenkins2012-11-221-337/+627
| | |/ / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I1158f19feb67aba154edb9c8759faacf3b199b34
* | | | | | | | | | | | | | Move compute_driver into nova.virt.driverMark McLoughlin2012-11-2114-38/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 9102f80 moved compute_driver from nova.compute.manager into nova.config. We're trying to get away from so many global options, so where to put it? The config option is used for two things - loading the driver and, in a bunch of random places, checking if it matches a specific value. It seems to make perfect to sense to encapsulate both as functions in nova.virt.driver and move the option there. blueprint: scope-config-opts Change-Id: I28a71df5b682c6bd381401f63da49d91fb187125
* | | | | | | | | | | | | | Re-organize compute opts a bitMark McLoughlin2012-11-211-45/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are over 20 opts declared in nova.compute.manager and they're a disorganized jumbled of miscellaneous stuff. Put some order on them by grouping them into misc, intervals, timeouts and "running deleted". Also, alphabetically sort the misc options. Not perfect, but much easier to make sense of them now. blueprint: scope-config-opts Change-Id: I87c514de6b4432101aa7cc35789e2cb1d7e6a150
* | | | | | | | | | | | | | Move compute opts from nova.configMark McLoughlin2012-11-216-54/+49
|/ / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A bunch of config options are declared in nova.config but only used in nova.compute.api or nova.compute.manager. Move them to the module which uses them. blueprint: scope-config-opts Change-Id: Id33182e9276f61e799305b6b743d1a1f34f25625
* | | | | | | | | | | | | Merge "Handle instances not being found in EC2 API responses."Jenkins2012-11-213-1/+24
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | Handle instances not being found in EC2 API responses.Michael Still2012-11-203-1/+24
| | |_|_|_|_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolves bug 1080406 where InstanceNotFound was raised with None as the instance id. Change-Id: I805a9c8893f51ab22426e606ce260a04113f26e5
* | | | | | | | | | | | | Merge "Adds missing index migrations by instance/status."Jenkins2012-11-211-0/+40
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | Adds missing index migrations by instance/status.Dan Prince2012-11-201-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds an index for use with the migration_get_by_instance_and_status SQL API call. Change-Id: If2a0e8e141545aef015338b8933290c265a485d0
* | | | | | | | | | | | | | Merge "improve session handling around instance_ methods"Jenkins2012-11-212-77/+41
|\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | improve session handling around instance_ methodsDevananda van der Veen2012-11-162-77/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clean up session usage in some of the instance_* methods: instance_destroy instance_get_all_hung_in_rebooting instance_(add|remove)_security_group instance_info_cache_(get|update|delete) also remove instance_info_cache_create since this is not used blueprint db-session-cleanup Change-Id: I33913dae3bc28e05d856d951454440a12616706e
* | | | | | | | | | | | | | | Merge "Fix wait_for_deleted function in SmokeTests."Jenkins2012-11-212-5/+7
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | Fix wait_for_deleted function in SmokeTests.Dan Prince2012-11-212-5/+7
| | |_|_|/ / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the wait_for_not_running function in smoketests/base.py so that it short circuits when an instance ID is deleted rather than waits 60 seconds (the timeout). Previously this function had two problems: 1) It used Boto's instance.update() instead of instance.update(validate=True). Since update() returns returns quietly if no data about the instance was returned (aka the instance has been deleted) it effectively made this function almost always wait for the timeout (60 seconds). This makes the tests take about a minute longer than they need to unless #2 below occurs... 2) It also introduced a race condition in that... if hit just right the instance.state would get set to 'terminated'. Which would cause the loop to short circuit. This might seem correct at first glance but in fact causes intermittent failures in some of the netadmin tests because security groups can't be deleted if a running (or exiting) instance is still assigned to them. In fact wait_for_not_running was added to guard against just this in the first place! Also, renames the base.wait_for_not_running function to be called wait_for_deleted (that is what we are really doing here) Change-Id: I4486995a7d9028d876366e8d7a2c845520319b86
* | | | | | | | | | | | | | | Merge "Wrap log messages with _()"Jenkins2012-11-2110-16/+20
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | Wrap log messages with _()daisy-ycguo2012-11-2110-16/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug 1075082 There are a few log messages without _(), but a lot messages with _(). Wrap these log messages with _() in order to make the code consistent. Change-Id: Ibaff2c352df925f7e00d5a62d111ef73f60c944b
* | | | | | | | | | | | | | | | Merge "Move sql options to nova.db.sqlalchemy.session"Jenkins2012-11-215-45/+44
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | Move sql options to nova.db.sqlalchemy.sessionMark McLoughlin2012-11-215-45/+44
| | |_|_|_|_|_|/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With a few minor exceptions, the sql config options are used solely within the nova.db.sqlalchemy.session module so it makes sense to move their declaration into that module. Change-Id: Iea9c2bb000cd713b01750ab3e796132ebeaa4ca8
* | | | | | | | | | | | | | | | Add debug logging to disk mount modulesDaniel P. Berrange2012-11-213-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To assist in troubleshooting file injection code, add some LOG.debug() statements to the nova/virt/disk/mount/*.py modules blueprint: virt-disk-api-refactoring Change-Id: I75214145ef489a29a58f69abe6195ff01f36153c Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* | | | | | | | | | | | | | | | Remove the libguestfs disk mount API implementationDaniel P. Berrange2012-11-211-121/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The nova.virt.disk.mount.guestfs.API impl is now unused, since there is a dedicated libguestfs impl of the VFS APIs. It can thus be removed blueprint: virt-disk-api-refactoring Change-Id: I6c19e38f23b056d770bfb93e21fa3e64ac179a42 Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* | | | | | | | | | | | | | | | Remove img_handlers config parameter usageDaniel P. Berrange2012-11-215-61/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the only disk code requiring host filesystem mounts is the LXC filesystem setup, the img_handlers config parameter is an solution looking for a purpose. For any disk image format we can categorically say whether it should be mounted using loop or qemu-nbd mount impls. There is no desire to use libguestfs FUSE for mounting LXC disk images, since users of LXC do not want a huge KVM process alongside every container! Move the mount class choice logic into the mount API, by creating new methods nova.virt.disk.mount.API.instance_for_format() nova.virt.disk.mount.API.instance_for_device() and then call these from nova.virt.disk.API code blueprint: virt-disk-api-refactoring Change-Id: I088b5debdf62d4a9a6b4521eee68cd4757f2ff42 Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* | | | | | | | | | | | | | | | Convert file injection code to use the VFS APIsDaniel P. Berrange2012-11-215-159/+292
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the requirement to mount disk images on the host filesystem for file injection, by switching over to use the new VFS APIs. The mount code is now solely used for setting up LXC disk images blueprint: virt-disk-api-refactoring Change-Id: I1335bf7a8266d3d1d410a66538969f1213766cb9 Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* | | | | | | | | | | | | | | | Introduce a VFS implementation backed by the libguestfs APIsDaniel P. Berrange2012-11-213-0/+494
| |/ / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements the VFS APIs using the libguestfs Python APIs. This removes the need to map the virtual disk image into the host filesystem, and thus avoids potential symlink attacks from the guest filesystem. It also performs better than the libguestfs FUSE module blueprint: virt-disk-api-refactoring Change-Id: I3202ec9479f22aa1ae461cab24968e54be1642c1 Signed-off-by: Daniel P. Berrange <berrange@redhat.com>