{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":301513440,"defaultBranch":"master","name":"propolis","ownerLogin":"oxidecomputer","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-10-05T19:09:41.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/54040662?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716490167.0","currentOid":""},"activityList":{"items":[{"before":"7a65be916947be48575c9308f7c3e8c9aa6561c3","after":"3c0f998399ff13d605f3cf0bb724190f96eff4a2","ref":"refs/heads/master","pushedAt":"2024-05-29T02:37:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"pfmooney","name":"Patrick Mooney","path":"/pfmooney","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1555070?s=80&v=4"},"commit":{"message":"Modernize fw_cfg emulation\n\nBeing one of the early parts of the prototypical Propolis, the fw_cfg\r\nemulation was rather unpolished, and lacked the ability for entries to\r\nbe added or removed after instance initialization.\r\n\r\nThis change should improve it on several fronts:\r\n- Entries can be added and/or removed during runtime\r\n- Association of any RamFB device is more flexible and can also be\r\n modified during runtime\r\n- fw_cfg entries are properly migrated, instead of requiring identical\r\n population on the destination instance.\r\n- A modicum of test coverage is present","shortMessageHtmlLink":"Modernize fw_cfg emulation"}},{"before":"28141567caa85e3c2b42983ec35eb0aad504d038","after":"a4230dfe6e4aa5b610bf6000644de2ffd314c4bb","ref":"refs/heads/vlans","pushedAt":"2024-05-28T18:38:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Nieuwejaar","name":"Nils Nieuwejaar","path":"/Nieuwejaar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36523316?s=80&v=4"},"commit":{"message":"failure to enable promisc shouldn't be fatal","shortMessageHtmlLink":"failure to enable promisc shouldn't be fatal"}},{"before":"7a65be916947be48575c9308f7c3e8c9aa6561c3","after":"28141567caa85e3c2b42983ec35eb0aad504d038","ref":"refs/heads/vlans","pushedAt":"2024-05-23T18:53:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Nieuwejaar","name":"Nils Nieuwejaar","path":"/Nieuwejaar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36523316?s=80&v=4"},"commit":{"message":"add support for vlans in falcon","shortMessageHtmlLink":"add support for vlans in falcon"}},{"before":null,"after":"7a65be916947be48575c9308f7c3e8c9aa6561c3","ref":"refs/heads/vlans","pushedAt":"2024-05-23T18:49:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Nieuwejaar","name":"Nils Nieuwejaar","path":"/Nieuwejaar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36523316?s=80&v=4"},"commit":{"message":"Update and prune dependencies","shortMessageHtmlLink":"Update and prune dependencies"}},{"before":"6d7ed9a033babc054db9eff5b59dee978d2b0d76","after":"7a65be916947be48575c9308f7c3e8c9aa6561c3","ref":"refs/heads/master","pushedAt":"2024-05-22T04:52:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pfmooney","name":"Patrick Mooney","path":"/pfmooney","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1555070?s=80&v=4"},"commit":{"message":"Update and prune dependencies","shortMessageHtmlLink":"Update and prune dependencies"}},{"before":"868cc546b53c862ec0180f2f0896041df51f953b","after":"6d7ed9a033babc054db9eff5b59dee978d2b0d76","ref":"refs/heads/master","pushedAt":"2024-05-17T18:00:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lifning","name":"liffy","path":"/lifning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/629075?s=80&v=4"},"commit":{"message":"housekeeping: rfb dep updates\n\nhttps://github.com/oxidecomputer/rfb/pull/13","shortMessageHtmlLink":"housekeeping: rfb dep updates"}},{"before":"c9e2d388489978e057069bf1e043d47d2316205b","after":null,"ref":"refs/heads/update-oximeter","pushedAt":"2024-05-16T19:21:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bnaecker","name":null,"path":"/bnaecker","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3259107?s=80&v=4"}},{"before":"6e48b6cd5cb1746e53f8951975fc422f9195bcca","after":"868cc546b53c862ec0180f2f0896041df51f953b","ref":"refs/heads/master","pushedAt":"2024-05-16T19:21:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bnaecker","name":null,"path":"/bnaecker","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3259107?s=80&v=4"},"commit":{"message":"Update Omicron deps (#704)\n\n* Update Omicron deps\r\n\r\n- Update `oximeter`, Omicron, and Crucible dependencies\r\n- Remove defunct `base_route` field from producer info\r\n\r\n* Update Crucible rev","shortMessageHtmlLink":"Update Omicron deps (#704)"}},{"before":"329eb82e30219f3fcce0d99a3934356ce22ee0de","after":"c9e2d388489978e057069bf1e043d47d2316205b","ref":"refs/heads/update-oximeter","pushedAt":"2024-05-16T16:56:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bnaecker","name":null,"path":"/bnaecker","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3259107?s=80&v=4"},"commit":{"message":"Update Crucible rev","shortMessageHtmlLink":"Update Crucible rev"}},{"before":"546e7e80134b883841f949ec569b747bf2f4e5c4","after":"329eb82e30219f3fcce0d99a3934356ce22ee0de","ref":"refs/heads/update-oximeter","pushedAt":"2024-05-16T16:40:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bnaecker","name":null,"path":"/bnaecker","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3259107?s=80&v=4"},"commit":{"message":"Update Omicron deps\n\n- Update `oximeter`, Omicron, and Crucible dependencies\n- Remove defunct `base_route` field from producer info","shortMessageHtmlLink":"Update Omicron deps"}},{"before":"f50ce15c833f6a258179d0b017d6d83c99230f80","after":"546e7e80134b883841f949ec569b747bf2f4e5c4","ref":"refs/heads/update-oximeter","pushedAt":"2024-05-15T19:38:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bnaecker","name":null,"path":"/bnaecker","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3259107?s=80&v=4"},"commit":{"message":"Update oximeter dep\n\n- Update `oximeter` and Omicron dependencies\n- Remove defunct `base_route` field from producer info","shortMessageHtmlLink":"Update oximeter dep"}},{"before":null,"after":"f50ce15c833f6a258179d0b017d6d83c99230f80","ref":"refs/heads/update-oximeter","pushedAt":"2024-05-15T19:23:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bnaecker","name":null,"path":"/bnaecker","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3259107?s=80&v=4"},"commit":{"message":"Update oximeter dep\n\n- Update `oximeter` and Omicron dependencies\n- Remove defunct `base_route` field from producer info","shortMessageHtmlLink":"Update oximeter dep"}},{"before":"4591a60e74a20df9ab7f62a0e45fabd1ec667747","after":"6e48b6cd5cb1746e53f8951975fc422f9195bcca","ref":"refs/heads/master","pushedAt":"2024-05-10T18:06:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pfmooney","name":"Patrick Mooney","path":"/pfmooney","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1555070?s=80&v=4"},"commit":{"message":"Make block attachment mechanism more generic\n\nThe frontend/backend attachment pattern will be more useful for other\ndevice types (chardev, viona, etc). While those new consumers are not\nyet built, we can abstract out the bits most likely to be common.\n\nFixes #671","shortMessageHtmlLink":"Make block attachment mechanism more generic"}},{"before":"4eb9b154478ac61e6433428f7db3ad66336ed538","after":null,"ref":"refs/heads/eliza/somebios-bootrom-version","pushedAt":"2024-05-08T19:31:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"hawkw","name":"Eliza Weisman","path":"/hawkw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2796466?s=80&v=4"}},{"before":"6d4fe85574b71fef17e99af56f07b866c77cf6d7","after":"4591a60e74a20df9ab7f62a0e45fabd1ec667747","ref":"refs/heads/master","pushedAt":"2024-05-08T19:31:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hawkw","name":"Eliza Weisman","path":"/hawkw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2796466?s=80&v=4"},"commit":{"message":"Add bootrom version to config files (#703)\n\nPresently, the BIOS version string in Propolis' SMBIOS tables is\r\nhardcoded to a default value. It would be nice to instead use the OVMF\r\nversion for the BIOS version string.\r\n\r\nBecause Propolis' understanding of bootroms is just a path on the\r\nfilesystem to some kind of file, it's not aware of the OVMF version, or,\r\nindeed, that the bootrom even *is* OVMF (and it could conceivably be\r\nanything). Therefore, the bootrom version must be provided externally,\r\nsuch as by the Oxide control plane in the case of `propolis-server`, or\r\nby the user when running standalone.\r\n\r\nThis PR adds a config field `bootrom_version` to the TOML config\r\nfiles for `propolis-server` and `propolis-standalone` which can be used\r\nto provide a value for the bootrom version string. If the version string\r\nis not provided, Propolis will continue to use the current default\r\nvalues.\r\n\r\nI considered changing the config format to move the `bootrom` path field\r\nand `bootrom_version` string field into a `bootrom` table, as in:\r\n\r\n```toml\r\n[bootrom]\r\npath = \"/path/to/OVMF_CODE.fd\"\r\nversion = \"edk2-stable202402\"\r\n```\r\n\r\nHowever, this would break existing configs, and I don't think it's\r\nso much nicer than\r\n\r\n```toml\r\nbootrom = \"/path/to/OVMF_CODE.fd\"\r\nbootrom_version = \"edk2-stable202402\"\r\n````\r\n\r\nto justify breakage. I'm happy to change the format if others disagree.\r\n\r\nAlong with #702, this branch implements the changes described in #701.","shortMessageHtmlLink":"Add bootrom version to config files (#703)"}},{"before":null,"after":"4eb9b154478ac61e6433428f7db3ad66336ed538","ref":"refs/heads/eliza/somebios-bootrom-version","pushedAt":"2024-05-08T16:03:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"hawkw","name":"Eliza Weisman","path":"/hawkw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2796466?s=80&v=4"},"commit":{"message":"Add bootrom version to config files\n\nPresently, the BIOS version string in Propolis' SMBIOS tables is\nhardcoded to a default value. It would be nice to instead use the OVMF\nversion for the BIOS version string.\n\nBecause Propolis' understanding of bootroms is just a path on the\nfilesystem to some kind of file, it's not aware of the OVMF version, or,\nindeed, that the bootrom even *is* OVMF (and it could conceivably be\nanything). Therefore, the bootrom version must be provided externally,\nsuch as by the Oxide control plane in the case of `propolis-server`, or\nby the user when running standalone.\n\nThis PR adds a config field `bootrom_version` to the TOML config\nfiles for `propolis-server` and `propolis-standalone` which can be used\nto provide a value for the bootrom version string. If the version string\nis not provided, Propolis will continue to use the current default\nvalues.\n\nI considered changing the config format to move the `bootrom` path field\nand `bootrom_version` string field into a `bootrom` table, as in:\n\n```toml\n[bootrom]\npath = \"/path/to/OVMF_CODE.fd\"\nversion = \"edk2-stable202402\"\n```\n\nHowever, this would break existing configs, and I don't think it's\nso much nicer than\n\n```toml\nbootrom = \"/path/to/OVMF_CODE.fd\"\nbootrom_version = \"edk2-stable202402\"\n````\n\nto justify breakage. I'm happy to change the format if others disagree.\n\nAlong with #702, this branch implements the changes described in #701.","shortMessageHtmlLink":"Add bootrom version to config files"}},{"before":"0d8efa1f59b04c6d3c454f35e8d3c35c79baa0cc","after":"6d4fe85574b71fef17e99af56f07b866c77cf6d7","ref":"refs/heads/master","pushedAt":"2024-05-07T18:49:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pfmooney","name":"Patrick Mooney","path":"/pfmooney","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1555070?s=80&v=4"},"commit":{"message":"Standardize on `mod test`\n\nKeep a consistent style of `mod test`, rather than a mix of that and\n`mod tests`. Enforce this new rule with a rudimentary check, added as\n`xtask style`.","shortMessageHtmlLink":"Standardize on mod test"}},{"before":"3ad03a57f03ca004ddef5d582c7512f7e1858260","after":"934eb946cb29f1680778a9a6ff23bf2acf44b41c","ref":"refs/heads/eliza/somebios-version","pushedAt":"2024-05-07T18:47:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hawkw","name":"Eliza Weisman","path":"/hawkw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2796466?s=80&v=4"},"commit":{"message":"remove prefix","shortMessageHtmlLink":"remove prefix"}},{"before":null,"after":"3ad03a57f03ca004ddef5d582c7512f7e1858260","ref":"refs/heads/eliza/somebios-version","pushedAt":"2024-05-07T16:37:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"hawkw","name":"Eliza Weisman","path":"/hawkw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2796466?s=80&v=4"},"commit":{"message":"populate SMBIOS system version with Git metadata\n\nCurrently, the SMBIOS system (type 1) table has a hard-coded version\nfield. It would be nice if this was instead populated with details about\nthe Propolis version, as described in issue #701.\n\nThis branch adds a `build.rs`` script that uses [the `vergen` crate][1]\nto emit information about the Git revision that Propolis was build from.\nNow, we can generate a version string that describes the git branch,\ncommit hash, and commit depth, as described in [this comment][2]. This\nis generated in a `propolis::version()` function, which also includes\nthe Bhyve API version (detected at runtime). This results in version\nstrings like:\n\n```\nPropolis v0.1.0-658 (0d8efa1) eliza/somebios-version, \n```\n(on a Linux machine; the Bhyve version would be present on illumos)\n\nIn addition to populating the SMBIOS system version, this commit also\nsets the Clap version for CLI commands, so that the `--version` flag\nwill print out the same value that's set in SMBIOS.\n\n[1]: https://docs.rs/vergen\n[2]: https://github.com/oxidecomputer/propolis/issues/701#issuecomment-2096755479","shortMessageHtmlLink":"populate SMBIOS system version with Git metadata"}},{"before":"27af670707b20addb3bff95db243d53665731692","after":"0d8efa1f59b04c6d3c454f35e8d3c35c79baa0cc","ref":"refs/heads/master","pushedAt":"2024-05-02T23:28:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hawkw","name":"Eliza Weisman","path":"/hawkw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2796466?s=80&v=4"},"commit":{"message":"smbios: add enums/bitflags types for some SMBIOS fields (#694)\n\nCurrently, most of the SMBIOS fields that we populate are magic numbers,\r\nwith comments describing what that magic number indicates. For SMBIOS\r\nenum fields, this isn't too bad, but for bitfields like the various\r\n\"characteristics\" fields, it's a bit of a shame, since the hex constant\r\ndoesn't always make it obvious which bit corresponds to which\r\ncharacteristic.\r\n\r\nTo make this a bit nicer, this commit adds enums for most of the SMBIOS\r\nenum fields we currently populate, and bitflags for most of the bitflags\r\nfields. This way, we can refer to them by name rather than as magic\r\nnumbers. Also, I've made the `Default` implementation for the various\r\nenum fields return the \"unknown\" (0x2) variant. Eventually, we may want\r\nto default-initialize more SMBIOS tables --- but, we should probably\r\nhold off on that until *all* the enum fields in the tables we populate\r\nare Rust types with `Default` impls, so that we don't have to manually\r\ninitialize some of them to 0x2.\r\n\r\nFurthermore, I've added `serde::{Serialize, Deserialize}`\r\nimplementations for these SMBIOS field types, in order to support\r\n(eventually) overriding them from the config file. Using structured\r\ntypes here also lets us perform some nicer validation of said\r\nhypothetical future config file.\r\n\r\nCurrent `dmidecode` output in an Alpine guest on this branch\r\nmatches what's on `master`.","shortMessageHtmlLink":"smbios: add enums/bitflags types for some SMBIOS fields (#694)"}},{"before":"338a75a8f013534d98d49ce9a55ec84ceb1484a9","after":null,"ref":"refs/heads/eliza/somebios","pushedAt":"2024-05-02T23:28:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"hawkw","name":"Eliza Weisman","path":"/hawkw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2796466?s=80&v=4"}},{"before":"33b3374aae4a2d006f60d5f42168090cd789fbb4","after":"338a75a8f013534d98d49ce9a55ec84ceb1484a9","ref":"refs/heads/eliza/somebios","pushedAt":"2024-05-02T23:04:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hawkw","name":"Eliza Weisman","path":"/hawkw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2796466?s=80&v=4"},"commit":{"message":"make the error message match serde, & clean it up","shortMessageHtmlLink":"make the error message match serde, & clean it up"}},{"before":"4750ec36476e9f98e4190bd0456afe3b634eddab","after":"33b3374aae4a2d006f60d5f42168090cd789fbb4","ref":"refs/heads/eliza/somebios","pushedAt":"2024-05-02T18:59:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hawkw","name":"Eliza Weisman","path":"/hawkw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2796466?s=80&v=4"},"commit":{"message":"Merge branch 'master' into eliza/somebios","shortMessageHtmlLink":"Merge branch 'master' into eliza/somebios"}},{"before":"0b71410d3a12045d34fa1c6c1d9ba1d8dd652564","after":"27af670707b20addb3bff95db243d53665731692","ref":"refs/heads/master","pushedAt":"2024-05-02T17:46:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pfmooney","name":"Patrick Mooney","path":"/pfmooney","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1555070?s=80&v=4"},"commit":{"message":"clippy fixes for rust 1.78","shortMessageHtmlLink":"clippy fixes for rust 1.78"}},{"before":"2a85dde24f3867bc15da6458843d1d10cc191d8d","after":"4750ec36476e9f98e4190bd0456afe3b634eddab","ref":"refs/heads/eliza/somebios","pushedAt":"2024-05-02T17:05:39.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hawkw","name":"Eliza Weisman","path":"/hawkw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2796466?s=80&v=4"},"commit":{"message":"review feedback","shortMessageHtmlLink":"review feedback"}},{"before":"bc46b92fe77122a757f1894660c67ddb010eacd2","after":"2a85dde24f3867bc15da6458843d1d10cc191d8d","ref":"refs/heads/eliza/somebios","pushedAt":"2024-05-01T20:04:06.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hawkw","name":"Eliza Weisman","path":"/hawkw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2796466?s=80&v=4"},"commit":{"message":"review feedback from @pfmooney","shortMessageHtmlLink":"review feedback from @pfmooney"}},{"before":"4eb2b086caa4795dc845a6c21a2bce8d49176cd6","after":"bc46b92fe77122a757f1894660c67ddb010eacd2","ref":"refs/heads/eliza/somebios","pushedAt":"2024-05-01T18:42:58.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hawkw","name":"Eliza Weisman","path":"/hawkw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2796466?s=80&v=4"},"commit":{"message":"`BiosCharacteristics::UNSUPPORTED` rather than `Unknown`","shortMessageHtmlLink":"BiosCharacteristics::UNSUPPORTED rather than Unknown"}},{"before":null,"after":"4eb2b086caa4795dc845a6c21a2bce8d49176cd6","ref":"refs/heads/eliza/somebios","pushedAt":"2024-05-01T18:13:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"hawkw","name":"Eliza Weisman","path":"/hawkw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2796466?s=80&v=4"},"commit":{"message":"smbios: add enums for type 16 table","shortMessageHtmlLink":"smbios: add enums for type 16 table"}},{"before":"d6fc6d458e08e7ae1008aaa2d505a6523a4e3538","after":"0b71410d3a12045d34fa1c6c1d9ba1d8dd652564","ref":"refs/heads/master","pushedAt":"2024-05-01T14:46:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pfmooney","name":"Patrick Mooney","path":"/pfmooney","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1555070?s=80&v=4"},"commit":{"message":"Generate SMBIOS tables guest consumption\n\nThis adds an initial set of SMBIOS tables to be exposed to the guest\nvia fw_cfg and the OVMF ROM. The generated data is somewhat sparse at\nthe moment, leaving room to expand or improve upon it in the future.\n\nFixes #628","shortMessageHtmlLink":"Generate SMBIOS tables guest consumption"}},{"before":"cc0b3da026e339ac1488e7efd5010d68e473ccfe","after":null,"ref":"refs/heads/client-error-go-boom","pushedAt":"2024-05-01T14:37:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rcgoodfellow","name":"Ryan Goodfellow","path":"/rcgoodfellow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1010256?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVnVa8AA","startCursor":null,"endCursor":null}},"title":"Activity ยท oxidecomputer/propolis"}