-
-
Notifications
You must be signed in to change notification settings - Fork 277
Activation takes long time #1837
Unanswered
kjeldflarup
asked this question in
Q&A
I have for a long time been puzzled why my tests are so slow.
I now have a DUT consisting of 10 controllers. Each of these has a relay, and I thus create a power fixture.
@pytest.fixture(scope="session")
def power(env):
t = env.get_target("main")
return {
name: t.get_driver("NetworkPowerDriver", name="dut-power-"+name, activate = True)
for name in (
"bu1",
"bu2",
"bu3",
"bu4",
"bu5",
"bu6",
"bu7",
"bu8",
"bu9",
"bu10",
)
}
Now this takes a long time to activate these drivers (and they do not even try to contact the releays rest interface)
If I half the number of bu1's, then I also half the time. So each get_driver call takes 6 seconds. And I I remove activate, it all is done in 1 second.
62.80s setup tests_multi/powercut/test_1_powercut-portmatch.py::test_verify
WHY do long time, what does the driver do?
The DUT of course have a lot of resources, does that affect the time it takes?
Selected role main from configuration file
Place 'pcm33-00-powercut':
tags: deifdebugcard=10.1.22.180, dnsmasq=10.1.22.180, labgridexporter=10.1.22.180, labgridproxy=10.1.22.180, powerapi=10.1.22.180, switchboard=10.1.22.180
matches:
*/pcm33-00-powercut/*
acquired: kfa-Latitude-5521/kfa
acquired resources:
powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu1
powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu10
powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu2
powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu3
powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu4
powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu5
powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu6
powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu7
powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu8
powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu9
powercut/pcm33-00-powercut/NetworkSerialPort/console-bu1
powercut/pcm33-00-powercut/NetworkSerialPort/console-bu10
powercut/pcm33-00-powercut/NetworkSerialPort/console-bu2
powercut/pcm33-00-powercut/NetworkSerialPort/console-bu3
powercut/pcm33-00-powercut/NetworkSerialPort/console-bu4
powercut/pcm33-00-powercut/NetworkSerialPort/console-bu5
powercut/pcm33-00-powercut/NetworkSerialPort/console-bu6
powercut/pcm33-00-powercut/NetworkSerialPort/console-bu7
powercut/pcm33-00-powercut/NetworkSerialPort/console-bu8
powercut/pcm33-00-powercut/NetworkSerialPort/console-bu9
powercut/pcm33-00-powercut/NetworkService/ssh-bu1
powercut/pcm33-00-powercut/NetworkService/ssh-bu10
powercut/pcm33-00-powercut/NetworkService/ssh-bu2
powercut/pcm33-00-powercut/NetworkService/ssh-bu3
powercut/pcm33-00-powercut/NetworkService/ssh-bu4
powercut/pcm33-00-powercut/NetworkService/ssh-bu5
powercut/pcm33-00-powercut/NetworkService/ssh-bu6
powercut/pcm33-00-powercut/NetworkService/ssh-bu7
powercut/pcm33-00-powercut/NetworkService/ssh-bu8
powercut/pcm33-00-powercut/NetworkService/ssh-bu9
created: 2026年03月10日 10:15:13.879495
changed: 2026年03月10日 10:22:07.987209
Acquired resource 'console-bu1' (powercut/pcm33-00-powercut/NetworkSerialPort/console-bu1):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkSerialPort',
'params': {'extra': {'path': '/dev/ttyUSB2',
'proxy': 'powercut',
'proxy_required': False},
'host': '10.1.22.180',
'port': 36673,
'speed': 115200}}
Acquired resource 'console-bu10' (powercut/pcm33-00-powercut/NetworkSerialPort/console-bu10):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkSerialPort',
'params': {'extra': {'path': '/dev/ttyUSB26',
'proxy': 'powercut',
'proxy_required': False},
'host': '10.1.22.180',
'port': 59407,
'speed': 115200}}
Acquired resource 'console-bu2' (powercut/pcm33-00-powercut/NetworkSerialPort/console-bu2):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkSerialPort',
'params': {'extra': {'path': '/dev/ttyUSB6',
'proxy': 'powercut',
'proxy_required': False},
'host': '10.1.22.180',
'port': 37019,
'speed': 115200}}
Acquired resource 'console-bu3' (powercut/pcm33-00-powercut/NetworkSerialPort/console-bu3):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkSerialPort',
'params': {'extra': {'path': '/dev/ttyUSB22',
'proxy': 'powercut',
'proxy_required': False},
'host': '10.1.22.180',
'port': 52345,
'speed': 115200}}
Acquired resource 'console-bu4' (powercut/pcm33-00-powercut/NetworkSerialPort/console-bu4):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkSerialPort',
'params': {'extra': {'path': '/dev/ttyUSB14',
'proxy': 'powercut',
'proxy_required': False},
'host': '10.1.22.180',
'port': 33417,
'speed': 115200}}
Acquired resource 'console-bu5' (powercut/pcm33-00-powercut/NetworkSerialPort/console-bu5):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkSerialPort',
'params': {'extra': {'path': '/dev/ttyUSB30',
'proxy': 'powercut',
'proxy_required': False},
'host': '10.1.22.180',
'port': 54835,
'speed': 115200}}
Acquired resource 'console-bu6' (powercut/pcm33-00-powercut/NetworkSerialPort/console-bu6):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkSerialPort',
'params': {'extra': {'path': '/dev/ttyUSB38',
'proxy': 'powercut',
'proxy_required': False},
'host': '10.1.22.180',
'port': 53467,
'speed': 115200}}
Acquired resource 'console-bu7' (powercut/pcm33-00-powercut/NetworkSerialPort/console-bu7):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkSerialPort',
'params': {'extra': {'path': '/dev/ttyUSB18',
'proxy': 'powercut',
'proxy_required': False},
'host': '10.1.22.180',
'port': 45843,
'speed': 115200}}
Acquired resource 'console-bu8' (powercut/pcm33-00-powercut/NetworkSerialPort/console-bu8):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkSerialPort',
'params': {'extra': {'path': '/dev/ttyUSB10',
'proxy': 'powercut',
'proxy_required': False},
'host': '10.1.22.180',
'port': 54829,
'speed': 115200}}
Acquired resource 'console-bu9' (powercut/pcm33-00-powercut/NetworkSerialPort/console-bu9):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkSerialPort',
'params': {'extra': {'path': '/dev/ttyUSB34',
'proxy': 'powercut',
'proxy_required': False},
'host': '10.1.22.180',
'port': 40305,
'speed': 115200}}
Acquired resource 'dut-power-bu1' (powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu1):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkPowerPort',
'params': {'extra': {'proxy': 'powercut', 'proxy_required': False},
'host': 'http://10.1.22.180:9988/power/powercut-relay/{index}',
'index': '101',
'model': 'rest'}}
Acquired resource 'dut-power-bu10' (powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu10):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkPowerPort',
'params': {'extra': {'proxy': 'powercut', 'proxy_required': False},
'host': 'http://10.1.22.180:9988/power/powercut-relay/{index}',
'index': '502',
'model': 'rest'}}
Acquired resource 'dut-power-bu2' (powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu2):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkPowerPort',
'params': {'extra': {'proxy': 'powercut', 'proxy_required': False},
'host': 'http://10.1.22.180:9988/power/powercut-relay/{index}',
'index': '102',
'model': 'rest'}}
Acquired resource 'dut-power-bu3' (powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu3):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkPowerPort',
'params': {'extra': {'proxy': 'powercut', 'proxy_required': False},
'host': 'http://10.1.22.180:9988/power/powercut-relay/{index}',
'index': '201',
'model': 'rest'}}
Acquired resource 'dut-power-bu4' (powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu4):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkPowerPort',
'params': {'extra': {'proxy': 'powercut', 'proxy_required': False},
'host': 'http://10.1.22.180:9988/power/powercut-relay/{index}',
'index': '202',
'model': 'rest'}}
Acquired resource 'dut-power-bu5' (powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu5):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkPowerPort',
'params': {'extra': {'proxy': 'powercut', 'proxy_required': False},
'host': 'http://10.1.22.180:9988/power/powercut-relay/{index}',
'index': '301',
'model': 'rest'}}
Acquired resource 'dut-power-bu6' (powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu6):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkPowerPort',
'params': {'extra': {'proxy': 'powercut', 'proxy_required': False},
'host': 'http://10.1.22.180:9988/power/powercut-relay/{index}',
'index': '302',
'model': 'rest'}}
Acquired resource 'dut-power-bu7' (powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu7):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkPowerPort',
'params': {'extra': {'proxy': 'powercut', 'proxy_required': False},
'host': 'http://10.1.22.180:9988/power/powercut-relay/{index}',
'index': '401',
'model': 'rest'}}
Acquired resource 'dut-power-bu8' (powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu8):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkPowerPort',
'params': {'extra': {'proxy': 'powercut', 'proxy_required': False},
'host': 'http://10.1.22.180:9988/power/powercut-relay/{index}',
'index': '402',
'model': 'rest'}}
Acquired resource 'dut-power-bu9' (powercut/pcm33-00-powercut/NetworkPowerPort/dut-power-bu9):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkPowerPort',
'params': {'extra': {'proxy': 'powercut', 'proxy_required': False},
'host': 'http://10.1.22.180:9988/power/powercut-relay/{index}',
'index': '501',
'model': 'rest'}}
Acquired resource 'ssh-bu1' (powercut/pcm33-00-powercut/NetworkService/ssh-bu1):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkService',
'params': {'address': '192.168.214.151',
'extra': {'proxy': 'powercut', 'proxy_required': False},
'username': 'root'}}
Acquired resource 'ssh-bu10' (powercut/pcm33-00-powercut/NetworkService/ssh-bu10):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkService',
'params': {'address': '192.168.214.154',
'extra': {'proxy': 'powercut', 'proxy_required': False},
'username': 'root'}}
Acquired resource 'ssh-bu2' (powercut/pcm33-00-powercut/NetworkService/ssh-bu2):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkService',
'params': {'address': '192.168.214.152',
'extra': {'proxy': 'powercut', 'proxy_required': False},
'username': 'root'}}
Acquired resource 'ssh-bu3' (powercut/pcm33-00-powercut/NetworkService/ssh-bu3):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkService',
'params': {'address': '192.168.214.153',
'extra': {'proxy': 'powercut', 'proxy_required': False},
'username': 'root'}}
Acquired resource 'ssh-bu4' (powercut/pcm33-00-powercut/NetworkService/ssh-bu4):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkService',
'params': {'address': '192.168.214.154',
'extra': {'proxy': 'powercut', 'proxy_required': False},
'username': 'root'}}
Acquired resource 'ssh-bu5' (powercut/pcm33-00-powercut/NetworkService/ssh-bu5):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkService',
'params': {'address': '192.168.214.151',
'extra': {'proxy': 'powercut', 'proxy_required': False},
'username': 'root'}}
Acquired resource 'ssh-bu6' (powercut/pcm33-00-powercut/NetworkService/ssh-bu6):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkService',
'params': {'address': '192.168.214.152',
'extra': {'proxy': 'powercut', 'proxy_required': False},
'username': 'root'}}
Acquired resource 'ssh-bu7' (powercut/pcm33-00-powercut/NetworkService/ssh-bu7):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkService',
'params': {'address': '192.168.214.153',
'extra': {'proxy': 'powercut', 'proxy_required': False},
'username': 'root'}}
Acquired resource 'ssh-bu8' (powercut/pcm33-00-powercut/NetworkService/ssh-bu8):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkService',
'params': {'address': '192.168.214.154',
'extra': {'proxy': 'powercut', 'proxy_required': False},
'username': 'root'}}
Acquired resource 'ssh-bu9' (powercut/pcm33-00-powercut/NetworkService/ssh-bu9):
{'acquired': 'pcm33-00-powercut',
'avail': True,
'cls': 'NetworkService',
'params': {'address': '192.168.214.153',
'extra': {'proxy': 'powercut', 'proxy_required': False},
'username': 'root'}}
$ cat conf/pcm33-powercut.conf
targets:
main:
features:
- powercut
resources:
RemotePlace:
name: !template "$LG_PLACE"
drivers:
SerialDriver:
txdelay: 0.01
bindings:
port: "console-bu1"
ShellDriver:
prompt: '.+:[^ ]+# '
login_prompt: ' login: '
username: 'root'
password: 'root'
login_timeout: 30
keyfile: !template "$LG_DIR/ssh/deif-test-key.pub"
SSHDriver:
keyfile: !template "$LG_DIR/ssh/deif-test-key"
bindings:
networkservice: "ssh-bu1"
power1:
cls: NetworkPowerDriver
name: "dut-power-bu1"
provides:
- PowerProtocol
bindings:
port: "dut-power-bu1"
power2:
cls: 'NetworkPowerDriver'
name: "dut-power-bu2"
provides:
- PowerProtocol
bindings:
port: "dut-power-bu2"
power3:
cls: 'NetworkPowerDriver'
name: "dut-power-bu3"
provides:
- PowerProtocol
bindings:
port: "dut-power-bu3"
power4:
cls: 'NetworkPowerDriver'
name: "dut-power-bu4"
provides:
- PowerProtocol
bindings:
port: "dut-power-bu4"
power5:
cls: 'NetworkPowerDriver'
name: "dut-power-bu5"
provides:
- PowerProtocol
bindings:
port: "dut-power-bu5"
power6:
cls: 'NetworkPowerDriver'
name: "dut-power-bu6"
provides:
- PowerProtocol
bindings:
port: "dut-power-bu6"
power7:
cls: 'NetworkPowerDriver'
name: "dut-power-bu7"
provides:
- PowerProtocol
bindings:
port: "dut-power-bu7"
power8:
cls: 'NetworkPowerDriver'
name: "dut-power-bu8"
provides:
- PowerProtocol
bindings:
port: "dut-power-bu8"
power9:
cls: 'NetworkPowerDriver'
name: "dut-power-bu9"
provides:
- PowerProtocol
bindings:
port: "dut-power-bu9"
power10:
cls: 'NetworkPowerDriver'
name: "dut-power-bu10"
provides:
- PowerProtocol
bindings:
port: "dut-power-bu10"
RaucStrategy:
bindings:
ssh_shell: "ssh-bu1"
console_shell: "console-shell"
bu2:
resources:
RemotePlace:
name: !template "$LG_PLACE"
drivers:
SerialDriver:
txdelay: 0.01
bindings:
port: "console-bu2"
ShellDriver:
prompt: '.+:[^ ]+# '
login_prompt: ' login: '
username: 'root'
password: 'root'
login_timeout: 30
keyfile: !template "$LG_DIR/ssh/deif-test-key.pub"
SSHDriver:
keyfile: !template "$LG_DIR/ssh/deif-test-key"
bindings:
networkservice: "ssh-bu2"
RaucStrategy:
bindings:
ssh_shell: "ssh-bu2"
console_shell: "console-shell"
bu3:
resources:
RemotePlace:
name: !template "$LG_PLACE"
drivers:
SerialDriver:
txdelay: 0.01
bindings:
port: "console-bu3"
ShellDriver:
prompt: '.+:[^ ]+# '
login_prompt: ' login: '
username: 'root'
password: 'root'
login_timeout: 30
keyfile: !template "$LG_DIR/ssh/deif-test-key.pub"
SSHDriver:
keyfile: !template "$LG_DIR/ssh/deif-test-key"
bindings:
networkservice: "ssh-bu3"
RaucStrategy:
bindings:
ssh_shell: "ssh-bu3"
console_shell: "console-shell"
bu4:
resources:
RemotePlace:
name: !template "$LG_PLACE"
drivers:
SerialDriver:
txdelay: 0.01
bindings:
port: "console-bu4"
ShellDriver:
prompt: '.+:[^ ]+# '
login_prompt: ' login: '
username: 'root'
password: 'root'
login_timeout: 30
keyfile: !template "$LG_DIR/ssh/deif-test-key.pub"
SSHDriver:
keyfile: !template "$LG_DIR/ssh/deif-test-key"
bindings:
networkservice: "ssh-bu4"
RaucStrategy:
bindings:
ssh_shell: "ssh-bu4"
console_shell: "console-shell"
bu5:
resources:
RemotePlace:
name: !template "$LG_PLACE"
drivers:
SerialDriver:
txdelay: 0.01
bindings:
port: "console-bu5"
ShellDriver:
prompt: '.+:[^ ]+# '
login_prompt: ' login: '
username: 'root'
password: 'root'
login_timeout: 30
keyfile: !template "$LG_DIR/ssh/deif-test-key.pub"
SSHDriver:
keyfile: !template "$LG_DIR/ssh/deif-test-key"
bindings:
networkservice: "ssh-bu5"
RaucStrategy:
bindings:
ssh_shell: "ssh-bu5"
console_shell: "console-shell"
bu6:
resources:
RemotePlace:
name: !template "$LG_PLACE"
drivers:
SerialDriver:
txdelay: 0.01
bindings:
port: "console-bu6"
ShellDriver:
prompt: '.+:[^ ]+# '
login_prompt: ' login: '
username: 'root'
password: 'root'
login_timeout: 30
keyfile: !template "$LG_DIR/ssh/deif-test-key.pub"
SSHDriver:
keyfile: !template "$LG_DIR/ssh/deif-test-key"
bindings:
networkservice: "ssh-bu6"
RaucStrategy:
bindings:
ssh_shell: "ssh-bu6"
console_shell: "console-shell"
bu7:
resources:
RemotePlace:
name: !template "$LG_PLACE"
drivers:
SerialDriver:
txdelay: 0.01
bindings:
port: "console-bu7"
ShellDriver:
prompt: '.+:[^ ]+# '
login_prompt: ' login: '
username: 'root'
password: 'root'
login_timeout: 30
keyfile: !template "$LG_DIR/ssh/deif-test-key.pub"
SSHDriver:
keyfile: !template "$LG_DIR/ssh/deif-test-key"
bindings:
networkservice: "ssh-bu7"
RaucStrategy:
bindings:
ssh_shell: "ssh-bu7"
console_shell: "console-shell"
bu8:
resources:
RemotePlace:
name: !template "$LG_PLACE"
drivers:
SerialDriver:
txdelay: 0.01
bindings:
port: "console-bu8"
ShellDriver:
prompt: '.+:[^ ]+# '
login_prompt: ' login: '
username: 'root'
password: 'root'
login_timeout: 30
keyfile: !template "$LG_DIR/ssh/deif-test-key.pub"
SSHDriver:
keyfile: !template "$LG_DIR/ssh/deif-test-key"
bindings:
networkservice: "ssh-bu8"
RaucStrategy:
bindings:
ssh_shell: "ssh-bu8"
console_shell: "console-shell"
bu9:
resources:
RemotePlace:
name: !template "$LG_PLACE"
drivers:
SerialDriver:
txdelay: 0.01
bindings:
port: "console-bu9"
ShellDriver:
prompt: '.+:[^ ]+# '
login_prompt: ' login: '
username: 'root'
password: 'root'
login_timeout: 30
keyfile: !template "$LG_DIR/ssh/deif-test-key.pub"
SSHDriver:
keyfile: !template "$LG_DIR/ssh/deif-test-key"
bindings:
networkservice: "ssh-bu9"
RaucStrategy:
bindings:
ssh_shell: "ssh-bu9"
console_shell: "console-shell"
bu10:
resources:
RemotePlace:
name: !template "$LG_PLACE"
drivers:
SerialDriver:
txdelay: 0.01
bindings:
port: "console-bu10"
ShellDriver:
prompt: '.+:[^ ]+# '
login_prompt: ' login: '
username: 'root'
password: 'root'
login_timeout: 30
keyfile: !template "$LG_DIR/ssh/deif-test-key.pub"
SSHDriver:
keyfile: !template "$LG_DIR/ssh/deif-test-key"
bindings:
networkservice: "ssh-bu10"
RaucStrategy:
bindings:
ssh_shell: "ssh-bu10"
console_shell: "console-shell"
options:
dut-type-name: 'PCM21'
dut-device-name: 'iE250'
dut-api-port: '443'
dut-physical-ifaces:
- tsn0
- swp1
- swp2
- swp3
dut-virtual-ifaces:
- vlan1
- vlan2
- vlan3
All reactions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment