Mise en Production du module Hyrule

Version

  1. Version initial, pour qualification de l'upgrade automatique
  2. Mise à jour des jeux de données, correction des SubscriptionAccountId (qui était des numéro U et non A)
  3. Suite à insertion en base des JDD, récupération des SubscriptionAccount UUID
  4. Recette Warning day : configuration des jours en conséquence / création d'un utilisateur spécifique asgard
  5. Mise à jour partielle pour être conforme au deuxième jeux de données de recette
  6. Mise à jour partielle pour être conforme à la nouvelle API:
    1. mise à jour de la conf
    2. nouveaux JDD
  7. Mise à jour des JDD: inversion ID client/abonnement
  8. Ajout de la configuration pour le listing d'email fournis à Hermod pour reporting & ajout d'un WARNING

Livrable

Le livrable est le livrable Asgard-admin habituelle.

Il est nécessaire d'activer le profil SpringBoot hermes-threshold;

Warning

CRON / AlarmService

Le service "com.oodrive.asgard.admin.hyrule.usecase.ActivateRuleEngineUsecase" active TriggeredAlarm avec pour valeur "applyRules".

A la suite de la livraison, il faut s'assurer de l'activation de ce CRON (action habituellement automatique)

Variables d'environnement

Il est nécessaire d'ajouter les variables d'environnement suivantes :

KeyValue
storage.rootvaleur actuelle, pas de changement
ZUORA_PASSWORDaigh7Phi
ZUORA_USERNAMEa.joye.ext+SBX@oodrive.com
ZUORA_APIKEYo1sk61qf1zefei8v3opmei2av75mdjz40ks6uuxaqrkaihb1256n35pghuukxv1y

Properties

les fichier application.yml devra contenir:

  • Informations pour le moteur de règle, avec :
    • warningDay: jour de contrôle des comptes en dépassement sans mécanisme d'upgrade;
    • upgradeDay: jour de contrôle des comptes en dépassement avec mécanisme d'upgrade;
    • emailRecipients: liste d'UUID client pour fournir les emails cible.
#HYRULE
hyrule:
  warningDay: 1
  upgradeDay: 11
  emailRecipients: 1fbb63e8-47f0-4b08-86fc-fc10dba14faa,2fbb63e8-47f0-4b08-86fc-fc10dba14fab

Informations en relations avec Zuora, avec:

  • apiKey: clef d'API Zuora, pour le service de mailling Zuora, définit dans les variables systèmes;
  • username: nom d'utilisateur Zuora avec droit d'accès à l'API Order Zuora, définit dans les variables systèmes;
  • password: mot de passe d'utilisateur Zuora avec droit d'accès à l'API Order Zuora, définit dans les variables systèmes;
  • maxAttempt: nombre de tentative pour chaque appel aux API Zuora;
  • retryTimeInterval: temps entre chaque tentative pour chaque appel aux API Zuora;
  • zuoraUrl: URL racine de l'API Order Zuora;
  • zuoraWorkflowUrl: URL racine du service de mailling Zuora;
  • createOrderUrl: URL d'accès à la ressource Order, pour l'API Order Zuora;
  • sendMailWorkflowUrl: URL d'accès à la ressource run, pour le service de mailling Zuora.
#ZUORA
zuora:
  apiKey: ${ZUORA_APIKEY}
  username: ${ZUORA_USERNAME}
  password: ${ZUORA_PASSWORD}
  maxAttempt: 3
  retryTimeInterval: 3000
  zuoraUrl: "https://rest.sandbox.eu.zuora.com"
  zuoraWorkflowUrl: "https://workflow.apps.zuora.com/api/v1/workflows/"
  createOrderUrl: "/v1/orders"
  sendQuery: "/v1/action/query"
  sendMailWorkflowUrl: "21149/run"

Information pour l'autentification Oauth2, avec:

  • auth-host: URL pour l'authentification Oauth2;
  • client-id: id permettant de s'authentifier en tant que client Zuora;
  • client-secret: secret permettant de s'authentifier en tant que client Zuora;
#OAUTH2
oauth:
  auth-host: http://localhost:8080/auth ##DONNEES EXEMPLE
  client-id: oodrive ##DONNEES EXEMPLE
  client-secret: oodrivesecret ##DONNEES EXEMPLE

Données

Pour que le module Hyrule (Plateforme/Asgard-Admin) puisse communiquer avec Zuora, les identifiants référent l'objet traité doivent être inséré dans la table zuora_subscription du schéma asgard.

Récapitulatif

Six jeux de données sont actuellement identifiés, cinq avec toutes les informations :

juillet

