Skip to content

Releases: facebook/openbmc

flashy-54734f8

10 Apr 12:06
Compare
Choose a tag to compare
Ensure BMC image is compatible with MB CPLD version

Summary: grandteton versions v2024.11.1 require MB CPLD version `20010` or greater.  Added `checks_and_remediations` step to fail the upgrade if the MB CPLD version is incompatible with the image version.

Test Plan:
Unit tests, push flashy/bmc images to grandteton units e.g:

```
$ scripts/run_flashy_remote.sh --device mtd:flash1 --imagepath /tmp/tmp.H8gzWMVfip/openbmc.image.grandteton\:v2024.11.1/flash-grandteton --host twshared39604-oob.02.nao6.facebook.com --dry-run
```
Run step on a BMC with image version = v2024.11.1 and old MB CPLD (should fail):
```
#  /run/flashy/flashy --install && /run/flashy/checks_and_remediations/grandteton/00_ensure_compatible_mb_cpld_version --imagepath /run/upgrade/image --device mtd:flash1
...
{"message":"S365492: Image version ('grandteton-v2024.11.1') requires MB CPLD version 20010 or greater (current MB CPLD version is 20006)"}
```

Run step on a BMC with image version = v2024.11.1 and new MB CPLD (should succeed):
```
/run/flashy/flashy --install && /run/flashy/checks_and_remediations/grandteton/00_ensure_compatible_mb_cpld_version --imagepath /run/upgrade/image --device mtd:flash1
...
2024/04/09 08:33:48 MB CPLD version 20010 is compatible with image version grandteton-v2024.11.1
```

Run step on a BMC with image version < v2024.11.1 and old MB CPLD (should succeed):
```
#  /run/flashy/flashy --install && /run/flashy/checks_and_remediations/grandteton/00_ensure_compatible_mb_cpld_version --imagepath /run/upgrade/image --device mtd:flash1
...
2024/04/09 08:35:46 MB CPLD version 20006 is compatible with image version grandteton-v2023.39.2
```

Run step on a BMC with image version < v2024.11.1 and new MB CPLD (should succeed):
```
#  /run/flashy/flashy --install && /run/flashy/checks_and_remediations/grandteton/00_ensure_compatible_mb_cpld_version --imagepath /run/upgrade/image --device mtd:flash1
...
2024/04/09 08:40:29 MB CPLD version 20010 is compatible with image version grandteton-v2023.39.2
```

Reviewed By: doranand

Differential Revision: D55921434

fbshipit-source-id: 8672d76c8f4ef18978cda8826f73395b1309b50c

flashy-eaa1917

27 Mar 18:43
Compare
Choose a tag to compare
javaisland: add flashy support

Summary: Add the flashy support for JavaIsland platform.

Test Plan: Built flash with tools/flashy/build.sh

Reviewed By: williamspatrick

Differential Revision: D55333620

fbshipit-source-id: 86363e06b8d98f020f0ebe25a91e0950c5cb164b

flashy-37fefba

25 Mar 13:19
Compare
Choose a tag to compare
Allow for unexpcted version names in checks & remediations

Summary:
Upgrading from a wiped bletchley fails, due to image version name validation in flashy checks and remediations
```
2024-03-13 02:41:18.275510 - Unsafe to reboot error: "Unable to parse version info: No match for regex 'bletchley-v(?P<year>[0-9]+).(?P<week>[0-9]+)' for input 'bletchley-9e5605ae7d-dirty'".
```
We should allow for Flashy to upgrade from versions without a `vYYYY.WW.N` version tag, such as the OSS image build or locally built versions, and only proceed to the year check if it's an actual date tagged version

Test Plan:
Test upgrade from same device:
```
$ oobgrader --host macbmc5r0034p0049-oob.02.pci1.facebook.com --fbpkg-name openbmc.image.bletchley:weeklybuild --flashy-tag e44d3bf --wait

Host                                        Workflow ID                           Progress    Status                   Result
------------------------------------------  ------------------------------------  ----------  -----------------------  ----------------------
macbmc5r0034p0049-oob.02.pci1.facebook.com  44c2f034-d1ae-4bc3-b692-40c17113f1ac  finished    WorkflowStatus.FINISHED  FinishStatus.SUCCEEDED
```
Test upgrade on wedge100 to ensure normal behaviour
```
$ oobgrader --host fboss8382003.snc1 --primary-only --wait --force --flashy-tag e44d3bf --allow-downgrade

Host                   Workflow ID                           Progress    Status                   Result
---------------------  ------------------------------------  ----------  -----------------------  ----------------------
fboss8382003-oob.snc1  647a8025-e0c2-4977-8208-dbede581f229  finished    WorkflowStatus.FINISHED  FinishStatus.SUCCEEDED
```
 ---
