summaryrefslogtreecommitdiffstats
path: root/fuel/deploy/dha_adapters/hp_adapter.py
blob: 8cfec341ab66c3457c6b3fdb1ec5bd96e8f568f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import common
from ipmi_adapter import IpmiAdapter
from ssh_client import SSHClient

log = common.log

DEV = {'pxe': 'bootsource5',
       'disk': 'bootsource3',
       'iso': 'bootsource1'}

ROOT = '/system1/bootconfig1'

class HpAdapter(IpmiAdapter):

    def __init__(self, yaml_path):
        super(HpAdapter, self).__init__(yaml_path)

    def node_set_boot_order(self, node_id, boot_order_list):
        log('Set boot order %s on Node %s' % (boot_order_list, node_id))
        ip, username, password = self.get_access_info(node_id)
        ssh = SSHClient(ip, username, password)
        with ssh as s:
            for order, dev in enumerate(boot_order_list):
                s.exec_cmd('set %s/%s bootorder=%s'
                           % (ROOT, DEV[dev], order+1))