Couverture Day-2 : lb v1

Contrat : lb.v1.yml
Opérations découvertes : 54

Classification

classe

opérations

INFO

20

ACTION

1

MANAGE

8

WORKFLOW

0

LIFECYCLE

16

IGNORE

9

UNKNOWN

0

Couverture

mesure

valeur

candidates Day-2

29

AUTO

29

OVERRIDE

0

MANUAL

0

couverture Day-2

100,0 %

La couverture rapporte (AUTO + OVERRIDE) aux seules opérations Day-2. Les classes LIFECYCLE et IGNORE ne sont pas au dénominateur : elles ne sont pas du travail à automatiser, elles sont du travail écarté, et le tableau ci-dessus les compte à part pour que l’écart reste visible.

Modules cibles

module

opérations

lb_acl

UpdateAcl

lb_acl_info

GetAcl

lb_backend

UpdateBackend

lb_backend_info

GetBackend, ListBackends

lb_backend_stat_info

ListBackendStats

lb_certificate

UpdateCertificate

lb_certificate_info

GetCertificate, ListCertificates

lb_frontend

UpdateFrontend

lb_frontend_acl_info

ListAcls

lb_frontend_info

GetFrontend, ListFrontends

lb_ip

UpdateIp

lb_ip_info

GetIp, ListIPs

lb_load_balancer

UpdateLb

lb_load_balancer_action

MigrateLb

lb_load_balancer_info

GetLb, ListLbs

lb_load_balancer_private_network_info

ListLbPrivateNetworks

lb_load_balancer_stat_info

GetLbStats

lb_load_balancer_type_info

ListLbTypes

lb_route

UpdateRoute

lb_route_info

GetRoute, ListRoutes

lb_subscriber

UpdateSubscriber

lb_subscriber_info

GetSubscriber, ListSubscriber

Opérations

opération

méthode

classe

mode

module

raison

AddBackendServers

POST

IGNORE

OVERRIDE

-

Ajoute des serveurs à la liste qu’un backend équilibre. Relier deux ressources relève de Terraform, qui déclare cette liste ; un module qui l’étend produirait un écart entre l’état déclaré et l’état réel, invisible jusqu’au prochain terraform apply.

AttachPrivateNetwork

POST

IGNORE

OVERRIDE

-

Relie un load balancer à un réseau privé. Terraform déclare ce rattachement ; un module qui l’ajoute produirait un écart entre l’état déclaré et l’état réel.

CreateAcl

POST

LIFECYCLE

AUTO

-

création de ressource, périmètre Terraform

CreateBackend

POST

LIFECYCLE

AUTO

-

création de ressource, périmètre Terraform

CreateCertificate

POST

LIFECYCLE

AUTO

-

création de ressource, périmètre Terraform

CreateFrontend

POST

LIFECYCLE

AUTO

-

création de ressource, périmètre Terraform

CreateIp

POST

LIFECYCLE

AUTO

-

création de ressource, périmètre Terraform

CreateLb

POST

LIFECYCLE

AUTO

-

création de ressource, périmètre Terraform

CreateRoute

POST

LIFECYCLE

AUTO

-

création de ressource, périmètre Terraform

CreateSubscriber

POST

LIFECYCLE

AUTO

-

création de ressource, périmètre Terraform

DeleteAcl

DELETE

LIFECYCLE

AUTO

-

suppression de ressource, périmètre Terraform

DeleteBackend

DELETE

LIFECYCLE

AUTO

-

suppression de ressource, périmètre Terraform

DeleteCertificate

DELETE

LIFECYCLE

AUTO

-

suppression de ressource, périmètre Terraform

DeleteFrontend

DELETE

LIFECYCLE

AUTO

-

suppression de ressource, périmètre Terraform

DeleteLb

DELETE

LIFECYCLE

AUTO

-

suppression de ressource, périmètre Terraform

DeleteRoute

DELETE

LIFECYCLE

AUTO

-

suppression de ressource, périmètre Terraform

DeleteSubscriber

DELETE

LIFECYCLE

AUTO

-

suppression de ressource, périmètre Terraform

DetachPrivateNetwork

POST

IGNORE

OVERRIDE

-

Le symétrique d’AttachPrivateNetwork, écarté pour la même raison.

GetAcl

GET

INFO

AUTO

lb_acl_info

verbe de lecture sur GET

GetBackend

GET

INFO

AUTO

lb_backend_info

verbe de lecture sur GET

GetCertificate

GET

INFO

AUTO

lb_certificate_info

verbe de lecture sur GET

GetFrontend

GET

INFO

AUTO

lb_frontend_info

verbe de lecture sur GET

GetIp

GET

INFO

AUTO

lb_ip_info

verbe de lecture sur GET

GetLb

GET

INFO

AUTO

lb_load_balancer_info

verbe de lecture sur GET