Unit tests:
```
~/local/openbmc/tools/flashy (flashy-reg)]$ ./scripts/run_unit_tests.sh

141/141 unit tests passed
```

Reviewed By: doranand

Differential Revision: D54872760

fbshipit-source-id: 0952d175e12fb9c9e958db9563267e40cadaab1f

flashy-48e2599

09 Mar 00:07
Compare
Choose a tag to compare
minerva: flashy: add flash procedure

Summary: Copy flash procedure from bletchley for minerva and harma update.

Test Plan: Build flashy.

Reviewed By: kawmarco

Differential Revision: D54686413

fbshipit-source-id: 16b557f53714a2ee145730cf14d48975e4d65800

flashy-8e973a5

06 Feb 17:39
Compare
Choose a tag to compare
Adding the support for Tahan and Morgan800cc

Summary: [flashy] Adding the support for Tahan and Morgan800cc

Test Plan:
[mikechoi@devvm7569.vll0 ~/dev/tahan/tools/flashy (helium)]$ ./build.sh && ./build_dev.sh && go test ./...
?       github.com/facebook/openbmc/tools/flashy/flash_procedure        [no test files]
?       github.com/facebook/openbmc/tools/flashy/lib/logger     [no test files]
?       github.com/facebook/openbmc/tools/flashy/tests  [no test files]
?       github.com/facebook/openbmc/tools/flashy/utilities      [no test files]
ok      github.com/facebook/openbmc/tools/flashy        2.928s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/bletchley      (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/common (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/galaxy100      (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/wedge100       (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/yamp   (cached)
ok      github.com/facebook/openbmc/tools/flashy/install        (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/fileutils  (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash      (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashcp      (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils   (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils/devices   (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/step       (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/utils      (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/validate   (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/image     (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/partition (cached)

Reviewed By: williamspatrick

Differential Revision: D53273501

fbshipit-source-id: a60507a94eefb67321e8ab72736720710c5836a9

flashy-5b1099b

16 Jan 16:09
Compare
Choose a tag to compare
yosemite4: flashy: add flash procedure

Summary: Copy flash procedure from bletchley for Yv4 update.

Test Plan: Build flashy.

Reviewed By: kawmarco

Differential Revision: D52739771

fbshipit-source-id: 801c68f1b7c3d5eeb5aa2450bc5c2f0e3aea3826

flashy-e54e093

02 Jan 21:17
Compare
Choose a tag to compare
add janga

Summary:
As title.  Also include montblanc in list of BMC lite platforms.  I'm
thinking the platforms.thrift sync script should auto-generate all this
stuff so it can be landed in the same commit but that's a bigger change.

Test Plan:
```
0 ~/local/openbmc/tools/flashy $ ./build.sh && ./build_dev.sh && go test ./...
?       github.com/facebook/openbmc/tools/flashy/flash_procedure        [no test files]
?       github.com/facebook/openbmc/tools/flashy/lib/logger     [no test files]
?       github.com/facebook/openbmc/tools/flashy/tests  [no test files]
?       github.com/facebook/openbmc/tools/flashy/utilities      [no test files]
ok      github.com/facebook/openbmc/tools/flashy        3.376s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/bletchley      0.006s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/common 0.377s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/galaxy100      0.010s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/wedge100       0.009s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/yamp   0.008s
ok      github.com/facebook/openbmc/tools/flashy/install        0.008s
ok      github.com/facebook/openbmc/tools/flashy/lib/fileutils  0.013s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash      0.010s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashcp      0.010s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils   0.008s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils/devices   0.009s
ok      github.com/facebook/openbmc/tools/flashy/lib/step       0.008s
ok      github.com/facebook/openbmc/tools/flashy/lib/utils      0.446s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate   0.008s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/image     0.008s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/partition 0.028s
0 ~/local/openbmc/tools/flashy $
```

Reviewed By: kawmarco

Differential Revision: D52481796

fbshipit-source-id: 8545bcbd9a24888cf8c627be030d2b85fc33aad0

flashy-6a64b36

04 Dec 19:43
Compare
Choose a tag to compare
detect meru as a BMC-lite platform

Summary: We should automate this with platforms.json somehow but no time right now.

Test Plan:
Build & unit test:

```
0 ~/local/openbmc/tools/flashy $ ./build.sh && ./build_dev.sh && go test ./...
ok      github.com/facebook/openbmc/tools/flashy        (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/bletchley      (cached)
?       github.com/facebook/openbmc/tools/flashy/flash_procedure        [no test files]
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/common (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/galaxy100      (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/wedge100       (cached)
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/yamp   (cached)
?       github.com/facebook/openbmc/tools/flashy/lib/logger     [no test files]
?       github.com/facebook/openbmc/tools/flashy/utilities      [no test files]
?       github.com/facebook/openbmc/tools/flashy/tests  [no test files]
ok      github.com/facebook/openbmc/tools/flashy/install        (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/fileutils  (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash      (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashcp      (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils   (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils/devices   (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/step       (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/utils      (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/validate   (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/image     (cached)
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/partition (cached)
```

Reviewed By: cjcon90

Differential Revision: D51814249

fbshipit-source-id: 45a3f7735178dd8aa5e44f3c5715e317b646d0a7

flashy-2517b18

04 Dec 18:34
Compare
Choose a tag to compare
Add flash_procedure for meru

Summary:
As title, oobgrader is failing with:
```
2023-12-04 07:48:34.696630 - Running flash procedure step: /run/flashy/flash_procedure/flash_meru --imagepath /run/upgrade/image --device mtd:flash0
2023-12-04 07:48:36.017120 - flash_procedure exited with non-zero exit code {rs.exit_status}. Run command result: {rs}
2023-12-04 07:48:36.017241 - Command '/run/flashy/flash_procedure/flash_meru --imagepath /run/upgrade/image --device mtd:flash0' exited with non-zero exit code: CommandResult(exit_status=127, stderr='bash: line 1: /run/flashy/flash_procedure/flash_meru: No such file or directoryn', stdout='', exit_signal=None)
```

Test Plan: test_placeholder

Reviewed By: doranand

Differential Revision: D51812322

fbshipit-source-id: cdb249c721aed89206956b3d7d0e0e007d72998b

flashy-3c90630

09 Oct 15:24
Compare
Choose a tag to compare
cosmetic change

Summary:
The second component of the version is a week number.

derp-cat

Test Plan:
```
0 ~/local/openbmc/tools/flashy $ ./build.sh; echo $?
0
0 ~/local/openbmc/tools/flashy $ go test ./...
?       github.com/facebook/openbmc/tools/flashy/flash_procedure        [no test files]
?       github.com/facebook/openbmc/tools/flashy/lib/logger     [no test files]
?       github.com/facebook/openbmc/tools/flashy/tests  [no test files]
?       github.com/facebook/openbmc/tools/flashy/utilities      [no test files]
ok      github.com/facebook/openbmc/tools/flashy        3.367s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/bletchley      0.007s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/common 0.290s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/galaxy100      0.012s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/wedge100       0.012s
ok      github.com/facebook/openbmc/tools/flashy/checks_and_remediations/yamp   0.011s
ok      github.com/facebook/openbmc/tools/flashy/install        0.009s
ok      github.com/facebook/openbmc/tools/flashy/lib/fileutils  0.015s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash      0.015s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashcp      0.017s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils   0.010s
ok      github.com/facebook/openbmc/tools/flashy/lib/flash/flashutils/devices   0.011s
ok      github.com/facebook/openbmc/tools/flashy/lib/step       0.014s
ok      github.com/facebook/openbmc/tools/flashy/lib/utils      0.452s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate   0.016s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/image     0.013s
ok      github.com/facebook/openbmc/tools/flashy/lib/validate/partition 0.030s
```

Reviewed By: lsiudut

Differential Revision: D50081770

fbshipit-source-id: 30b0ca964d8e63da29dd62110a9347c4f6ae69d6