WeetA

Quand normalement rime avec rarement !

Erreur Cordova après mise à jour en version 6.0.0 via npm sur Mac

Cordova 6.0.0 vient juste de sortir (https://cordova.apache.org/news/2016/01/28/tools-release.html). C'est parti pour une petite mise à jour via npm.

$ sudo npm install -g cordova@latest

La mise à jour s'est bien déroulée mais cordova ne fonctionne plus trop bien comme le montre le message d'erreur suivant:

MyAppliFolder$ cordova -v
module.js:341
    throw err;
    ^

Error: Cannot find module 'umask'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (/usr/local/lib/node_modules/cordova/node_modules/npm/lib/utils/umask.js:1:75)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12) at Module.require (module.js:367:17)

Que faire ? Supprimer Cordova et le re-installer.

$ sudo npm uninstall -g cordova
$ sudo npm install -g cordova@latest

Voila, c'est nettement mieux :)

MyAppliFolder$ cordova -v
6.0.0

[Mise à jour] Bug Distribution dans le calculateur Exchange 2013 7.5 et 7.6 --> Corrigé dans la version 7.8

15.10.2015

La version 7.8 publiée ce jour inclus le correctif présenté ci-après.

20.06.2015

Microsoft a mis à jour son calculateur pour Exchange 2013 le 19 Juin en version 7.5.

Un bug empéchant d'afficher les résultats lorsque Site Resilience était désactivé et que Active/Active (Single DAG) était sélectionné a été corrigé le lendemain dans la version 7.6.

Par contre, le bug que j'ai rencontré dans l'onglet Distribution de la version 7.5 est toujours présent dans la 7.6.

J'ai trouvé, apporté une correction et envoyé le problème à Microsoft mais je n'ai eu aucun retour à ce jour.

C'est quoi le problème ?

Vous êtes Français ? Vous avez peut-être choisi votre langue maternelle comme langue de formatage des dates, nombres dans les paramètres régionaux. Et ça, c'est un problème. Ca empêche le simulateur de distribution des copies de bases de fonctionner correctement.

Dès que vous passez 1 serveur en Fail, vous vous retrouvez avec des bases HS et ce malgré les 4 copies par défaut.

Pourquoi ?

Parce que... la formule permettant de calculer le serveur hébergeant la copie active ne fonctionne pas avec le format Français (au moins).
Elle utilise la fonction TEXT avec le caractère de formatage d qui signifie "Day without leading zero". Hors, avec le format Français, il faudrait mettre j à la place. Mais si on met j, ça ne fonctionne plus avec un format English (US).

Comment on résout ?

La formule ne gère pas réellement de formatage de date. Il s'agit juste d'une feinte pour convertir un nombre en sa version texte. On peut donc remplacer le caractère de formatage d par celui des nombres #.

Allez dans le code VBA (Menu Developper, Visual Basic)

Ensuite, ouvrez le module1

Puis allez dans la fonction Build_Table

Trouvez le code ci-dessous

    'Cycle through each DB in the design
    'Populate formula to determine which server hosts the active copy of a DB
    'Create one cell formula that looks at DB copies from all sites
    'DAGQuroumStatus
    For x = StartRow To NumDataBases + StartRow - 1
        Formula1 = "=IF(OR(DAGQuroumStatus=""" & DAGStringFail & """,ISNA(MATCH(MIN(" & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0))),""FAILED"", IF(OR(IsSecSiteActive(),AND(IF(ISNA(MATCH(TEXT(VALUE(1),""d"")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0)),MATCH(1," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0),MATCH(TEXT(VALUE(1),""d"")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0))<=calcNumAMBXServersDC1,MATCH(MIN(" & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0)<=calcNumAMBXServersDC1),AND(IF(ISNA(MATCH(TEXT(VALUE(1),""d"")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0)),MATCH(1," & DiagramStart(1) & x & ":"
        Formula2 = DiagramEnd(NumSites) & x & ",0),MATCH(TEXT(VALUE(1),""d"")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0))>17,MATCH(MIN(" & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0)>17)),GetServer(MATCH(MIN(" & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ")," & DiagramStart(1) & x & ":" & DiagramEnd(NumSites) & x & ",0)),""FAILED""))"

Remplacez toutes les occurences de

TEXT(VALUE(1),""d"")

par

TEXT(VALUE(1),""#"")

Enregistrez le tout et rafraîchissez l'onglet Distribution

Voila le résultat

Configurer le réseau sur CentOS 7

Lister les interfaces réseaux

[root ~]# nmcli d
DEVICE  TYPE      STATE      CONNECTION
ens160  ethernet  connected  ens160
ens192  ethernet  connected  ens192

Lancer l'interface utilisateur mode texte de Network Manager

[root ~]# nmtui

Sélectionner Edit a connection

Sélectionner l'interface réseau à configurer puis choisir Edit...

Editer la configuration et valider

Si vous souhaitez modifier la configuration des interfaces réseaux manuellement, il suffit d'éditer les fichiers ifcfg-<interfacename> situés dans le répertoire suivant :

/etc/sysconfig/network-scripts/

Dans les deux cas, il faut redémarrer le réseau

[root ~]# systemctl restart network

Réserver un port TCP et/ou UDP sur Windows 2008+

Avant Windows 2008, il fallait utiliser la clé de registre suivante pour réserver un port (KB 812873)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ReservedPorts

Windows 2012+ permet de réserver des ports TCP et/ou UDP à l'aide de la commande netsh:

netsh int <ipv4|ipv6> Add excludedportrange [protocol=]tcp|udp [startport=]<integer> [numberofports=]<integer> [[store=]active|persistent]

Windows 2008 et Windows 2008 R2 ne gère pas cette commande en natif. Il faut installer le hotfix fourni dans la KB 2665809

Rappel : Paramètres de wuauclt.exe

Ci-après les paramètres de wuauclt.exe

/DetectNow
/ReportNow
/RunHandlerComServer
/RunStoreAsComServer
/ShowSettingsDialog
/ResetAuthorization
/ResetEulas
/ShowWU
/ShowWindowsUpdate
/SelfUpdateManaged
/SelfUpdateUnmanaged
/UpdateNow
/ShowWUAutoScan
/ShowFeaturedUpdates
/ShowOptions
/ShowFeaturedOptInDialog
/DemoUI