TypeVenteNOMP.SubscriptionAccount UUIDP.SubscIDP.ClientIDZ.existingaccountnumberZ.subscriptionnumberZ.chargenumber
🗹AdBackup Pro V5 - 5Go (AD-PRV500005)DirectOFR/HERMES UA-Céline Heydorff8c8aa816-26e0-4918-af5b-c97a48ff9a09A4382250C4382249BA00292879S00082278C00440989
🗹AdBackup Pro V5 2014 - 5 Go (AD-PR140005G)Indirect cosellOFR/HERMES UA-Arnaud JOYEf83c171d-c5b4-4d7e-b713-eb8933fab740A4382253C4382252BA00292881S00082277C00440985
🗹Oodrive Vision – 5Go (AV-VISST005G)Indirecte resell - OFR/PARTENAIRE RESELL Sonia DendaniElodie Veillet915ede95-9fad-4790-a421-5c7870e61de2A4384440
A4384454
C4384453BA00292880S00082281C00441002
🗹Adbackup Pro - 10 Go stockage mutualisé (AD-PR17010G)Indirecte resell- OFR/PARTENAIRE RESELL Sonia DendaniSonia Dendaniab1bcdd3-9851-4e25-9c48-06883316c4e3A4382272C4382271BA00292880S00082280C00440997
🗹Adbackup Pro Mono-Licence-5Go (AD-PRMO05000)Indirecte resell- OFR/PARTENAIRE RESELL Sonia DendaniJean-Louis Divol89ea7cfe-244f-4d47-820b-6f488f565fc7A4382256C4382255BA00292880S00082279C00440993
🗹Oodrive Vision 2015 v2 – 5Go (AV-VIS2ST005G)Indirecte cosellKatherine Landu?A4384440C4384439BA00292879S00082284C00441016

old

TypeVenteNOMP.SubscriptionAccount UUIDP.SubscriptionAccount IDZ.existingaccountnumberZ.subscriptionnumberZ.rateplanidZ.chargenumber
AdBackup Pro V5 - 5Go (AD-PRV500005)DirectOFR/HERMES UA-Céline Heydorff8c8aa816-26e0-4918-af5b-c97a48ff9a09A4382250BA00292879S000822788adc8f99793ad32b017941de399a2b9aC00440989
AdBackup Pro V5 2014 - 5 Go (AD-PR140005G)Indirect cosellOFR/HERMES UA-Arnaud JOYEf83c171d-c5b4-4d7e-b713-eb8933fab740A4382253BA00292881S000822778adce421793af2f1017941d79ace5838C00440985
Oodrive Vision – 5Go (AV-VISST005G)Indirecte resell - OFR/PARTENAIRE RESELL Sonia DendaniElodie Veillet915ede95-9fad-4790-a421-5c7870e61de2A4384440BA00292880S000822818adce421793af2f1017941e67a9f6155C00441005
Adbackup Pro - 10 Go stockage mutualisé (AD-PR17010G)Indirecte resell- OFR/PARTENAIRE RESELL Sonia DendaniSonia Dendaniab1bcdd3-9851-4e25-9c48-06883316c4e3A4382272BA00292880S000822808adce421793af2f1017941e55aca608fC00440997
Adbackup Pro Mono-Licence-5Go (AD-PRMO05000)Indirecte resell- OFR/PARTENAIRE RESELL Sonia DendaniJean-Louis Divol89ea7cfe-244f-4d47-820b-6f488f565fc7A4382256BA00292880S000822798adce421793af2f1017941e47f125ffeC00440993
Oodrive Vision 2015 v2 – 5Go (AV-VIS2ST005G)Indirecte cosellKatherine Landu??????

Code SQL

Voici le code nécessaire pour l'insertion en base Plateforme PROD des JDD de recette 2 :

Céline Heydorff

/*CLIENT*/
INSERT INTO  asgard.zuora_client (client_uuid, zaccountnumber) (
    SELECT
        uuid,
        'BA00292879'
    FROM public.account
    WHERE account.account_id = '4382249'
);
/*SUBSCRIPTION*/
INSERT INTO asgard.zuora_subscription (subscription_uuid, zsubscriptionnumber, client_uuid) (
    SELECT
        subsc.uuid,
        'S00082278',
        acc.uuid
    FROM public.account acc, public.account subsc
    WHERE acc.account_id = '4382249'
      AND subsc.account_id = '4382250'
);
/*PRODUCT*/
INSERT INTO asgard.zuora_product (marketing_product_id, subscription_uuid, zchargenumber)  (
    SELECT
        'BACKUP_STORAGE',
        subsc.uuid,
        'C00440989'
    FROM public.account subsc
    WHERE subsc.account_id = '4382250'
);

Arnaud JOYE

