github stephrobert/feint v0.7.1

latest releases: v0.16.0, v0.15.0, v0.14.0...
3 months ago

Fixed

  • CreateTags answered that a resource the emulator had just created did not
    exist.
    Reported by Vincent Dislaire against an outscale_internet_service
    with a tags block: the apply failed on the resource igw-… does not exist,
    about a resource ReadInternetServices was serving. The prefix table in
    tags.go held four entries, written when the pack served four kinds, and
    0.6.0 added ten resources without touching it. Three prefixes were reported;
    reading which schemas declare Tags found ten — volumes, snapshots,
    images, security groups, route tables, public IPs, NICs, DHCP options, NAT
    services and internet services.

  • Two of the four ResourceType values ReadTags published were invented:
    net where Outscale's own SDK says vpc, vm where it says instance. A
    client filtering on instance matched nothing. No contract could see it —
    their OpenAPI declares ResourceType as a bare string — and a unit test had
    been asserting net for three releases, which is how an emulator's mistake
    becomes the thing its own suite protects.

    The values now come from TagResourceType in osc-sdk-go, and a test pins
    every row of the table to that enum.

  • The table that caused it can no longer fall behind in silence. Every
    identifier prefix the pack mints is read from the source and has to be
    triaged: taggable with its upstream type, or refused with a reason, the same
    discipline Declined() applies to operations. Adding the ten missing rows
    fixes today; the eleventh resource would have done it again.

Changed

  • Exoscale is starter, not preview. The label was taken deliberately,
    with a written exit condition — until the Terraform provider is proven
    against it
    — and that condition turned out to rest on an assumption
    measurement refuted: the provider honours EXOSCALE_API_ENDPOINT for its
    egoscale v3 client and builds a v2 one with no endpoint option, so an apply
    splits between this emulator and a paying account. ClientOptWithAPIEndpoint
    exists in egoscale and is never called; three sites build a v2 client without
    it. Filed upstream as
    exoscale/terraform-provider-exoscale#573.

    A condition nobody here can reach is not a condition, it is a hostage — and
    what the label warned about was fixed by EXO-2 anyway: exo drives stop,
    start, reboot, scale, resize, a delete refused while protected, a security
    group rule round-trip, an anti-affinity group, and an elastic IP attached,
    published and withdrawn. What still separates Exoscale from usable stays in
    the generated coverage tables, where it cannot flatter: 75 operations
    untriaged, against 18 for Outscale and 0 for Scaleway.

  • The Outscale row credits Terraform, which has driven seventeen resources
    end to end since 0.6.0 and was still listed as oapi-cli alone.

Don't miss a new feint release

NewReleases is sending notifications on new releases.