14
14
# under the License.
15
15
16
16
from openstack .baremetal .v1 import node as _node
17
+ from openstack .baremetal .v1 import port as _port
18
+ from openstack .baremetal .v1 import port_group as _port_group
19
+ from openstack .baremetal .v1 import volume_connector as _volume_connector
20
+ from openstack .baremetal .v1 import volume_target as _volume_target
17
21
18
22
from nova import objects
19
23
from nova .virt .ironic import ironic_states
@@ -36,71 +40,78 @@ def get_test_node(fields=None, **kw):
36
40
if 'uuid' in kw or 'instance_uuid' in kw or 'maintenance' in kw :
37
41
raise Exception ('Invalid property provided' )
38
42
39
- node = {'id' : kw .get ('id' , 'eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa' ),
40
- 'chassis_uuid' : kw .get ('chassis_uuid' ),
41
- 'power_state' : kw .get ('power_state' , ironic_states .NOSTATE ),
42
- 'target_power_state' : kw .get ('target_power_state' ,
43
+ node = {
44
+ 'id' : kw .get ('id' , 'eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa' ),
45
+ 'chassis_uuid' : kw .get ('chassis_uuid' ),
46
+ 'power_state' : kw .get ('power_state' , ironic_states .NOSTATE ),
47
+ 'target_power_state' : kw .get ('target_power_state' ,
48
+ ironic_states .NOSTATE ),
49
+ 'provision_state' : kw .get ('provision_state' , ironic_states .AVAILABLE ),
50
+ 'target_provision_state' : kw .get ('target_provision_state' ,
43
51
ironic_states .NOSTATE ),
44
- 'provision_state' : kw .get ('provision_state' ,
45
- ironic_states .NOSTATE ),
46
- 'target_provision_state' : kw .get ('target_provision_state' ,
47
- ironic_states .NOSTATE ),
48
- 'last_error' : kw .get ('last_error' ),
49
- 'instance_id' : kw .get ('instance_id' ),
50
- 'instance_info' : kw .get ('instance_info' ),
51
- 'driver' : kw .get ('driver' , 'fake' ),
52
- 'driver_info' : kw .get ('driver_info' , {}),
53
- 'properties' : kw .get ('properties' , {}),
54
- 'reservation' : kw .get ('reservation' ),
55
- 'is_maintenance' : kw .get ('is_maintenance' ),
56
- 'network_interface' : kw .get ('network_interface' ),
57
- 'resource_class' : kw .get ('resource_class' ),
58
- 'traits' : kw .get ('traits' , []),
59
- 'extra' : kw .get ('extra' , {}),
60
- 'updated_at' : kw .get ('created_at' ),
61
- 'created_at' : kw .get ('updated_at' )}
52
+ 'last_error' : kw .get ('last_error' ),
53
+ 'instance_id' : kw .get ('instance_id' ),
54
+ 'instance_info' : kw .get ('instance_info' ),
55
+ 'driver' : kw .get ('driver' , 'fake' ),
56
+ 'driver_info' : kw .get ('driver_info' , {}),
57
+ 'properties' : kw .get ('properties' , {}),
58
+ 'reservation' : kw .get ('reservation' ),
59
+ 'is_maintenance' : kw .get ('is_maintenance' ),
60
+ 'network_interface' : kw .get ('network_interface' ),
61
+ 'resource_class' : kw .get ('resource_class' ),
62
+ 'traits' : kw .get ('traits' , []),
63
+ 'extra' : kw .get ('extra' , {}),
64
+ 'updated_at' : kw .get ('created_at' ),
65
+ 'created_at' : kw .get ('updated_at' ),
66
+ }
62
67
63
68
if fields is not None :
64
69
node = {key : value for key , value in node .items () if key in fields }
65
70
66
- return type ( ' node' , ( object ,), node )( )
71
+ return _node . Node ( ** node )
67
72
68
73
69
74
def get_test_port (** kw ):
70
75
# NOTE(stephenfin): Prevent invalid properties making their way through
71
76
if 'uuid' in kw or 'node_uuid' in kw or 'portgroup_uuid' in kw :
72
77
raise Exception ('Invalid property provided' )
73
78
74
- return type ('port' , (object ,),
75
- {'id' : kw .get ('id' , 'gggggggg-uuuu-qqqq-ffff-llllllllllll' ),
76
- 'node_id' : kw .get ('node_id' , get_test_node ().id ),
77
- 'address' : kw .get ('address' , 'FF:FF:FF:FF:FF:FF' ),
78
- 'extra' : kw .get ('extra' , {}),
79
- 'internal_info' : kw .get ('internal_info' , {}),
80
- 'port_group_id' : kw .get ('port_group_id' ),
81
- 'created_at' : kw .get ('created_at' ),
82
- 'updated_at' : kw .get ('updated_at' )})()
79
+ port = {
80
+ 'id' : kw .get ('id' , 'gggggggg-uuuu-qqqq-ffff-llllllllllll' ),
81
+ 'node_id' : kw .get ('node_id' , get_test_node ().id ),
82
+ 'address' : kw .get ('address' , 'FF:FF:FF:FF:FF:FF' ),
83
+ 'extra' : kw .get ('extra' , {}),
84
+ 'internal_info' : kw .get ('internal_info' , {}),
85
+ 'port_group_id' : kw .get ('port_group_id' ),
86
+ 'created_at' : kw .get ('created_at' ),
87
+ 'updated_at' : kw .get ('updated_at' ),
88
+ }
89
+
90
+ return _port .Port (** port )
83
91
84
92
85
93
def get_test_portgroup (** kw ):
86
94
# NOTE(stephenfin): Prevent invalid properties making their way through
87
95
if 'uuid' in kw or 'node_uuid' in kw :
88
96
raise Exception ('Invalid property provided' )
89
97
90
- return type ('portgroup' , (object ,),
91
- {'id' : kw .get ('id' , 'deaffeed-1234-5678-9012-fedcbafedcba' ),
92
- 'node_id' : kw .get ('node_id' , get_test_node ().id ),
93
- 'address' : kw .get ('address' , 'EE:EE:EE:EE:EE:EE' ),
94
- 'extra' : kw .get ('extra' , {}),
95
- 'internal_info' : kw .get ('internal_info' , {}),
96
- 'properties' : kw .get ('properties' , {}),
97
- 'mode' : kw .get ('mode' , 'active-backup' ),
98
- 'name' : kw .get ('name' ),
99
- 'standalone_ports_supported' : kw .get (
100
- 'standalone_ports_supported' , True ,
101
- ),
102
- 'created_at' : kw .get ('created_at' ),
103
- 'updated_at' : kw .get ('updated_at' )})()
98
+ port_group = {
99
+ 'id' : kw .get ('id' , 'deaffeed-1234-5678-9012-fedcbafedcba' ),
100
+ 'node_id' : kw .get ('node_id' , get_test_node ().id ),
101
+ 'address' : kw .get ('address' , 'EE:EE:EE:EE:EE:EE' ),
102
+ 'extra' : kw .get ('extra' , {}),
103
+ 'internal_info' : kw .get ('internal_info' , {}),
104
+ 'properties' : kw .get ('properties' , {}),
105
+ 'mode' : kw .get ('mode' , 'active-backup' ),
106
+ 'name' : kw .get ('name' ),
107
+ 'is_standalone_ports_supported' : kw .get (
108
+ 'is_standalone_ports_supported' , True ,
109
+ ),
110
+ 'created_at' : kw .get ('created_at' ),
111
+ 'updated_at' : kw .get ('updated_at' ),
112
+ }
113
+
114
+ return _port_group .PortGroup (** port_group )
104
115
105
116
106
117
def get_test_vif (** kw ):
@@ -118,57 +129,69 @@ def get_test_vif(**kw):
118
129
'active' : kw .get ('active' , True ),
119
130
'type' : kw .get ('type' , 'ironic' ),
120
131
'id' : kw .get ('id' , 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee' ),
121
- 'qbg_params' : kw .get ('qbg_params' )}
132
+ 'qbg_params' : kw .get ('qbg_params' ),
133
+ }
122
134
123
135
124
136
def get_test_volume_connector (** kw ):
125
137
# NOTE(stephenfin): Prevent invalid properties making their way through
126
138
if 'uuid' in kw or 'node_uuid' in kw :
127
139
raise Exception ('Invalid property provided' )
128
140
129
- return type ('volume_connector' , (object ,),
130
- {'id' : kw .get ('id' , 'hhhhhhhh-qqqq-uuuu-mmmm-bbbbbbbbbbbb' ),
131
- 'node_id' : kw .get ('node_id' , get_test_node ().id ),
132
- 'type' : kw .get ('type' , 'iqn' ),
133
- 'connector_id' : kw .get ('connector_id' , 'iqn.test' ),
134
- 'extra' : kw .get ('extra' , {}),
135
- 'created_at' : kw .get ('created_at' ),
136
- 'updated_at' : kw .get ('updated_at' )})()
141
+ volume_connector = {
142
+ 'id' : kw .get ('id' , 'hhhhhhhh-qqqq-uuuu-mmmm-bbbbbbbbbbbb' ),
143
+ 'node_id' : kw .get ('node_id' , get_test_node ().id ),
144
+ 'type' : kw .get ('type' , 'iqn' ),
145
+ 'connector_id' : kw .get ('connector_id' , 'iqn.test' ),
146
+ 'extra' : kw .get ('extra' , {}),
147
+ 'created_at' : kw .get ('created_at' ),
148
+ 'updated_at' : kw .get ('updated_at' ),
149
+ }
150
+
151
+ return _volume_connector .VolumeConnector (** volume_connector )
137
152
138
153
139
154
def get_test_volume_target (** kw ):
140
155
# NOTE(stephenfin): Prevent invalid properties making their way through
141
156
if 'uuid' in kw or 'node_uuid' in kw :
142
157
raise Exception ('Invalid property provided' )
143
158
144
- return type ('volume_target' , (object ,),
145
- {'id' : kw .get ('id' , 'aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee' ),
146
- 'node_id' : kw .get ('node_id' , get_test_node ().id ),
147
- 'volume_type' : kw .get ('volume_type' , 'iscsi' ),
148
- 'properties' : kw .get ('properties' , {}),
149
- 'boot_index' : kw .get ('boot_index' , 0 ),
150
- 'volume_id' : kw .get ('volume_id' ,
151
- 'fffffff-gggg-hhhh-iiii-jjjjjjjjjjjj' ),
152
- 'extra' : kw .get ('extra' , {}),
153
- 'created_at' : kw .get ('created_at' ),
154
- 'updated_at' : kw .get ('updated_at' )})()
159
+ volume_target = {
160
+ 'id' : kw .get ('id' , 'aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee' ),
161
+ 'node_id' : kw .get ('node_id' , get_test_node ().id ),
162
+ 'volume_type' : kw .get ('volume_type' , 'iscsi' ),
163
+ 'properties' : kw .get ('properties' , {}),
164
+ 'boot_index' : kw .get ('boot_index' , 0 ),
165
+ 'volume_id' : kw .get (
166
+ 'volume_id' , 'fffffff-gggg-hhhh-iiii-jjjjjjjjjjjj' ,
167
+ ),
168
+ 'extra' : kw .get ('extra' , {}),
169
+ 'created_at' : kw .get ('created_at' ),
170
+ 'updated_at' : kw .get ('updated_at' ),
171
+ }
172
+
173
+ return _volume_target .VolumeTarget (** volume_target )
155
174
156
175
157
176
def get_test_flavor (** kw ):
158
- default_extra_specs = {'baremetal:deploy_kernel_id' :
159
- 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa' ,
160
- 'baremetal:deploy_ramdisk_id' :
161
- 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb' }
162
- flavor = {'name' : kw .get ('name' , 'fake.flavor' ),
163
- 'extra_specs' : kw .get ('extra_specs' , default_extra_specs ),
164
- 'swap' : kw .get ('swap' , 0 ),
165
- 'root_gb' : 1 ,
166
- 'memory_mb' : 1 ,
167
- 'vcpus' : 1 ,
168
- 'ephemeral_gb' : kw .get ('ephemeral_gb' , 0 )}
177
+ default_extra_specs = {
178
+ 'baremetal:deploy_kernel_id' : 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa' ,
179
+ 'baremetal:deploy_ramdisk_id' : 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb' ,
180
+ }
181
+ flavor = {
182
+ 'name' : kw .get ('name' , 'fake.flavor' ),
183
+ 'extra_specs' : kw .get ('extra_specs' , default_extra_specs ),
184
+ 'swap' : kw .get ('swap' , 0 ),
185
+ 'root_gb' : 1 ,
186
+ 'memory_mb' : 1 ,
187
+ 'vcpus' : 1 ,
188
+ 'ephemeral_gb' : kw .get ('ephemeral_gb' , 0 ),
189
+ }
190
+
169
191
return objects .Flavor (** flavor )
170
192
171
193
172
194
def get_test_image_meta (** kw ):
173
195
return objects .ImageMeta .from_dict (
174
- {'id' : kw .get ('id' , 'cccccccc-cccc-cccc-cccc-cccccccccccc' )})
196
+ {'id' : kw .get ('id' , 'cccccccc-cccc-cccc-cccc-cccccccccccc' )},
197
+ )
0 commit comments