/*Arnaud Joye*/
/*CLIENT*/
INSERT INTO  asgard.zuora_client (client_uuid, zaccountnumber) (
    SELECT
        uuid,
        'BA00292881'
    FROM public.account
    WHERE account.account_id = '4382252'
);
/*SUBSCRIPTION*/
INSERT INTO asgard.zuora_subscription (subscription_uuid, zsubscriptionnumber, client_uuid) (
    SELECT
        subsc.uuid,
        'S00082277',
        acc.uuid
    FROM public.account acc, public.account subsc
    WHERE acc.account_id = '4382252'
      AND subsc.account_id = '4382253'
);
/*PRODUCT*/
INSERT INTO asgard.zuora_product (marketing_product_id, subscription_uuid, zchargenumber)  (
    SELECT
        'BACKUP_STORAGE',
        subsc.uuid,
        'C00440985'
    FROM public.account subsc
    WHERE subsc.account_id = '4382253'
);

Elodie Veillet

/*CLIENT*/
INSERT INTO  asgard.zuora_client (client_uuid, zaccountnumber) (
    SELECT
        uuid,
        'BA00292880'
    FROM public.account
    WHERE account.account_id = '4384453'
);
/*SUBSCRIPTION*/
INSERT INTO asgard.zuora_subscription (subscription_uuid, zsubscriptionnumber, client_uuid) (
    SELECT
        subsc.uuid,
        'S00082281',
        acc.uuid
    FROM public.account acc, public.account subsc
    WHERE acc.account_id = '4384453'
      AND subsc.account_id = '4384454'
);
/*PRODUCT*/
INSERT INTO asgard.zuora_product (marketing_product_id, subscription_uuid, zchargenumber)  (
    SELECT
        'BACKUP_STORAGE',
        subsc.uuid,
        'C00441002'
    FROM public.account subsc
    WHERE subsc.account_id = '4384454'
);

Sonia Dendani

/*CLIENT*/
INSERT INTO  asgard.zuora_client (client_uuid, zaccountnumber) (
    SELECT
        uuid,
        'BA00292880'
    FROM public.account
    WHERE account.account_id = '4382271'
);
/*SUBSCRIPTION*/
INSERT INTO asgard.zuora_subscription (subscription_uuid, zsubscriptionnumber, client_uuid) (
    SELECT
        subsc.uuid,
        'S00082280',
        acc.uuid
    FROM public.account acc, public.account subsc
    WHERE acc.account_id = '4382271'
      AND subsc.account_id = '4382272'
);
/*PRODUCT*/
INSERT INTO asgard.zuora_product (marketing_product_id, subscription_uuid, zchargenumber)  (
    SELECT
        'BACKUP_STORAGE',
        subsc.uuid,
        'C00440997'
    FROM public.account subsc
    WHERE subsc.account_id = '4382272'
);

Jean-Louis Divol

/*CLIENT*/
INSERT INTO  asgard.zuora_client (client_uuid, zaccountnumber) (
    SELECT
        uuid,
        'BA00292880'
    FROM public.account
    WHERE account.account_id = '4382255'
);
/*SUBSCRIPTION*/
INSERT INTO asgard.zuora_subscription (subscription_uuid, zsubscriptionnumber, client_uuid) (
    SELECT
        subsc.uuid,
        'S00082279',
        acc.uuid
    FROM public.account acc, public.account subsc
    WHERE acc.account_id = '4382255'
      AND subsc.account_id = '4382256'
);
/*PRODUCT*/
INSERT INTO asgard.zuora_product (marketing_product_id, subscription_uuid, zchargenumber)  (
    SELECT
        'BACKUP_STORAGE',
        subsc.uuid,
        'C00440993'
    FROM public.account subsc
    WHERE subsc.account_id = '4382256'
);

Katherine Landu

/*CLIENT*/
INSERT INTO  asgard.zuora_client (client_uuid, zaccountnumber) (
    SELECT
        uuid,
        'BA00292879'
    FROM public.account
    WHERE account.account_id = 'C4384439'
);
/*SUBSCRIPTION*/
INSERT INTO asgard.zuora_subscription (subscription_uuid, zsubscriptionnumber, client_uuid) (
    SELECT
        subsc.uuid,
        'S00082284',
        acc.uuid
    FROM public.account acc, public.account subsc
    WHERE acc.account_id = 'C4384439'
      AND subsc.account_id = 'C4384440'
);
/*PRODUCT*/
INSERT INTO asgard.zuora_product (marketing_product_id, subscription_uuid, zchargenumber)  (
    SELECT
        'BACKUP_STORAGE',
        subsc.uuid,
        'C00441016'
    FROM public.account subsc
    WHERE subsc.account_id = 'C4384440'
);

Backlinks