ci: add runtime testing support for WNC Freedom board
Add CI runtime testing bits to QA using new reference target WNC Freedom board. References: PCF-1047 Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
parent
4ee26f3db3
commit
b83d51d423
@ -9,6 +9,7 @@ include:
|
||||
- local: .gitlab/cdrouter/turris-omnia.yml
|
||||
- local: .gitlab/cdrouter/urx851-hdk-3.yml
|
||||
- local: .gitlab/cdrouter/urx851-b0-dk-pon.yml
|
||||
- local: .gitlab/cdrouter/wnc-freedom.yml
|
||||
- local: .gitlab/coverity.yml
|
||||
- local: .gitlab/docker.yml
|
||||
- local: .gitlab/docker/builder/gitlab.yml
|
||||
@ -21,6 +22,7 @@ include:
|
||||
- local: .gitlab/testbed/turris-omnia.yml
|
||||
- local: .gitlab/testbed/urx851-hdk-3.yml
|
||||
- local: .gitlab/testbed/urx851-b0-dk-pon.yml
|
||||
- local: .gitlab/testbed/wnc-freedom.yml
|
||||
|
||||
stages:
|
||||
- docker
|
||||
@ -85,3 +87,9 @@ run test URX851-B0-DK-PON with system on eMMC:
|
||||
- job: build test mxl_x86 mxl_wlan_hostap_ng prpl security
|
||||
optional: true
|
||||
extends: .urx851-b0-dk-pon testbed
|
||||
|
||||
run test Freedom initramfs:
|
||||
needs:
|
||||
- job: build test qca_ipq95xx prpl security
|
||||
optional: true
|
||||
extends: .wnc-freedom testbed
|
||||
|
||||
89
.gitlab/cdrouter/wnc-freedom.yml
Normal file
89
.gitlab/cdrouter/wnc-freedom.yml
Normal file
@ -0,0 +1,89 @@
|
||||
.wnc-freedom: &wnc_freedom
|
||||
needs:
|
||||
- job: build test qca_ipq95xx prpl security
|
||||
optional: true
|
||||
extends:
|
||||
- .wnc-freedom testbed
|
||||
- .cdrouter
|
||||
|
||||
CDRouter-Top-100+mDNS Freedom initramfs:
|
||||
<<: *wnc_freedom
|
||||
variables:
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
|
||||
|
||||
CDRouter-Top-100+mDNS Freedom VLAN WAN/LAN initramfs:
|
||||
<<: *wnc_freedom
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: vlan
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-enable-vlans.sh
|
||||
|
||||
CDRouter-Top-100+mDNS Freedom PPPoE WAN initramfs:
|
||||
<<: *wnc_freedom
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: ppp
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-enable-pppoe.sh
|
||||
|
||||
CDRouter-Wireless Freedom initramfs:
|
||||
<<: *wnc_freedom
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: wireless
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-configure-wireless.sh
|
||||
|
||||
|
||||
.wnc-freedom-ipv6: &wnc_freedom_ipv6
|
||||
<<: *wnc_freedom
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
||||
when: never
|
||||
- if: '$TFTP_IMAGE_DOWNLOAD_URL =~ $TFTP_IMAGE_FILENAME_PATTERN'
|
||||
when: always
|
||||
- if: '$TFTP_IMAGE_DOWNLOAD_URL'
|
||||
when: never
|
||||
- if: '$CI_COMMIT_BRANCH == $CI_DESIGNATED_BRANCH'
|
||||
- when: manual
|
||||
|
||||
CDRouter-UPnP-IPv46 Freedom initramfs:
|
||||
<<: *wnc_freedom_ipv6
|
||||
allow_failure: true
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: generic-ipv6-upnp
|
||||
|
||||
CDRouter-IPv6-Top-100+mDNS Freedom initramfs:
|
||||
<<: *wnc_freedom_ipv6
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: generic-ipv6
|
||||
|
||||
CDRouter-IPv6-Top-100+mDNS Freedom VLAN WAN/LAN initramfs:
|
||||
<<: *wnc_freedom_ipv6
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: vlan-ipv6
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-enable-vlans.sh
|
||||
|
||||
.CDRouter-IPv6-Top-100+mDNS Freedom PPPoE WAN initramfs:
|
||||
<<: *wnc_freedom_ipv6
|
||||
variables:
|
||||
CDROUTER_TEST_CONFIG: ppp-ipv6
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-enable-pppoe.sh
|
||||
|
||||
CDRouter-TR-069 Freedom eMMC:
|
||||
<<: *wnc_freedom
|
||||
variables:
|
||||
LABGRID_TARGET: wnc-freedom-emmc
|
||||
TFTP_IMAGE_FILENAME: openwrt-ipq95xx-prpl_freedom-squashfs-sysupgrade.bin
|
||||
TFTP_IMAGE_FILENAME_PATTERN: /.*openwrt-ipq95xx-prpl_freedom-squashfs-sysupgrade.bin/
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-tr181-mockups.sh
|
||||
|
||||
CDRouter-USP-Certification Freedom initramfs:
|
||||
<<: *wnc_freedom
|
||||
variables:
|
||||
DUT_INIT_SCRIPTS: |
|
||||
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
|
||||
15
.gitlab/testbed/wnc-freedom.yml
Normal file
15
.gitlab/testbed/wnc-freedom.yml
Normal file
@ -0,0 +1,15 @@
|
||||
.wnc-freedom testbed:
|
||||
extends: .testbed true.cz
|
||||
variables:
|
||||
DUT_ARCH: aarch64
|
||||
DUT_TARGET: ipq95xx
|
||||
DUT_SUBTARGET: generic
|
||||
DUT_BOARD: wnc-freedom
|
||||
DUT_CPU_TYPE: cortex-a73
|
||||
DUT_CPU_SUBTYPE: neon-vfpv4
|
||||
DUT_WAN_INTERFACE: wan
|
||||
LABGRID_TARGET: wnc-freedom-initramfs
|
||||
TFTP_IMAGE_FILENAME: openwrt-ipq95xx-prpl_freedom-initramfs-uImage.itb
|
||||
TFTP_IMAGE_FILENAME_PATTERN: /.*openwrt-ipq95xx-prpl_freedom-initramfs-uImage.itb/
|
||||
tags:
|
||||
- dut-wnc-freedom
|
||||
35
.gitlab/tests/cram/wnc-freedom/010-network.t
Normal file
35
.gitlab/tests/cram/wnc-freedom/010-network.t
Normal file
@ -0,0 +1,35 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check correct routing table:
|
||||
|
||||
$ R ip route
|
||||
default via 10.0.0.1 dev wan
|
||||
10.0.0.0/24 dev wan proto kernel scope link src 10.0.0.2
|
||||
192.168.1.0/24 dev br-lan proto kernel scope link src 192.168.1.1
|
||||
192.168.2.0/24 dev br-guest proto kernel scope link src 192.168.2.1 linkdown
|
||||
192.168.5.0/24 dev br-lcm proto kernel scope link src 192.168.5.1 linkdown
|
||||
|
||||
Check correct interface setup:
|
||||
|
||||
$ R "ip link | grep ^\\\\d | cut -d: -f2-" | LC_ALL=C sort
|
||||
br-guest: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
|
||||
br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
|
||||
br-lcm: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
|
||||
ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN mode DEFAULT group default qlen 1000
|
||||
lan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP mode DEFAULT group default qlen 1000
|
||||
lan2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 1000
|
||||
lan3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 1000
|
||||
lan4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 1000
|
||||
lo: <LOOPBACK,UP,LOWER_UP> mtu 65535 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
|
||||
miireg: <> mtu 0 qdisc noop state DOWN mode DEFAULT group default qlen 1000
|
||||
teql0: <NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 100
|
||||
wan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UP mode DEFAULT group default qlen 1000
|
||||
wlan0.1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master br-lan state DOWN mode DEFAULT group default qlen 4096
|
||||
wlan0.2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master br-guest state DOWN mode DEFAULT group default qlen 4096
|
||||
wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 4096
|
||||
wlan1.1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master br-guest state DOWN mode DEFAULT group default qlen 4096
|
||||
wlan1: <BROADCAST,MULTICAST> mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 4096
|
||||
wlan2.1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master br-guest state DOWN mode DEFAULT group default qlen 4096
|
||||
wlan2: <BROADCAST,MULTICAST> mtu 1500 qdisc mq master br-lan state DOWN mode DEFAULT group default qlen 4096
|
||||
13
.gitlab/tests/cram/wnc-freedom/011-tls.t
Normal file
13
.gitlab/tests/cram/wnc-freedom/011-tls.t
Normal file
@ -0,0 +1,13 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check that there is just single TLS library OpenSSL:
|
||||
|
||||
$ R "opkg list-installed" | grep -E '(openssl|mbedtls|wolfssl)' | sort | awk -F ' - ' '{print $1}'
|
||||
hostapd-qca-openssl
|
||||
libopenssl-conf
|
||||
libopenssl.* (re)
|
||||
libustream-openssl.* (re)
|
||||
openssl-util
|
||||
wpa-supplicant-qca-openssl
|
||||
10
.gitlab/tests/cram/wnc-freedom/020-ubus.t
Normal file
10
.gitlab/tests/cram/wnc-freedom/020-ubus.t
Normal file
@ -0,0 +1,10 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check that we've correct system info:
|
||||
|
||||
$ R "ubus call system board | jsonfilter -e @.system -e @.model -e @.board_name"
|
||||
ARMv8 Processor rev 0
|
||||
prpl Foundation Freedom
|
||||
prpl,freedom
|
||||
14
.gitlab/tests/cram/wnc-freedom/030-wifi.t
Normal file
14
.gitlab/tests/cram/wnc-freedom/030-wifi.t
Normal file
@ -0,0 +1,14 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check for correct SSID setup:
|
||||
|
||||
$ R "iw dev | grep -e Interface -e ssid | sort"
|
||||
\tInterface wlan0 (esc)
|
||||
\tInterface wlan0.1 (esc)
|
||||
\tInterface wlan0.2 (esc)
|
||||
\tInterface wlan1 (esc)
|
||||
\tInterface wlan1.1 (esc)
|
||||
\tInterface wlan2 (esc)
|
||||
\tInterface wlan2.1 (esc)
|
||||
142
.gitlab/tests/cram/wnc-freedom/100-prplmesh.t
Normal file
142
.gitlab/tests/cram/wnc-freedom/100-prplmesh.t
Normal file
@ -0,0 +1,142 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check that wireless has desired configuration and state after boot:
|
||||
|
||||
$ R "ubus -S call WiFi.SSID _get | jsonfilter -e @[*].SSID -e @[*].Status | sort"
|
||||
Down
|
||||
Down
|
||||
Down
|
||||
Down
|
||||
Down
|
||||
Down
|
||||
Down
|
||||
PWHM_SSID7
|
||||
prplOS
|
||||
prplOS
|
||||
prplOS
|
||||
prplOS-guest
|
||||
prplOS-guest
|
||||
prplOS-guest
|
||||
|
||||
$ R "pgrep -f 'hostapd -ddt'"
|
||||
[1]
|
||||
|
||||
$ R "ubus list | grep hostapd."
|
||||
[1]
|
||||
|
||||
Restart prplmesh:
|
||||
|
||||
Start wireless:
|
||||
|
||||
$ R logger -t cram "Start wireless"
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.1 _set '{\"parameters\":{\"Enable\":1}}'"
|
||||
{"WiFi.AccessPoint.1.":{"Enable":true}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.2 _set '{\"parameters\":{\"Enable\":1}}'"
|
||||
{"WiFi.AccessPoint.2.":{"Enable":true}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.3 _set '{\"parameters\":{\"Enable\":1}}'"
|
||||
{"WiFi.AccessPoint.3.":{"Enable":true}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.4 _set '{\"parameters\":{\"Enable\":1}}'"
|
||||
{"WiFi.AccessPoint.4.":{"Enable":true}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.5 _set '{\"parameters\":{\"Enable\":1}}'"
|
||||
{"WiFi.AccessPoint.5.":{"Enable":true}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.6 _set '{\"parameters\":{\"Enable\":1}}'"
|
||||
{"WiFi.AccessPoint.6.":{"Enable":true}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ sleep 10
|
||||
|
||||
Check that hostapd is operating as expected:
|
||||
|
||||
$ R logger -t cram "Check that hostapd is operating after reboot"
|
||||
$ R "ps axw" | sed -nE 's/.*(hostapd.*)/\1/p' | head -3 | LC_ALL=C sort
|
||||
hostapd -ddt /tmp/wlan0_hapd.conf
|
||||
hostapd/global
|
||||
hostapd/global
|
||||
|
||||
$ R "ubus list | grep hostapd. | sort"
|
||||
hostapd.wlan0.1
|
||||
hostapd.wlan0.2
|
||||
hostapd.wlan1
|
||||
hostapd.wlan1.1
|
||||
hostapd.wlan2
|
||||
hostapd.wlan2.1
|
||||
|
||||
Check that wireless is operating:
|
||||
|
||||
$ R "iw dev | grep -e Interface -e ssid | tr -d '\t' | sort"
|
||||
Interface wlan0
|
||||
Interface wlan0.1
|
||||
Interface wlan0.2
|
||||
Interface wlan1
|
||||
Interface wlan1.1
|
||||
Interface wlan2
|
||||
Interface wlan2.1
|
||||
ssid prplOS
|
||||
ssid prplOS
|
||||
ssid prplOS
|
||||
ssid prplOS-guest
|
||||
ssid prplOS-guest
|
||||
ssid prplOS-guest
|
||||
|
||||
Check that prplmesh processes are running:
|
||||
|
||||
Check that prplmesh is operational:
|
||||
|
||||
Check that prplmesh is in operational state:
|
||||
|
||||
Disable wireless:
|
||||
|
||||
$ R logger -t cram "Stop wireless"
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.1 _set '{\"parameters\":{\"Enable\":0}}'"
|
||||
{"WiFi.AccessPoint.1.":{"Enable":false}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.2 _set '{\"parameters\":{\"Enable\":0}}'"
|
||||
{"WiFi.AccessPoint.2.":{"Enable":false}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.3 _set '{\"parameters\":{\"Enable\":0}}'"
|
||||
{"WiFi.AccessPoint.3.":{"Enable":false}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.4 _set '{\"parameters\":{\"Enable\":0}}'"
|
||||
{"WiFi.AccessPoint.4.":{"Enable":false}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.5 _set '{\"parameters\":{\"Enable\":0}}'"
|
||||
{"WiFi.AccessPoint.5.":{"Enable":false}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ R "ubus -S call WiFi.AccessPoint.6 _set '{\"parameters\":{\"Enable\":0}}'"
|
||||
{"WiFi.AccessPoint.6.":{"Enable":false}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
|
||||
$ sleep 10
|
||||
|
||||
Check that wireless is disabled:
|
||||
@ -0,0 +1,65 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Get initial state of bridges:
|
||||
|
||||
$ R "bridge -json link" | jq -r 'sort_by(.master,.ifname) | reverse | .[] | "\(.master)@\(.ifname)"'
|
||||
br-lan@wlan2
|
||||
br-lan@wlan1
|
||||
br-lan@wlan0.1
|
||||
br-lan@lan4
|
||||
br-lan@lan3
|
||||
br-lan@lan2
|
||||
br-lan@lan1
|
||||
br-guest@wlan2.1
|
||||
br-guest@wlan1.1
|
||||
br-guest@wlan0.2
|
||||
|
||||
Remove lan4 from LAN bridge and add it to the Guest bridge:
|
||||
|
||||
$ printf ' \
|
||||
> ubus-cli Bridging.Bridge.lan.Port.LAN4-\n
|
||||
> ubus-cli Bridging.Bridge.guest.Port.+{Name="LAN4", Alias="eth_port4", LowerLayers="Device.Ethernet.Interface.5."}\n
|
||||
> ubus-cli Bridging.Bridge.guest.Port.eth_port4.Enable=1\n
|
||||
> ' > /tmp/run
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run)'" > /dev/null
|
||||
$ sleep 5
|
||||
|
||||
Check that lan4 is added to Guest bridge:
|
||||
|
||||
$ R "bridge -json link" | jq -r 'sort_by(.master,.ifname) | reverse | .[] | "\(.master)@\(.ifname)"'
|
||||
br-lan@wlan2
|
||||
br-lan@wlan1
|
||||
br-lan@wlan0.1
|
||||
br-lan@lan3
|
||||
br-lan@lan2
|
||||
br-lan@lan1
|
||||
br-guest@wlan2.1
|
||||
br-guest@wlan1.1
|
||||
br-guest@wlan0.2
|
||||
br-guest@lan4
|
||||
|
||||
Remove lan4 from the Guest bridge and add it back to the LAN bridge:
|
||||
|
||||
$ printf '\
|
||||
> ubus-cli Bridging.Bridge.guest.Port.eth_port4-\n
|
||||
> ubus-cli Bridging.Bridge.lan.Port.+{Name="LAN4", Alias="eth_port4", LowerLayers="Device.Ethernet.Interface.5."}\n
|
||||
> ubus-cli Bridging.Bridge.lan.Port.eth_port4.Enable=1\n
|
||||
> ' > /tmp/run
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run)'" > /dev/null
|
||||
$ sleep 5
|
||||
|
||||
Check for initial state of bridges again:
|
||||
|
||||
$ R "bridge -json link" | jq -r 'sort_by(.master,.ifname) | reverse | .[] | "\(.master)@\(.ifname)"'
|
||||
br-lan@wlan2
|
||||
br-lan@wlan1
|
||||
br-lan@wlan0.1
|
||||
br-lan@lan4
|
||||
br-lan@lan3
|
||||
br-lan@lan2
|
||||
br-lan@lan1
|
||||
br-guest@wlan2.1
|
||||
br-guest@wlan1.1
|
||||
br-guest@wlan0.2
|
||||
@ -0,0 +1,91 @@
|
||||
Create R alias:
|
||||
|
||||
$ alias R="${CRAM_REMOTE_COMMAND:-}"
|
||||
|
||||
Check Cthulhu.Sandbox datamodel:
|
||||
|
||||
$ R "ubus -S call Cthulhu.Sandbox.Instances.1 _get | jsonfilter -e @[*].Status -e @[*].Enable -e @[*].SandboxId | sort"
|
||||
Up
|
||||
generic
|
||||
true
|
||||
|
||||
Check Cthulhu.Config datamodel:
|
||||
|
||||
$ R "ubus -S call Cthulhu.Config _get | jsonfilter -e @[*].UseOverlayFS -e @[*].DefaultBackend -e @[*].ImageLocation | sort"
|
||||
/usr/lib/cthulhu-lxc/cthulhu-lxc.so
|
||||
/usr/share/rlyeh/images
|
||||
true
|
||||
|
||||
Install testing prplOS container v1:
|
||||
|
||||
$ cat > /tmp/run-container <<EOF
|
||||
> ubus-cli SoftwareModules.InstallDU\( \
|
||||
> URL="docker://registry.gitlab.com/prpl-foundation/prplos/prplos/prplos/lcm-test-ipq807x-generic:prplos-v1", \
|
||||
> UUID="0f032bd7-54bd-5b81-b14e-9441d730092f", \
|
||||
> ExecutionEnvRef="generic", \
|
||||
> NetworkConfig = { "AccessInterfaces" = [{"Reference" = "Lan"}] } \
|
||||
> \)
|
||||
> EOF
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run-container)'" > /dev/null
|
||||
|
||||
Check that prplOS container v1 is running:
|
||||
|
||||
$ sleep 30
|
||||
|
||||
$ R "ubus -S call Cthulhu.Container.Instances.1 _get | jsonfilter -e @[*].Status -e @[*].Bundle -e @[*].BundleVersion -e @[*].ContainerId -e @[*].Alias | sort"
|
||||
Running
|
||||
c879945e-d002-5775-88a8-e29bc0c641b4
|
||||
cpe-c879945e-d002-5775-88a8-e29bc0c641b4
|
||||
prpl-foundation/prplos/prplos/prplos/lcm-test-ipq807x-generic
|
||||
prplos-v1
|
||||
|
||||
$ container_ip=$(R "ubus call DHCPv4Server.Pool.3.Client.1.IPv4Address.1 _get | jsonfilter -e @[*].IPAddress")
|
||||
$ R "ssh -y root@$container_ip 'cat /etc/container-version ; ip r' 2> /dev/null"
|
||||
1
|
||||
default via 192.168.5.1 dev lcm0
|
||||
192.168.5.0/24 dev lcm0 scope link src 192.168.5.* (re)
|
||||
|
||||
Update to prplOS container v2:
|
||||
|
||||
$ cat > /tmp/run-container <<EOF
|
||||
> ubus-cli SoftwareModules.DeploymentUnit.cpe-c879945e-d002-5775-88a8-e29bc0c641b4.Update\( \
|
||||
> URL="docker://registry.gitlab.com/prpl-foundation/prplos/prplos/prplos/lcm-test-ipq807x-generic:prplos-v2", \
|
||||
> UUID="0f032bd7-54bd-5b81-b14e-9441d730092f", \
|
||||
> ExecutionEnvRef="generic", \
|
||||
> NetworkConfig = { "AccessInterfaces" = [{"Reference" = "Lan"}] } \
|
||||
> \)
|
||||
> EOF
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP '$(cat /tmp/run-container)'" > /dev/null
|
||||
|
||||
Check that prplOS container v2 is running:
|
||||
|
||||
$ sleep 30
|
||||
|
||||
$ R "ubus -S call Cthulhu.Container.Instances.1 _get | jsonfilter -e @[*].Status -e @[*].Bundle -e @[*].BundleVersion -e @[*].ContainerId -e @[*].Alias | sort"
|
||||
Running
|
||||
c879945e-d002-5775-88a8-e29bc0c641b4
|
||||
cpe-c879945e-d002-5775-88a8-e29bc0c641b4
|
||||
prpl-foundation/prplos/prplos/prplos/lcm-test-ipq807x-generic
|
||||
prplos-v2
|
||||
|
||||
$ container_ip=$(R "ubus call DHCPv4Server.Pool.3.Client.2.IPv4Address.1 _get | jsonfilter -e @[*].IPAddress")
|
||||
$ R "ssh -y root@$container_ip 'cat /etc/container-version ; ip r' 2> /dev/null"
|
||||
2
|
||||
default via 192.168.5.1 dev lcm0
|
||||
192.168.5.0/24 dev lcm0 scope link src 192.168.5.* (re)
|
||||
|
||||
Uninstall prplOS testing container:
|
||||
|
||||
$ script --command "ssh -t root@$TARGET_LAN_IP 'ubus-cli SoftwareModules.DeploymentUnit.cpe-c879945e-d002-5775-88a8-e29bc0c641b4.Uninstall\(\)'" > /dev/null; sleep 5
|
||||
|
||||
Check that prplOS container is not running:
|
||||
|
||||
$ R "ubus -S call Cthulhu.Container.Instances.1 _get"
|
||||
[4]
|
||||
|
||||
Check that Rlyeh has no container images:
|
||||
|
||||
$ R "ubus -S call Rlyeh.Images _get"
|
||||
{"Rlyeh.Images.":{}}
|
||||
{}
|
||||
{"amxd-error-code":0}
|
||||
@ -282,3 +282,55 @@ targets:
|
||||
- setenv fullimage openwrt-intel_x86-lgm-PRPL_OSP_TB341-osp_tb341_fullimage.img
|
||||
- mmc dev 0 && mmc erase ${overlay_container_a_block_start} ${overlay_container_a_block_size} && run update_fullimage
|
||||
UBootStrategy: {}
|
||||
|
||||
wnc-freedom-initramfs:
|
||||
resources:
|
||||
RawSerialPort:
|
||||
port: "/dev/wnc-freedom"
|
||||
drivers:
|
||||
ExternalPowerDriver:
|
||||
cmd_on: ssh root@uart-relay.testbed.vpn.true.cz power_on 2
|
||||
cmd_off: ssh root@uart-relay.testbed.vpn.true.cz power_off 2
|
||||
SerialDriver: {}
|
||||
ShellDriver:
|
||||
console_ready: Please press Enter to activate this console.
|
||||
prompt: 'root@[\w()]+:[^ ]+ '
|
||||
login_prompt: built-in shell (ash)
|
||||
await_login_timeout: 16
|
||||
username: kingbanik
|
||||
UBootDriver:
|
||||
prompt: 'IPQ9574# '
|
||||
init_commands:
|
||||
- setenv serverip 10.0.0.1
|
||||
- setenv ipaddr 10.0.0.2
|
||||
boot_command: tftpboot openwrt-ipq95xx-prpl_freedom-initramfs-uImage.itb && bootm
|
||||
boot_command_delay: 3
|
||||
UBootStrategy: {}
|
||||
|
||||
wnc-freedom-emmc:
|
||||
resources:
|
||||
RawSerialPort:
|
||||
port: "/dev/wnc-freedom"
|
||||
drivers:
|
||||
ExternalPowerDriver:
|
||||
cmd_on: ssh root@uart-relay.testbed.vpn.true.cz power_on 2
|
||||
cmd_off: ssh root@uart-relay.testbed.vpn.true.cz power_off 2
|
||||
SerialDriver: {}
|
||||
ShellDriver:
|
||||
console_ready: Please press Enter to activate this console.
|
||||
prompt: 'root@[\w()]+:[^ ]+ '
|
||||
login_prompt: built-in shell (ash)
|
||||
await_login_timeout: 16
|
||||
username: kingbanik
|
||||
UBootDriver:
|
||||
prompt: 'IPQ9574# '
|
||||
init_commands:
|
||||
- setenv serverip 10.0.0.1
|
||||
- setenv ipaddr 10.0.0.2
|
||||
- sleep 5
|
||||
- tftpboot 0x44000000 openwrt-ipq95xx-prpl_freedom-squashfs-sysupgrade.bin
|
||||
- setenv untar_addr_kernel; setenv untar_addr_root; echo
|
||||
- untar 0x$fileaddr 0x$filesize kernel root
|
||||
- if test -n $untar_addr_kernel; then flash "0:HLOS" 0x$untar_addr_kernel 0x$untar_size_kernel; else echo "kernel is not found"; fi
|
||||
- if test -n $untar_addr_root; then flash "rootfs" 0x$untar_addr_root 0x$untar_size_root; else echo "rootfs is not found"; fi
|
||||
UBootStrategy: {}
|
||||
|
||||
@ -159,3 +159,65 @@ targets:
|
||||
- setenv fullimage openwrt-intel_x86-lgm-LGM_PRPL-lgp_b0_pon_fullimage.img
|
||||
- mmc dev 0 && mmc erase c6800 10000 && mmc erase d6800 10000 && run update_fullimage
|
||||
UBootStrategy: {}
|
||||
|
||||
wnc-freedom-initramfs:
|
||||
resources:
|
||||
ModbusTCPCoil:
|
||||
host: quido.testbed-02.vpn.true.cz
|
||||
coil: 1
|
||||
managed_coils: 8
|
||||
exclusive_coil_mode: True
|
||||
write_multiple_coils: True
|
||||
RawSerialPort:
|
||||
port: "/dev/wnc-freedom"
|
||||
drivers:
|
||||
ModbusCoilDriver: {}
|
||||
DigitalOutputPowerDriver: {}
|
||||
SerialDriver: {}
|
||||
ShellDriver:
|
||||
console_ready: Please press Enter to activate this console.
|
||||
prompt: 'root@[\w()]+:[^ ]+ '
|
||||
login_prompt: built-in shell (ash)
|
||||
await_login_timeout: 16
|
||||
username: kingbanik
|
||||
UBootDriver:
|
||||
prompt: 'IPQ9574# '
|
||||
init_commands:
|
||||
- setenv serverip 10.0.0.1
|
||||
- setenv ipaddr 10.0.0.2
|
||||
boot_command: tftpboot openwrt-ipq95xx-prpl_freedom-initramfs-uImage.itb && bootm
|
||||
boot_command_delay: 3
|
||||
UBootStrategy: {}
|
||||
|
||||
wnc-freedom-emmc:
|
||||
resources:
|
||||
ModbusTCPCoil:
|
||||
host: quido.testbed-02.vpn.true.cz
|
||||
coil: 1
|
||||
managed_coils: 8
|
||||
exclusive_coil_mode: True
|
||||
write_multiple_coils: True
|
||||
RawSerialPort:
|
||||
port: "/dev/wnc-freedom"
|
||||
drivers:
|
||||
ModbusCoilDriver: {}
|
||||
DigitalOutputPowerDriver: {}
|
||||
SerialDriver: {}
|
||||
ShellDriver:
|
||||
console_ready: Please press Enter to activate this console.
|
||||
prompt: 'root@[\w()]+:[^ ]+ '
|
||||
login_prompt: built-in shell (ash)
|
||||
await_login_timeout: 16
|
||||
username: kingbanik
|
||||
UBootDriver:
|
||||
prompt: 'IPQ9574# '
|
||||
init_commands:
|
||||
- setenv serverip 10.0.0.1
|
||||
- setenv ipaddr 10.0.0.2
|
||||
- sleep 5
|
||||
- tftpboot 0x44000000 openwrt-ipq95xx-prpl_freedom-squashfs-sysupgrade.bin
|
||||
- setenv untar_addr_kernel; setenv untar_addr_root; echo
|
||||
- untar 0x$fileaddr 0x$filesize kernel root
|
||||
- if test -n $untar_addr_kernel; then flash "0:HLOS" 0x$untar_addr_kernel 0x$untar_size_kernel; else echo "kernel is not found"; fi
|
||||
- if test -n $untar_addr_root; then flash "rootfs" 0x$untar_addr_root 0x$untar_size_root; else echo "rootfs is not found"; fi
|
||||
UBootStrategy: {}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user