stephrobert.scaleway ships twenty Kubernetes modules as of its 0.8.0 cycle, and
none of them can be exercised against feint. Measured today:
GET http://127.0.0.1:4899/instance/v1/zones/fr-par-1/servers -> 200
GET http://127.0.0.1:4899/k8s/v1/regions/fr-par/clusters -> 501
{"type":"not_emulated","message":"feint does not serve /k8s/v1/regions/fr-par/clusters; see /_feint/routes for what it does"}
The 501 with not_emulated is exactly the right answer, and it is what let this
be measured in one command rather than guessed. This issue is about closing the
gap, not about the refusal.
What the collection would exercise
The read side is what matters most, because it is what a Day-2 collection is
made of. In rough order of value:
ListClusters · GetCluster the fleet of clusters
ListPools · GetPool what each cluster runs on
ListNodes · GetNode the nodes, and their status
ListVersions · ListClusterAvailableVersions version drift, computed rather than guessed
ListClusterACLRules who can reach the control plane
The last two are the interesting ones. ListClusterAvailableVersions next to
GetCluster.version is what makes "am I behind" a measurement rather than an
impression, and nobody serves that question today: the official Scaleway
collection creates clusters and offers nothing to operate them afterwards.
The write side that would follow: UpgradeCluster, UpgradePool, RebootNode,
ReplaceNode, ResetClusterAdminToken, SetPoolTaints, UpdateCluster,
UpdatePool.
What would make it useful even in a first pass
Clusters and pools with a status that moves, the way Instances do. A cluster that
is ready the instant it is created would hide exactly the class of defect an
emulator is worth having for: an operation that waits on a state it never sees.
ListClusterAvailableVersions returning something other than the cluster's own
version, so a drift rule has something to find.
Why this is filed rather than worked around
The collection declares the gap rather than skipping it: the twenty modules are
listed as having no target, with this measurement as the reason, and the entry
reopens at its 0.9.0. The alternative is a Kapsule cluster on a real billed
account for every example run, which is tracked separately on our side.
stephrobert.scalewayships twenty Kubernetes modules as of its 0.8.0 cycle, andnone of them can be exercised against feint. Measured today:
The 501 with
not_emulatedis exactly the right answer, and it is what let thisbe measured in one command rather than guessed. This issue is about closing the
gap, not about the refusal.
What the collection would exercise
The read side is what matters most, because it is what a Day-2 collection is
made of. In rough order of value:
The last two are the interesting ones.
ListClusterAvailableVersionsnext toGetCluster.versionis what makes "am I behind" a measurement rather than animpression, and nobody serves that question today: the official Scaleway
collection creates clusters and offers nothing to operate them afterwards.
The write side that would follow:
UpgradeCluster,UpgradePool,RebootNode,ReplaceNode,ResetClusterAdminToken,SetPoolTaints,UpdateCluster,UpdatePool.What would make it useful even in a first pass
Clusters and pools with a status that moves, the way Instances do. A cluster that
is
readythe instant it is created would hide exactly the class of defect anemulator is worth having for: an operation that waits on a state it never sees.
ListClusterAvailableVersionsreturning something other than the cluster's ownversion, so a drift rule has something to find.
Why this is filed rather than worked around
The collection declares the gap rather than skipping it: the twenty modules are
listed as having no target, with this measurement as the reason, and the entry
reopens at its 0.9.0. The alternative is a Kapsule cluster on a real billed
account for every example run, which is tracked separately on our side.