dbarzin / mercator

Mapping the information system / Cartographie du système d'information
GNU General Public License v3.0
269 stars 43 forks source link

Type de la variable Taille des Disques entier et pas varchar #855

Closed Tarrke closed 1 month ago

Tarrke commented 1 month ago

Edit :

J'ai trouvé la cause racine de mon soucis décrit ici, la vraie question est donc dans ce post : https://github.com/dbarzin/mercator/issues/855#issuecomment-2373504981

Bonjour,

J'ai une installation dans la dernière release :

# git status
HEAD detached at v2024-09.stable

J'essaye de remplir les logical-servers via l'API, voici le code BASH :

# Get Auth Token
echo "Get Auth Token"
token=$(curl -s -d@/tmp/data.json -H "Content-Type: application/json" ${BASE_URL}/api/login | jq -r '.access_token')
echo "token: ${token}"

# POST new logical server
echo ""
echo "POST new logical Server"
curl -s -d@/tmp/serv.json -H "Content-Type: application/json" -H "Authorization: Bearer ${token}" -X POST "${BASE_URL}/api/logical-servers"

# query logical-servers
echo ""
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer ${token}" "${BASE_URL}/api/logical-servers" | jq .

Le contenu du fichier serv.json

$ jq '.' /tmp/serv.json
{
  "name": "server.local.tld",
  "description": "server CAS n4",
  "net_service": "https, ajp",
  "operating_system": "RHEL 7.9",
  "address_ip": "192.168.0.127",
  "cpu": "1",
  "memory": "4G",
  "environment": "production",
  "disk": "20 Go"
}

Les sorties du script :

Get Auth Token
token: eyJ0eXAiOiJKV1QiLCJhbGc

POST new logical Server
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="refresh" content="0;url='http://server.tld'" />

        <title>Redirecting to http://server.tld</title>
    </head>
    <body>
        Redirecting to <a href="http://server.tld">http://server.tld</a>.
    </body>
</html>

[]

La redirection de server.tld vers le server sur lequel l'application est installée est faite par un reverse proxy APACHE sur une machine tierce pointant sur le 8000. Le server local est lancé via php artisan serve --host=0.0.0.0 --port 8000.

Une idée sur la cause de ce redirect lorsque j'appel la méthode POST alors que le GET me renvoit bien la liste vide de mes serveurs virtuels ?

Tarrke commented 1 month ago

Bon au final juste après avoir posté l'illumination est arrivée...

Nouveau Fichier json qui fonctionne :

{
  "name":"server.local.tld",
  "description":"server CAS n4",
  "operating_system": "RHEL 7.9",
  "address_ip": "192.168.0.127",
  "net_services": "https, ajp",
  "memory": "4G",
  "environment": "production",
  "cpu": 1
}
Tarrke commented 1 month ago

Le coupable était donc la taille du disque qui doit être un entier, contrairement à la taille de la RAM qui est un varchar.

Y-a-t-il un intérêt à ce que la taille des disques soit un entier et pas un varchar, ce qui nous empêche de préciser l'unité de la métrique ?

dbarzin commented 1 month ago

Je reconnais qu'il existe une petite incohérence dans le typage de ces champs. Cela ne devrait cependant pas poser de problème à l'utilisation.