Merge "OpenStackProvider: Allow userdata using config_drive"
This commit is contained in:
@@ -82,6 +82,7 @@ class OpenStackProvider(provider.ProviderFactory):
|
|||||||
"tenant": {"type": "string"},
|
"tenant": {"type": "string"},
|
||||||
"auth_url": {"type": "string"},
|
"auth_url": {"type": "string"},
|
||||||
"region": {"type": "string"},
|
"region": {"type": "string"},
|
||||||
|
"config_drive": {"type": "boolean"},
|
||||||
"flavor_id": {"type": "string"},
|
"flavor_id": {"type": "string"},
|
||||||
"image": {
|
"image": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -202,10 +203,12 @@ class OpenStackProvider(provider.ProviderFactory):
|
|||||||
os_servers = []
|
os_servers = []
|
||||||
for i in range(self.config.get("amount", 1)):
|
for i in range(self.config.get("amount", 1)):
|
||||||
name = "%s-%d" % (self.config["deployment_name"], i)
|
name = "%s-%d" % (self.config["deployment_name"], i)
|
||||||
server = self.nova.servers.create(name, image_uuid, flavor,
|
server = self.nova.servers.create(
|
||||||
nics=nics,
|
name, image_uuid, flavor,
|
||||||
key_name=keypair.name,
|
nics=nics,
|
||||||
userdata=userdata)
|
key_name=keypair.name,
|
||||||
|
userdata=userdata,
|
||||||
|
config_drive=self.config.get("config_drive", False))
|
||||||
os_servers.append(server)
|
os_servers.append(server)
|
||||||
self.resources.create({"id": server.id}, type=SERVER_TYPE)
|
self.resources.create({"id": server.id}, type=SERVER_TYPE)
|
||||||
|
|
||||||
|
@@ -183,7 +183,7 @@ class OpenStackProviderTestCase(test.TestCase):
|
|||||||
fake_server.ssh.wait.assert_called_once_with(interval=5, timeout=120)
|
fake_server.ssh.wait.assert_called_once_with(interval=5, timeout=120)
|
||||||
provider.nova.servers.create.assert_called_once_with(
|
provider.nova.servers.create.assert_called_once_with(
|
||||||
"rally-dep-1-0", "fake_image_uuid", "22", userdata="fake_userdata",
|
"rally-dep-1-0", "fake_image_uuid", "22", userdata="fake_userdata",
|
||||||
nics="fake_nics", key_name="fake_key_name")
|
nics="fake_nics", key_name="fake_key_name", config_drive=False)
|
||||||
|
|
||||||
@mock.patch(MOD_NAME + ".osclients")
|
@mock.patch(MOD_NAME + ".osclients")
|
||||||
def test_get_image_found_by_checksum(self, mock_osclients):
|
def test_get_image_found_by_checksum(self, mock_osclients):
|
||||||
|
Reference in New Issue
Block a user