Skip to content
Snippets Groups Projects

Update assign_resource_class_ironic.py

Merged Maryna Savchenko requested to merge OS-17717_add_rack into master
1 file
+ 9
2
Compare changes
  • Side-by-side
  • Inline
@@ -22,6 +22,9 @@ class AssignResourceClassIronic(BaseCloudCMD):
self.parser.add_argument(
"--flavor_prefix", default="p1",
help="Flavor prefix, p1 for physical, s1 for the storage.")
self.parser.add_argument(
"--add_rack", default=False, action='store_true',
help="If set to True, rack location will be added in the RC.")
def main(self, args=None):
"""Parse node's name and generate resource class."""
@@ -40,11 +43,15 @@ class AssignResourceClassIronic(BaseCloudCMD):
node_ip = socket.gethostbyname(node)
device = self.landb.device_info(
self.landb.device_search(ip_addr=node_ip)[0])
rack_location = ''
if args.add_rack:
rack_location = device.Zone + '_'
for interface in device.Interfaces:
if interface.Name == device.DeviceName + '.CERN.CH':
svc_name = interface.ServiceName.replace('-', '_')
resource_class = 'BAREMETAL_{}_{}_{}'.format(
args.flavor_prefix.upper(), delivery.upper(), svc_name)
resource_class = 'BAREMETAL_{}_{}_{}{}'.format(
args.flavor_prefix.upper(), delivery.upper(),
rack_location, svc_name)
ironic_command = "openstack baremetal node set {} " \
"--resource-class {}"
print(ironic_command.format(node, resource_class))
Loading