Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions dag/extdeps/boards/asrock_rack.dag
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
module extdeps.boards.asrock_rack

import extdeps.boards.types { BaseboardCatalogRow }
import extdeps.vendor.asrock_rack { asrock_rack }
import extdeps.bmc.webui.nbd_proxy { BmcwebNbdProxyEndpointVariant, VmSlotIndexEndpoint, NbdSlotEndpoint }

data extdeps_external_authority_anchor: ExternalAuthority = ExternalAuthority {
uri: Uri {
Expand Down Expand Up @@ -32,6 +35,7 @@ data asrock_altrad8ud_srv3_nbd_proxy_ws_dry_run_authority: ExternalAuthority = E
data asrock_altrad8ud_1l2t_catalog: BaseboardCatalogRow = BaseboardCatalogRow {
model: AsrockRackAltrad8ud1l2t,
model_label: "ASRock Rack ALTRAD8UD-1L2T",
vendor: asrock_rack,
bmc_firmware: OpenBmc,
}

Expand Down
30 changes: 30 additions & 0 deletions dag/extdeps/boards/types.dag
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
module extdeps.boards.types

import std.types { NonEmptyStr }
import std.bmc { BmcFirmwareFamily, BmcEndpoint }
import extdeps.vendor { Vendor }
import extdeps.hardware { Hardware }

import extdeps.external_authority { ExternalAuthority }
import extdeps.uri { Uri, Https }

data extdeps_external_authority_anchor: ExternalAuthority = ExternalAuthority {
uri: Uri {
scheme: Https
locator: "en.wikipedia.org/wiki/Motherboard"
}
}

type BaseboardModel = | AsrockRackAltrad8ud1l2t

type BaseboardCatalogRow {
model: BaseboardModel
model_label: NonEmptyStr
vendor: Vendor<Hardware>
bmc_firmware: BmcFirmwareFamily
}

type ServerBaseboard {
catalog: BaseboardCatalogRow
bmc: BmcEndpoint
}
16 changes: 16 additions & 0 deletions dag/extdeps/vendor/asrock_rack.dag
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
module extdeps.vendor.asrock_rack

import extdeps.vendor { Vendor }
import extdeps.hardware { Hardware }

import extdeps.external_authority { ExternalAuthority }
import extdeps.uri { Uri, Https }

data extdeps_external_authority_anchor: ExternalAuthority = ExternalAuthority {
uri: Uri {
scheme: Https
locator: "www.asrockrack.com"
}
}

data asrock_rack: Vendor<Hardware> = Vendor { legal_name: "ASRock Rack Incorporation" }
2 changes: 1 addition & 1 deletion dag/gunbc/fleet_intent.dag
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import product.network_topology { NetworkLocality, NetworkInterface, NetworkAddr
import product.placement_supply { HostIdentity }
import std.disposition { Disposition, Scaffold, SingleAuthority }
import std.decl_ref { DeclarationRef, WholeDeclaration }
import std.baseboard { ServerBaseboard }
import extdeps.boards.types { ServerBaseboard }
import std.bmc { BmcEndpoint, Redfish }
import std.credentials { CredentialFlow, Stored }
import std.measure { hertz, ByteSize, byte_size, byte_size_count, Bandwidth, HardwareThreadCount, hardware_thread_count_value, Nano, measure_count }
Expand Down
25 changes: 0 additions & 25 deletions dag/std/baseboard.dag

This file was deleted.

8 changes: 1 addition & 7 deletions dag/test/claim/bmc_factory_credential_witness_test.dag
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,12 @@ fn protocol_count(ps: List<BmcProtocol>) -> Int {
fold(ps, init: 0, f: (acc, p) => acc + 1)
}

fn manufacturer_matches(m: BaseboardManufacturer) -> Bool {
match m {
AsrockRack => true
}
}

test fn bmc_factory_credential_holds() -> Bool {

new_server_factory_login.username == "root"
&& new_server_factory_login.published_password == "0penBmc"

&& manufacturer_matches(baseboard_manufacturer(model: new_server_baseboard.catalog.model))
&& new_server_baseboard.catalog.vendor == extdeps.vendor.asrock_rack.asrock_rack

&& protocol_count(ps: bmc_firmware_supported_protocols(family: OpenBmc)) == 2
}
Loading