GetLbStats

GET

INFO

AUTO

lb_load_balancer_stat_info

verbe de lecture sur GET

GetRoute

GET

INFO

AUTO

lb_route_info

verbe de lecture sur GET

GetSubscriber

GET

INFO

AUTO

lb_subscriber_info

verbe de lecture sur GET

ListAcls

GET

INFO

AUTO

lb_frontend_acl_info

verbe de lecture sur GET

ListBackendStats

GET

INFO

AUTO

lb_backend_stat_info

verbe de lecture sur GET

ListBackends

GET

INFO

AUTO

lb_backend_info

verbe de lecture sur GET

ListCertificates

GET

INFO

AUTO

lb_certificate_info

verbe de lecture sur GET

ListFrontends

GET

INFO

AUTO

lb_frontend_info

verbe de lecture sur GET

ListIPs

GET

INFO

AUTO

lb_ip_info

verbe de lecture sur GET

ListLbPrivateNetworks

GET

INFO

AUTO

lb_load_balancer_private_network_info

verbe de lecture sur GET

ListLbTypes

GET

INFO

AUTO

lb_load_balancer_type_info

verbe de lecture sur GET

ListLbs

GET

INFO

AUTO

lb_load_balancer_info

verbe de lecture sur GET

ListRoutes

GET

INFO

AUTO

lb_route_info

verbe de lecture sur GET

ListSubscriber

GET

INFO

AUTO

lb_subscriber_info

verbe de lecture sur GET

MigrateLb

POST

ACTION

AUTO

lb_load_balancer_action

POST hors création : opération ponctuelle

ReleaseIp

DELETE

LIFECYCLE

OVERRIDE

-

Libère une adresse IP réservée, c’est-à-dire la détruit. Le verbe diffère de Delete, donc aucune règle ne la tranchait et elle sortait en UNKNOWN ; l’effet est celui d’une suppression, et CreateIp son symétrique est déjà LIFECYCLE.

RemoveBackendServers

DELETE

IGNORE

OVERRIDE

-

Le symétrique d’AddBackendServers, et écarté pour la même raison. Aucune des six règles ne tranche un DELETE sur une sous-collection, donc elle sortait en UNKNOWN : c’est le rapport strict qui l’a montrée, et la décision est prise sur la famille entière.

SetAcls

PUT

IGNORE

OVERRIDE

-

PUT de remplacement complet de la liste des ACL d’un frontend. Terraform déclare ces règles ; les réécrire depuis un playbook effacerait celles qu’il ne connaît pas. Même raison que SetBackendServers.

SetBackendServers

PUT

IGNORE

OVERRIDE

-

PUT de remplacement complet de la liste des serveurs d’un backend. C’est la forme la plus dangereuse des trois, et la même frontière la range du côté de Terraform.

SubscribeToLb

POST

IGNORE

OVERRIDE

-

Relie un load balancer à un abonné aux alertes. Le lien est de l’infrastructure déclarée, et le chemin porte un verbe plutôt qu’une ressource, ce qui produit la ressource fantôme LbSubscribe.

UnsubscribeFromLb

DELETE

IGNORE

OVERRIDE

-

Le symétrique de SubscribeToLb, arrivé en UNKNOWN pour la même raison que RemoveBackendServers : un DELETE sur un chemin-verbe qu’aucune règle ne tranche. Écarté avec sa famille.

UpdateAcl

PUT

MANAGE

AUTO

lb_acl

écriture d’un état durable

UpdateBackend

PUT

MANAGE

AUTO

lb_backend

écriture d’un état durable

UpdateCertificate

PUT

MANAGE

AUTO

lb_certificate

écriture d’un état durable

UpdateFrontend

PUT

MANAGE

AUTO

lb_frontend

écriture d’un état durable

UpdateHealthCheck

PUT

IGNORE

OVERRIDE

-

PUT de remplacement complet de la sonde de santé d’un backend, que le fichier Terraform déclare dans le même bloc que le backend lui-même. Le modèle l’écartait faute de lecture unitaire, ce qui est vrai et n’est pas la raison : si le contrat en gagnait une demain, l’opération serait générée par accident.

UpdateIp

PATCH

MANAGE

AUTO

lb_ip

écriture d’un état durable

UpdateLb

PUT

MANAGE

AUTO

lb_load_balancer

écriture d’un état durable

UpdateRoute

PUT

MANAGE

AUTO

lb_route

écriture d’un état durable

UpdateSubscriber

PUT

MANAGE

AUTO

lb_subscriber

écriture d’un état durable

Limites relevées à la lecture du contrat

  • CreateFrontend.certificate_ids : tableau sans items, type des éléments inconnu

  • UpdateFrontend.certificate_ids : tableau sans items, type des éléments inconnu

  • UpdateIp.tags : tableau sans items, type des éléments inconnu