|  | 102 | === two (or more) children have the same name in merge() === | 
          
            |  | 103 |  | 
          
            |  | 104 | If you have some site-specific actions done after the `inlcude { 'machine-types/wn' }` and involving `npush` operations (or an explicit call to function `merge`), you may have the following error during cloning: | 
          
            |  | 105 | {{{ | 
          
            |  | 106 | two (or more) children have the same name in merge() | 
          
            |  | 107 | }}} | 
          
            |  | 108 |  | 
          
            |  | 109 | This error results from the fact the entry you try to add to the nlist is already present in the reference profile and cannot be added twice. There are several workarounds possible to this problem: | 
          
            |  | 110 | * Use `WN_CONFIG_SITE` (specific to WN) or `GLITE_BASE_CONFIG_SITE` (executed for all gLite machines) to execute a template containing all the site specific actions. This template will not be reexecuted when profile is cloned. This is the recommended and the most efficient method. | 
          
            |  | 111 | * Conditionally execute site-specific action by testing variable `PROFILE_CLONING_CLONED_NODE`. | 
          
            |  | 112 | * Use a direct assignment to the nlist rather than using `npush` to overwrite the entry in the reference node rather than add a new one. This is the least recommended method as it can be pretty inefficient. To do it, use Pan code like: | 
          
            |  | 113 | {{{ | 
          
            |  | 114 | variable MY_NLIST = { | 
          
            |  | 115 | SELF['myentry'] = 'test'; | 
          
            |  | 116 | SELF; | 
          
            |  | 117 | }; | 
          
            |  | 118 | }}} |