Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows Worker Fleet Example #194

Open
crashGoBoom opened this issue Oct 28, 2020 · 2 comments
Open

Windows Worker Fleet Example #194

crashGoBoom opened this issue Oct 28, 2020 · 2 comments
Labels
documentation This is a problem with documentation. feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged.

Comments

@crashGoBoom
Copy link

Hi! The current example seems to be for linux support only. If there is Windows support can this be added as an example / documented?

Thank you!


This is a 📕 documentation issue

@crashGoBoom crashGoBoom added documentation This is a problem with documentation. feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged. labels Oct 28, 2020
@statik
Copy link

statik commented Oct 28, 2020

I'm interested in this as well, we have been able to deploy the RFDK examples but haven't been able to get a windows worker node up and running.

@ddneilson
Copy link
Contributor

Adding a Windows worker fleet to the examples is definitely something that we'll do. In the meantime, here are the modifications that you'll need to make; I'm going to assume the Python example, but the conversion to the Typescript example is just syntax.

  1. The fleet of Workers is created here --
  2. To create a Windows fleet instead of a Linux one, all that we need to do is change the worker_machine_image property ( https://docs.aws.amazon.com/rfdk/api/latest/docs/aws-rfdk.deadline.WorkerInstanceFleet.html#workermachineimage ) to an image that is based off of Windows instead of Linux.
  3. In the example, we define the machine image in the main app here --
    deadline_client_image = MachineImage.generic_linux(config.deadline_client_linux_ami_map)
    -- which uses the configuration value that is defined here --
    self.deadline_client_linux_ami_map: Mapping[str, str] = {'region': 'ami-id'}
  4. In the configuration, add a new property called deadline_client_windows_ami_map and define it the same way you would the Linux one except use a Windows-based AMI instead of a Linux one.
  5. Change the deadline_client_image = MachineImage.generic_linux(config.deadline_client_linux_ami_map) line from the app.py into deadline_client_image = MachineImage.generic_windows(config.deadline_client_windows_ami_map) (this is just using the CDK MachineImage class -- https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.MachineImage.html )

If you would like multiple worker fleets (ex: one Linux & one Windows) then just modify the ComputeTierProps to add properties for each of the different client images that you want to use, and add a new instance of WorkerInstanceFleet in the Compute Tier for each of those added properties.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation This is a problem with documentation. feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged.
Projects
None yet
Development

No branches or pull requests

3 participants