Change 'admin_password' into v2 style for servers extension
This patch changes 'admin_password' to 'adminPass' that same with v2 api. And also change the related unittest. The differences between v2 and v3 are described on the wiki page https://wiki.openstack.org/wiki/NovaAPIv2tov3. Partially implements blueprint v2-on-v3-api Change-Id: Ie5675f98bb15c55a191a207171e2ffe3be8e6deb
This commit is contained in:
parent
c2ee61e595
commit
af8f401eb5
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "zPnp2GseTqG4",
|
||||
"adminPass": "zPnp2GseTqG4",
|
||||
"id": "8195065c-fea4-4d57-b93f-5c5c63fe90e8",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "C3r5xKS73Y7S",
|
||||
"adminPass": "C3r5xKS73Y7S",
|
||||
"id": "3f19c120-f64a-4faf-848e-33900b752f83",
|
||||
"links": [
|
||||
{
|
||||
|
@ -10,7 +10,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"admin_password": "99WHAxN8gpvg",
|
||||
"adminPass": "99WHAxN8gpvg",
|
||||
"created": "2013-11-06T07:51:09Z",
|
||||
"flavor": {
|
||||
"id": "1",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "n7JGBda664QG",
|
||||
"adminPass": "n7JGBda664QG",
|
||||
"id": "934760e1-2b0b-4f9e-a916-eac1e69839dc",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "DM3QzjhGTzLB",
|
||||
"adminPass": "DM3QzjhGTzLB",
|
||||
"id": "bebeec79-497e-4711-a311-d0d2e3dfc73b",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "oCYTjD2KnRtB",
|
||||
"adminPass": "oCYTjD2KnRtB",
|
||||
"id": "aa3130b9-dffc-417b-aa03-93d5394a2fa6",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "fjPxt8d8YcSR",
|
||||
"adminPass": "fjPxt8d8YcSR",
|
||||
"id": "c937be78-c423-495b-a99a-e590ab6f30ba",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "a2apKsfp7Rom",
|
||||
"adminPass": "a2apKsfp7Rom",
|
||||
"id": "e88c3898-e971-42e5-8325-b7ff921efb15",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "h2cx3Lm47BJc",
|
||||
"adminPass": "h2cx3Lm47BJc",
|
||||
"id": "f0318e69-11eb-4aed-9840-59b6c72beee8",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "Kwg5tff6KiUU",
|
||||
"adminPass": "Kwg5tff6KiUU",
|
||||
"id": "8619225c-67c8-424f-9b46-cec5bad137a2",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "8mQaAgHHFsDp",
|
||||
"adminPass": "8mQaAgHHFsDp",
|
||||
"id": "71e8cf04-0486-46ae-9d18-e51f4978fa13",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "DM3QzjhGTzLB",
|
||||
"adminPass": "DM3QzjhGTzLB",
|
||||
"id": "bebeec79-497e-4711-a311-d0d2e3dfc73b",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "hqgU8QzT54wF",
|
||||
"adminPass": "hqgU8QzT54wF",
|
||||
"id": "4a3bde9b-fa37-408d-b167-68e1724c923e",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "xCQm2Cs2vSFx",
|
||||
"adminPass": "xCQm2Cs2vSFx",
|
||||
"id": "5f1fbc62-29ed-4e4a-9f15-8affc5e0a796",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "87taVVreqh6R",
|
||||
"adminPass": "87taVVreqh6R",
|
||||
"id": "f22e4521-d03a-4e9f-9fd3-016b9e227219",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "UCvmH8nHXm66",
|
||||
"adminPass": "UCvmH8nHXm66",
|
||||
"id": "a8c1c13d-ec7e-47c7-b4ff-077f72c1ca46",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "EugbD2jAD2V2",
|
||||
"adminPass": "EugbD2jAD2V2",
|
||||
"id": "a868cb5e-c794-47bf-9cd8-e302b72bb94b",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "uNqGTziMK3px",
|
||||
"adminPass": "uNqGTziMK3px",
|
||||
"id": "7d62983e-23df-4320-bc89-bbc77f2a2e40",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "5bjyggD6SaSB",
|
||||
"adminPass": "5bjyggD6SaSB",
|
||||
"id": "3d8bedd4-003d-417a-8cd7-a94cb181185d",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "DM3QzjhGTzLB",
|
||||
"adminPass": "DM3QzjhGTzLB",
|
||||
"id": "bebeec79-497e-4711-a311-d0d2e3dfc73b",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "DM3QzjhGTzLB",
|
||||
"adminPass": "DM3QzjhGTzLB",
|
||||
"id": "bebeec79-497e-4711-a311-d0d2e3dfc73b",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "5Y9rR4XaM8Qg",
|
||||
"adminPass": "5Y9rR4XaM8Qg",
|
||||
"id": "bbe8d469-e8cb-49b1-96d8-f93b68c82355",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "DM3QzjhGTzLB",
|
||||
"adminPass": "DM3QzjhGTzLB",
|
||||
"id": "bebeec79-497e-4711-a311-d0d2e3dfc73b",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "8C5KEgw2cQxu",
|
||||
"adminPass": "8C5KEgw2cQxu",
|
||||
"id": "fb947804-6a43-499d-9526-3eac8adf7271",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "Kwg5tff6KiUU",
|
||||
"adminPass": "Kwg5tff6KiUU",
|
||||
"id": "8619225c-67c8-424f-9b46-cec5bad137a2",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "8RK85ufqhJVq",
|
||||
"adminPass": "8RK85ufqhJVq",
|
||||
"id": "edfc3905-1f3c-4819-8fc3-a7d8131cfa22",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "erQXgJ8NBDD4",
|
||||
"adminPass": "erQXgJ8NBDD4",
|
||||
"id": "4c8b1df3-46f7-4555-98d8-cdb869aaf9ad",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "ki8cbWeZdxH6",
|
||||
"adminPass": "ki8cbWeZdxH6",
|
||||
"id": "2dabdd93-ced7-4607-a542-2516de84e0e5",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "H83mnjinc5jy",
|
||||
"adminPass": "H83mnjinc5jy",
|
||||
"id": "b2bbf280-a78d-4724-90ba-b00dd5659097",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "DM3QzjhGTzLB",
|
||||
"adminPass": "DM3QzjhGTzLB",
|
||||
"id": "bebeec79-497e-4711-a311-d0d2e3dfc73b",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "kmspFLBzL75q",
|
||||
"adminPass": "kmspFLBzL75q",
|
||||
"id": "f8eeb5ba-19b7-49be-a1a9-10250dda5b14",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "LJGRdNsvzh6z",
|
||||
"adminPass": "LJGRdNsvzh6z",
|
||||
"id": "1d08717a-835e-4dca-9bfb-166fa18a6715",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "DM3QzjhGTzLB",
|
||||
"adminPass": "DM3QzjhGTzLB",
|
||||
"id": "bebeec79-497e-4711-a311-d0d2e3dfc73b",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "2xHoDU7Gd7vw",
|
||||
"adminPass": "2xHoDU7Gd7vw",
|
||||
"id": "976a62bb-0d4a-4e17-9044-1864e888a557",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "Ag463BYwnXEf",
|
||||
"adminPass": "Ag463BYwnXEf",
|
||||
"id": "0813a7dc-8e97-42df-9634-957109499bf0",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "ys9M8HQXvwEJ",
|
||||
"adminPass": "ys9M8HQXvwEJ",
|
||||
"id": "a6ebe5b4-b68b-420b-9c1e-620c4d3e0389",
|
||||
"links": [
|
||||
{
|
||||
|
@ -2,7 +2,7 @@
|
||||
"rebuild" : {
|
||||
"image_ref" : "http://glance.openstack.example.com/images/70a599e0-31e7-49b7-b260-868f441e862b",
|
||||
"name" : "foobar",
|
||||
"admin_password" : "seekr3t",
|
||||
"adminPass" : "seekr3t",
|
||||
"metadata" : {
|
||||
"meta_var" : "meta_val"
|
||||
},
|
||||
|
@ -10,7 +10,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"admin_password": "seekr3t",
|
||||
"adminPass": "seekr3t",
|
||||
"created": "2013-11-14T06:29:00Z",
|
||||
"flavor": {
|
||||
"id": "1",
|
||||
|
@ -2,7 +2,7 @@
|
||||
"rebuild" : {
|
||||
"image_ref" : "http://glance.openstack.example.com/images/70a599e0-31e7-49b7-b260-868f441e862b",
|
||||
"name" : "foobar",
|
||||
"admin_password" : "seekr3t",
|
||||
"adminPass" : "seekr3t",
|
||||
"metadata" : {
|
||||
"meta_var" : "meta_val"
|
||||
},
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "6NpUwoz2QDRN",
|
||||
"adminPass": "6NpUwoz2QDRN",
|
||||
"id": "f5dc173b-6804-445a-a6d8-c705dad5b5eb",
|
||||
"links": [
|
||||
{
|
||||
|
@ -564,7 +564,7 @@ class ServersController(wsgi.Controller):
|
||||
server = self._view_builder.create(req, instances[0])
|
||||
|
||||
if CONF.enable_instance_password:
|
||||
server['server']['admin_password'] = password
|
||||
server['server']['adminPass'] = password
|
||||
|
||||
robj = wsgi.ResponseObject(server)
|
||||
|
||||
@ -907,7 +907,7 @@ class ServersController(wsgi.Controller):
|
||||
# Add on the admin_password attribute since the view doesn't do it
|
||||
# unless instance passwords are disabled
|
||||
if CONF.enable_instance_password:
|
||||
view['server']['admin_password'] = password
|
||||
view['server']['adminPass'] = password
|
||||
|
||||
robj = wsgi.ResponseObject(view)
|
||||
return self._add_location(robj)
|
||||
@ -981,12 +981,12 @@ class ServersController(wsgi.Controller):
|
||||
def _get_server_admin_password(self, server):
|
||||
"""Determine the admin password for a server on creation."""
|
||||
try:
|
||||
password = server['admin_password']
|
||||
password = server['adminPass']
|
||||
self._validate_admin_password(password)
|
||||
except KeyError:
|
||||
password = utils.generate_password()
|
||||
except ValueError:
|
||||
raise exc.HTTPBadRequest(explanation=_("Invalid admin_password"))
|
||||
raise exc.HTTPBadRequest(explanation=_("Invalid adminPass"))
|
||||
|
||||
return password
|
||||
|
||||
|
@ -371,7 +371,7 @@ class ServersControllerCreateTest(test.TestCase):
|
||||
def _check_admin_password_len(self, server_dict):
|
||||
"""utility function - check server_dict for admin_password length."""
|
||||
self.assertEqual(CONF.password_length,
|
||||
len(server_dict["admin_password"]))
|
||||
len(server_dict["adminPass"]))
|
||||
|
||||
def _check_admin_password_missing(self, server_dict):
|
||||
"""utility function - check server_dict for admin_password absence."""
|
||||
|
@ -155,7 +155,7 @@ class ServerActionsControllerTest(test.TestCase):
|
||||
body_map = {'resize': {'flavor_ref': '2'},
|
||||
'reboot': {'type': 'HARD'},
|
||||
'rebuild': {'image_ref': self.image_uuid,
|
||||
'admin_password': 'TNc53Dr8s7vw'}}
|
||||
'adminPass': 'TNc53Dr8s7vw'}}
|
||||
|
||||
args_map = {'resize': (('2'), {}),
|
||||
'confirm_resize': ((), {}),
|
||||
@ -269,7 +269,7 @@ class ServerActionsControllerTest(test.TestCase):
|
||||
body = robj.obj
|
||||
|
||||
self.assertEqual(body['server']['image']['id'], '2')
|
||||
self.assertEqual(len(body['server']['admin_password']),
|
||||
self.assertEqual(len(body['server']['adminPass']),
|
||||
CONF.password_length)
|
||||
|
||||
self.assertEqual(robj['location'], self_href)
|
||||
@ -427,7 +427,7 @@ class ServerActionsControllerTest(test.TestCase):
|
||||
body = {
|
||||
"rebuild": {
|
||||
"image_ref": self._image_href,
|
||||
"admin_password": "asdf",
|
||||
"adminPass": "asdf",
|
||||
},
|
||||
}
|
||||
|
||||
@ -435,7 +435,7 @@ class ServerActionsControllerTest(test.TestCase):
|
||||
body = self.controller._action_rebuild(req, FAKE_UUID, body=body).obj
|
||||
|
||||
self.assertEqual(body['server']['image']['id'], '2')
|
||||
self.assertEqual(body['server']['admin_password'], 'asdf')
|
||||
self.assertEqual(body['server']['adminPass'], 'asdf')
|
||||
|
||||
def test_rebuild_admin_password_pass_disabled(self):
|
||||
# run with enable_instance_password disabled to verify admin_password
|
||||
@ -457,7 +457,7 @@ class ServerActionsControllerTest(test.TestCase):
|
||||
body = self.controller._action_rebuild(req, FAKE_UUID, body=body).obj
|
||||
|
||||
self.assertEqual(body['server']['image']['id'], '2')
|
||||
self.assertNotIn('admin_password', body['server'])
|
||||
self.assertNotIn('adminPass', body['server'])
|
||||
|
||||
def test_rebuild_server_not_found(self):
|
||||
def server_not_found(self, instance_id,
|
||||
|
@ -1635,8 +1635,8 @@ class ServersControllerUpdateTest(ControllerTest):
|
||||
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
|
||||
req, FAKE_UUID, body=body)
|
||||
|
||||
def test_update_server_adminPass_ignored(self):
|
||||
inst_dict = dict(name='server_test', adminPass='bacon')
|
||||
def test_update_server_admin_password_ignored(self):
|
||||
inst_dict = dict(name='server_test', admin_password='bacon')
|
||||
body = dict(server=inst_dict)
|
||||
|
||||
def server_update(context, id, params):
|
||||
@ -1911,11 +1911,11 @@ class ServersControllerCreateTest(test.TestCase):
|
||||
def _check_admin_password_len(self, server_dict):
|
||||
"""utility function - check server_dict for admin_password length."""
|
||||
self.assertEqual(CONF.password_length,
|
||||
len(server_dict["admin_password"]))
|
||||
len(server_dict["adminPass"]))
|
||||
|
||||
def _check_admin_password_missing(self, server_dict):
|
||||
"""utility function - check server_dict for admin_password absence."""
|
||||
self.assertNotIn("admin_password", server_dict)
|
||||
self.assertNotIn("adminPass", server_dict)
|
||||
|
||||
def _test_create_instance(self, flavor=2):
|
||||
image_uuid = 'c905cedb-7281-47e4-8a62-f26bc5fc4c77'
|
||||
@ -2390,27 +2390,27 @@ class ServersControllerCreateTest(test.TestCase):
|
||||
|
||||
def test_create_instance_admin_password(self):
|
||||
self.body['server']['flavor_ref'] = 3
|
||||
self.body['server']['admin_password'] = 'testpass'
|
||||
self.body['server']['adminPass'] = 'testpass'
|
||||
self.req.body = jsonutils.dumps(self.body)
|
||||
res = self.controller.create(self.req, body=self.body).obj
|
||||
|
||||
server = res['server']
|
||||
self.assertEqual(server['admin_password'],
|
||||
self.body['server']['admin_password'])
|
||||
self.assertEqual(server['adminPass'],
|
||||
self.body['server']['adminPass'])
|
||||
|
||||
def test_create_instance_admin_password_pass_disabled(self):
|
||||
self.flags(enable_instance_password=False)
|
||||
self.body['server']['flavor_ref'] = 3
|
||||
self.body['server']['admin_password'] = 'testpass'
|
||||
self.body['server']['adminPass'] = 'testpass'
|
||||
self.req.body = jsonutils.dumps(self.body)
|
||||
res = self.controller.create(self.req, body=self.body).obj
|
||||
|
||||
self.assertIn('server', res)
|
||||
self.assertIn('admin_password', self.body['server'])
|
||||
self.assertIn('adminPass', self.body['server'])
|
||||
|
||||
def test_create_instance_admin_password_empty(self):
|
||||
self.body['server']['flavor_ref'] = 3
|
||||
self.body['server']['admin_password'] = ''
|
||||
self.body['server']['adminPass'] = ''
|
||||
self.req.body = jsonutils.dumps(self.body)
|
||||
|
||||
# The fact that the action doesn't raise is enough validation
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -10,7 +10,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"created": "%(isotime)s",
|
||||
"flavor": {
|
||||
"id": "1",
|
||||
|
@ -2,7 +2,7 @@
|
||||
"server": {
|
||||
"os-access-ips:access_ip_v4": "%(access_ip_v4)s",
|
||||
"os-access-ips:access_ip_v6": "%(access_ip_v6)s",
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
@ -10,7 +10,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"created": "%(isotime)s",
|
||||
"flavor": {
|
||||
"id": "1",
|
||||
|
@ -2,7 +2,7 @@
|
||||
"rebuild" : {
|
||||
"image_ref" : "%(glance_host)s/images/%(uuid)s",
|
||||
"name" : "%(name)s",
|
||||
"admin_password" : "%(pass)s",
|
||||
"adminPass" : "%(pass)s",
|
||||
"metadata" : {
|
||||
"meta_var" : "meta_val"
|
||||
},
|
||||
|
@ -10,7 +10,7 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"created": "%(isotime)s",
|
||||
"flavor": {
|
||||
"id": "1",
|
||||
|
@ -2,7 +2,7 @@
|
||||
"rebuild" : {
|
||||
"image_ref" : "%(glance_host)s/images/%(uuid)s",
|
||||
"name" : "%(name)s",
|
||||
"admin_password" : "%(pass)s",
|
||||
"adminPass" : "%(pass)s",
|
||||
"metadata" : {
|
||||
"meta_var" : "meta_val"
|
||||
},
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": {
|
||||
"admin_password": "%(password)s",
|
||||
"adminPass": "%(password)s",
|
||||
"id": "%(id)s",
|
||||
"links": [
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user