Github user aledsage commented on a diff in the pull request:

    https://github.com/apache/incubator-brooklyn/pull/650#discussion_r30684054
  
    --- Diff: 
locations/jclouds/src/main/java/brooklyn/location/jclouds/JcloudsLocation.java 
---
    @@ -712,80 +737,105 @@ protected JcloudsSshMachineLocation 
obtainOnce(ConfigBag setup) throws NoMachine
                     List<String> setupScripts = 
setup.get(JcloudsLocationConfig.CUSTOM_MACHINE_SETUP_SCRIPT_URL_LIST);
                     Collection<String> allScripts = new 
MutableList<String>().appendIfNotNull(setupScript).appendAll(setupScripts);
                     for (String setupScriptItem : allScripts) {
    -                    if (Strings.isNonBlank(setupScriptItem)) {
    -                        customisationForLogging.add("custom setup script 
"+setupScriptItem);
    +                    if (Strings.isNonBlank(setupScript)) {
    +                        customisationForLogging.add("custom setup script " 
+ setupScript);
     
                             String setupVarsString = 
setup.get(JcloudsLocationConfig.CUSTOM_MACHINE_SETUP_SCRIPT_VARS);
                             Map<String, String> substitutions = 
(setupVarsString != null)
                                     ? 
Splitter.on(",").withKeyValueSeparator(":").split(setupVarsString)
                                     : ImmutableMap.<String, String>of();
    -                        String scriptContent =  
ResourceUtils.create(this).getResourceAsString(setupScriptItem);
    +                        String scriptContent = 
ResourceUtils.create(this).getResourceAsString(setupScriptItem);
                             String script = 
TemplateProcessor.processTemplateContents(scriptContent, 
getManagementContext(), substitutions);
    -                        sshMachineLocation.execCommands("Customizing node 
" + this + " with script " + setupScriptItem, ImmutableList.of(script));
    +                        if (windows) {
    +                            
winRmMachineLocation.executeScript(ImmutableList.copyOf((script.replace("\r", 
"").split("\n"))));
    +                        } else {
    +                            
jcloudsSshMachineLocation.execCommands("Customizing node " + this, 
ImmutableList.of(script));
    +                        }
                         }
                     }
     
                     if 
(setup.get(JcloudsLocationConfig.MAP_DEV_RANDOM_TO_DEV_URANDOM)) {
    -                    customisationForLogging.add("point /dev/random to 
urandom");
    +                    if (windows) {
    +                        LOG.warn("Ignoring flag 
MAP_DEV_RANDOM_TO_DEV_URANDOM on Windows location {}", winRmMachineLocation);
    +                    } else {
    +                        customisationForLogging.add("point /dev/random to 
urandom");
     
    -                    sshMachineLocation.execCommands("using urandom instead 
of random",
    -                            Arrays.asList("sudo mv /dev/random 
/dev/random-real", "sudo ln -s /dev/urandom /dev/random"));
    +                        jcloudsSshMachineLocation.execCommands("using 
urandom instead of random",
    +                                Arrays.asList("sudo mv /dev/random 
/dev/random-real", "sudo ln -s /dev/urandom /dev/random"));
    +                    }
                     }
     
     
                     if (setup.get(GENERATE_HOSTNAME)) {
    -                    customisationForLogging.add("configure hostname");
    +                    if (windows) {
    +                        // TODO: Generate Windows Hostname
    +                        LOG.warn("Ignoring flag GENERATE_HOSTNAME on 
Windows location {}", winRmMachineLocation);
    --- End diff --
    
    We should list (in docs / limitations) the main config options that are not 
supported (yet) on windows (rather than the user/customer discovering it by 
trying to configure it and eventually finding this log message, or just it 
being ignored silently (as would be the case for user/password configuration).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to