summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArata Notsu <notsu@virtualtech.jp>2013-04-03 19:31:09 +0900
committerArata Notsu <notsu@virtualtech.jp>2013-04-11 16:31:11 +0900
commit64a0bcae5aacff2bf2445ab519b837b4e01cce60 (patch)
tree243170bab11e611acaac302b034387360a7fe491
parent6b2af9c084754a1e678f741bfc6b97e13f1cf8a5 (diff)
downloadnova-64a0bcae5aacff2bf2445ab519b837b4e01cce60.tar.gz
nova-64a0bcae5aacff2bf2445ab519b837b4e01cce60.tar.xz
nova-64a0bcae5aacff2bf2445ab519b837b4e01cce60.zip
baremetal: Change node api related to prov_mac_address
Now prov_mac_address is going to be dropped from bm_nodes table. This patch adjust api to the change. A user is expected to create a node without specifying prov_mac_address, then add an interface having the address to the node. However, for compatibility, a user still can specify prov_mac_address when create a node. In this case, an interface having prov_mac_address is automatically added to the node. In response body of create, index and show, "prov_mac_address" field no longer exists since they are showed as a member of "interfaces" fileld. DocImpact Change-Id: I6653829364b0a641442d45e766493180d6f2a880
-rw-r--r--doc/api_samples/os-baremetal-nodes/baremetal-node-create-req.json3
-rw-r--r--doc/api_samples/os-baremetal-nodes/baremetal-node-create-req.xml3
-rw-r--r--doc/api_samples/os-baremetal-nodes/baremetal-node-create-resp.json1
-rw-r--r--doc/api_samples/os-baremetal-nodes/baremetal-node-create-resp.xml1
-rw-r--r--doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.json13
-rw-r--r--doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.xml11
-rw-r--r--doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.json21
-rw-r--r--doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.xml19
-rw-r--r--doc/api_samples/os-baremetal-nodes/baremetal-node-list-resp.json1
-rw-r--r--doc/api_samples/os-baremetal-nodes/baremetal-node-list-resp.xml1
-rw-r--r--doc/api_samples/os-baremetal-nodes/baremetal-node-show-resp.json1
-rw-r--r--doc/api_samples/os-baremetal-nodes/baremetal-node-show-resp.xml1
-rw-r--r--nova/api/openstack/compute/contrib/baremetal_nodes.py18
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_baremetal_nodes.py1
-rw-r--r--nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-req.json.tpl1
-rw-r--r--nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-req.xml.tpl1
-rw-r--r--nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-resp.json.tpl1
-rw-r--r--nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-resp.xml.tpl1
-rw-r--r--nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.json.tpl13
-rw-r--r--nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.xml.tpl11
-rw-r--r--nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.json.tpl19
-rw-r--r--nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.xml.tpl19
-rw-r--r--nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-list-resp.json.tpl1
-rw-r--r--nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-list-resp.xml.tpl1
-rw-r--r--nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-show-resp.json.tpl1
-rw-r--r--nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-show-resp.xml.tpl1
-rw-r--r--nova/tests/integrated/test_api_samples.py15
27 files changed, 158 insertions, 22 deletions
diff --git a/doc/api_samples/os-baremetal-nodes/baremetal-node-create-req.json b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-req.json
index fa6455c49..389517ed7 100644
--- a/doc/api_samples/os-baremetal-nodes/baremetal-node-create-req.json
+++ b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-req.json
@@ -7,7 +7,6 @@
"pm_address": "10.1.2.3",
"pm_user": "pm_user",
"pm_password": "pm_pass",
- "prov_mac_address": "12:34:56:78:90:ab",
"terminal_port": 8000
}
-} \ No newline at end of file
+}
diff --git a/doc/api_samples/os-baremetal-nodes/baremetal-node-create-req.xml b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-req.xml
index 3cbc3ea8a..a06b8d73f 100644
--- a/doc/api_samples/os-baremetal-nodes/baremetal-node-create-req.xml
+++ b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-req.xml
@@ -6,6 +6,5 @@
local_gb="128"
pm_address="10.1.2.3"
pm_user="pm_user"
- prov_mac_address="12:34:56:78:90:ab"
terminal_port="8000"
-/> \ No newline at end of file
+/>
diff --git a/doc/api_samples/os-baremetal-nodes/baremetal-node-create-resp.json b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-resp.json
index 0f176482c..fdb206560 100644
--- a/doc/api_samples/os-baremetal-nodes/baremetal-node-create-resp.json
+++ b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-resp.json
@@ -8,7 +8,6 @@
"memory_mb": 8192,
"pm_address": "10.1.2.3",
"pm_user": "pm_user",
- "prov_mac_address": "12:34:56:78:90:ab",
"service_host": "host",
"terminal_port": 8000
}
diff --git a/doc/api_samples/os-baremetal-nodes/baremetal-node-create-resp.xml b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-resp.xml
index 20fb43b64..6a0b3a266 100644
--- a/doc/api_samples/os-baremetal-nodes/baremetal-node-create-resp.xml
+++ b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-resp.xml
@@ -4,7 +4,6 @@
pm_address="10.1.2.3"
cpus="8"
memory_mb="8192"
- prov_mac_address="12:34:56:78:90:ab"
service_host="host"
local_gb="128"
id="1"
diff --git a/doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.json b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.json
new file mode 100644
index 000000000..82b6485b9
--- /dev/null
+++ b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.json
@@ -0,0 +1,13 @@
+{
+ "node": {
+ "service_host": "host",
+ "cpus": 8,
+ "memory_mb": 8192,
+ "local_gb": 128,
+ "pm_address": "10.1.2.3",
+ "pm_user": "pm_user",
+ "pm_password": "pm_pass",
+ "prov_mac_address": "12:34:56:78:90:ab",
+ "terminal_port": 8000
+ }
+}
diff --git a/doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.xml b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.xml
new file mode 100644
index 000000000..8065c41c1
--- /dev/null
+++ b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node
+ service_host="host"
+ cpus="8"
+ memory_mb="8192"
+ local_gb="128"
+ pm_address="10.1.2.3"
+ pm_user="pm_user"
+ prov_mac_address="12:34:56:78:90:ab"
+ terminal_port="8000"
+/>
diff --git a/doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.json b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.json
new file mode 100644
index 000000000..90ff4e371
--- /dev/null
+++ b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.json
@@ -0,0 +1,21 @@
+{
+ "node": {
+ "cpus": 8,
+ "id": 1,
+ "instance_uuid": null,
+ "interfaces": [
+ {
+ "address": "12:34:56:78:90:ab",
+ "datapath_id": null,
+ "id": 1,
+ "port_no": null
+ }
+ ],
+ "local_gb": 128,
+ "memory_mb": 8192,
+ "pm_address": "10.1.2.3",
+ "pm_user": "pm_user",
+ "service_host": "host",
+ "terminal_port": 8000
+ }
+}
diff --git a/doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.xml b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.xml
new file mode 100644
index 000000000..1432629ed
--- /dev/null
+++ b/doc/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.xml
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<node
+ instance_uuid="None"
+ pm_address="10.1.2.3"
+ cpus="8"
+ memory_mb="8192"
+ service_host="host"
+ local_gb="128"
+ id="1"
+ pm_user="pm_user"
+ terminal_port="8000">
+ <interfaces>
+ <interface
+ datapath_id="None"
+ id="1"
+ port_no="None"
+ address="12:34:56:78:90:ab"/>
+ </interfaces>
+</node>
diff --git a/doc/api_samples/os-baremetal-nodes/baremetal-node-list-resp.json b/doc/api_samples/os-baremetal-nodes/baremetal-node-list-resp.json
index d85f7c6f7..1b8d5a8ce 100644
--- a/doc/api_samples/os-baremetal-nodes/baremetal-node-list-resp.json
+++ b/doc/api_samples/os-baremetal-nodes/baremetal-node-list-resp.json
@@ -16,7 +16,6 @@
"memory_mb": 8192,
"pm_address": "10.1.2.3",
"pm_user": "pm_user",
- "prov_mac_address": "12:34:56:78:90:ab",
"service_host": "host",
"terminal_port": 8000
}
diff --git a/doc/api_samples/os-baremetal-nodes/baremetal-node-list-resp.xml b/doc/api_samples/os-baremetal-nodes/baremetal-node-list-resp.xml
index feb3d6f1d..2afc47f67 100644
--- a/doc/api_samples/os-baremetal-nodes/baremetal-node-list-resp.xml
+++ b/doc/api_samples/os-baremetal-nodes/baremetal-node-list-resp.xml
@@ -5,7 +5,6 @@
pm_address="10.1.2.3"
cpus="8"
memory_mb="8192"
- prov_mac_address="12:34:56:78:90:ab"
service_host="host"
local_gb="128"
id="1"
diff --git a/doc/api_samples/os-baremetal-nodes/baremetal-node-show-resp.json b/doc/api_samples/os-baremetal-nodes/baremetal-node-show-resp.json
index c407c20a2..a8ba25ef9 100644
--- a/doc/api_samples/os-baremetal-nodes/baremetal-node-show-resp.json
+++ b/doc/api_samples/os-baremetal-nodes/baremetal-node-show-resp.json
@@ -15,7 +15,6 @@
"memory_mb": 8192,
"pm_address": "10.1.2.3",
"pm_user": "pm_user",
- "prov_mac_address": "12:34:56:78:90:ab",
"service_host": "host",
"terminal_port": 8000
}
diff --git a/doc/api_samples/os-baremetal-nodes/baremetal-node-show-resp.xml b/doc/api_samples/os-baremetal-nodes/baremetal-node-show-resp.xml
index 12d881a3f..438ee5921 100644
--- a/doc/api_samples/os-baremetal-nodes/baremetal-node-show-resp.xml
+++ b/doc/api_samples/os-baremetal-nodes/baremetal-node-show-resp.xml
@@ -4,7 +4,6 @@
pm_address="10.1.2.3"
cpus="8"
memory_mb="8192"
- prov_mac_address="12:34:56:78:90:ab"
service_host="host"
local_gb="128"
id="1"
diff --git a/nova/api/openstack/compute/contrib/baremetal_nodes.py b/nova/api/openstack/compute/contrib/baremetal_nodes.py
index b3f226039..f69db50f0 100644
--- a/nova/api/openstack/compute/contrib/baremetal_nodes.py
+++ b/nova/api/openstack/compute/contrib/baremetal_nodes.py
@@ -26,7 +26,7 @@ from nova.virt.baremetal import db
authorize = extensions.extension_authorizer('compute', 'baremetal_nodes')
node_fields = ['id', 'cpus', 'local_gb', 'memory_mb', 'pm_address',
- 'pm_user', 'prov_mac_address',
+ 'pm_user',
'service_host', 'terminal_port', 'instance_uuid',
]
@@ -129,9 +129,21 @@ class BareMetalNodeController(wsgi.Controller):
def create(self, req, body):
context = req.environ['nova.context']
authorize(context)
- node = db.bm_node_create(context, body['node'])
+ values = body['node'].copy()
+ prov_mac_address = values.pop('prov_mac_address', None)
+ node = db.bm_node_create(context, values)
node = _node_dict(node)
- node['interfaces'] = []
+ if prov_mac_address:
+ if_id = db.bm_interface_create(context,
+ bm_node_id=node['id'],
+ address=prov_mac_address,
+ datapath_id=None,
+ port_no=None)
+ if_ref = db.bm_interface_get(context, if_id)
+ node['interfaces'] = [_interface_dict(if_ref)]
+ else:
+ node['interfaces'] = []
+ print node
return {'node': node}
def delete(self, req, id):
diff --git a/nova/tests/api/openstack/compute/contrib/test_baremetal_nodes.py b/nova/tests/api/openstack/compute/contrib/test_baremetal_nodes.py
index 76ebd8dec..23d06cad2 100644
--- a/nova/tests/api/openstack/compute/contrib/test_baremetal_nodes.py
+++ b/nova/tests/api/openstack/compute/contrib/test_baremetal_nodes.py
@@ -46,7 +46,6 @@ class BareMetalNodesTest(test.TestCase):
'pm_address': "10.1.2.3",
'pm_user': "pm_user",
'pm_password': "pm_pass",
- 'prov_mac_address': "12:34:56:78:90:ab",
'terminal_port': 8000,
'interfaces': [],
}
diff --git a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-req.json.tpl b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-req.json.tpl
index 82b6485b9..389517ed7 100644
--- a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-req.json.tpl
+++ b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-req.json.tpl
@@ -7,7 +7,6 @@
"pm_address": "10.1.2.3",
"pm_user": "pm_user",
"pm_password": "pm_pass",
- "prov_mac_address": "12:34:56:78:90:ab",
"terminal_port": 8000
}
}
diff --git a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-req.xml.tpl b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-req.xml.tpl
index 8065c41c1..a06b8d73f 100644
--- a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-req.xml.tpl
+++ b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-req.xml.tpl
@@ -6,6 +6,5 @@
local_gb="128"
pm_address="10.1.2.3"
pm_user="pm_user"
- prov_mac_address="12:34:56:78:90:ab"
terminal_port="8000"
/>
diff --git a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-resp.json.tpl b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-resp.json.tpl
index a0d976b99..855b67150 100644
--- a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-resp.json.tpl
+++ b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-resp.json.tpl
@@ -6,7 +6,6 @@
"local_gb": 128,
"pm_address": "10.1.2.3",
"pm_user": "pm_user",
- "prov_mac_address": "12:34:56:78:90:ab",
"terminal_port": 8000,
"instance_uuid": null,
"id": %(node_id)s,
diff --git a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-resp.xml.tpl b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-resp.xml.tpl
index 1c3700841..15d0640c9 100644
--- a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-resp.xml.tpl
+++ b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-resp.xml.tpl
@@ -6,7 +6,6 @@
local_gb="128"
pm_address="10.1.2.3"
pm_user="pm_user"
- prov_mac_address="12:34:56:78:90:ab"
terminal_port="8000"
instance_uuid="None"
id="%(node_id)s">
diff --git a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.json.tpl b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.json.tpl
new file mode 100644
index 000000000..458aa1282
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.json.tpl
@@ -0,0 +1,13 @@
+{
+ "node": {
+ "service_host": "host",
+ "cpus": 8,
+ "memory_mb": 8192,
+ "local_gb": 128,
+ "pm_address": "10.1.2.3",
+ "pm_user": "pm_user",
+ "pm_password": "pm_pass",
+ "prov_mac_address": "%(address)s",
+ "terminal_port": 8000
+ }
+}
diff --git a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.xml.tpl b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.xml.tpl
new file mode 100644
index 000000000..2c7273709
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-req.xml.tpl
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node
+ service_host="host"
+ cpus="8"
+ memory_mb="8192"
+ local_gb="128"
+ pm_address="10.1.2.3"
+ pm_user="pm_user"
+ prov_mac_address="%(address)s"
+ terminal_port="8000"
+/>
diff --git a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.json.tpl b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.json.tpl
new file mode 100644
index 000000000..dae8d4373
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.json.tpl
@@ -0,0 +1,19 @@
+{
+ "node": {
+ "service_host": "host",
+ "cpus": 8,
+ "memory_mb": 8192,
+ "local_gb": 128,
+ "pm_address": "10.1.2.3",
+ "pm_user": "pm_user",
+ "terminal_port": 8000,
+ "instance_uuid": null,
+ "id": %(node_id)s,
+ "interfaces": [{
+ "id": %(interface_id)s,
+ "address": "%(address)s",
+ "datapath_id": null,
+ "port_no": null
+ }]
+ }
+}
diff --git a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.xml.tpl b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.xml.tpl
new file mode 100644
index 000000000..b036a1d47
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-create-with-address-resp.xml.tpl
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node
+ service_host="host"
+ cpus="8"
+ memory_mb="8192"
+ local_gb="128"
+ pm_address="10.1.2.3"
+ pm_user="pm_user"
+ terminal_port="8000"
+ instance_uuid="None"
+ id="%(node_id)s">
+ <interfaces>
+ <interface
+ id="%(interface_id)s"
+ address="%(address)s"
+ datapath_id="None"
+ port_no="None"/>
+ </interfaces>
+</node>
diff --git a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-list-resp.json.tpl b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-list-resp.json.tpl
index 4a5e03701..a38bdf6d7 100644
--- a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-list-resp.json.tpl
+++ b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-list-resp.json.tpl
@@ -6,7 +6,6 @@
"local_gb": 128,
"pm_address": "10.1.2.3",
"pm_user": "pm_user",
- "prov_mac_address": "12:34:56:78:90:ab",
"terminal_port": 8000,
"instance_uuid": null,
"id": %(node_id)s,
diff --git a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-list-resp.xml.tpl b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-list-resp.xml.tpl
index f8cfc3885..5bb51d4be 100644
--- a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-list-resp.xml.tpl
+++ b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-list-resp.xml.tpl
@@ -7,7 +7,6 @@
local_gb="128"
pm_address="10.1.2.3"
pm_user="pm_user"
- prov_mac_address="12:34:56:78:90:ab"
terminal_port="8000"
instance_uuid="None"
id="%(node_id)s">
diff --git a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-show-resp.json.tpl b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-show-resp.json.tpl
index 67a878a4a..dae8d4373 100644
--- a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-show-resp.json.tpl
+++ b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-show-resp.json.tpl
@@ -6,7 +6,6 @@
"local_gb": 128,
"pm_address": "10.1.2.3",
"pm_user": "pm_user",
- "prov_mac_address": "12:34:56:78:90:ab",
"terminal_port": 8000,
"instance_uuid": null,
"id": %(node_id)s,
diff --git a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-show-resp.xml.tpl b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-show-resp.xml.tpl
index 667024116..7fc10026e 100644
--- a/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-show-resp.xml.tpl
+++ b/nova/tests/integrated/api_samples/os-baremetal-nodes/baremetal-node-show-resp.xml.tpl
@@ -6,7 +6,6 @@
local_gb="128"
pm_address="10.1.2.3"
pm_user="pm_user"
- prov_mac_address="12:34:56:78:90:ab"
terminal_port="8000"
instance_uuid="None"
id="%(node_id)s">
diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py
index c0c908e07..5a2327bc0 100644
--- a/nova/tests/integrated/test_api_samples.py
+++ b/nova/tests/integrated/test_api_samples.py
@@ -2782,9 +2782,24 @@ class BareMetalNodesJsonTest(ApiSampleTestBase, bm_db_base.BMDBTestCase):
return self._verify_response("baremetal-node-create-resp", subs,
response, 200)
+ def _create_node_with_address(self):
+ address = '12:34:56:78:90:ab'
+ req_subs = {'address': address}
+ response = self._do_post("os-baremetal-nodes",
+ "baremetal-node-create-with-address-req",
+ req_subs)
+ subs = {'node_id': '(?P<id>\d+)',
+ 'interface_id': '\d+',
+ 'address': address}
+ return self._verify_response("baremetal-node-create-with-address-resp",
+ subs, response, 200)
+
def test_create_node(self):
self._create_node()
+ def test_create_node_with_address(self):
+ self._create_node_with_address()
+
def test_list_nodes(self):
node_id = self._create_node()
interface_id = self._add_interface(node_id)