"Deploy profile on Bare metal target" fixlet and server automation

Hi,
I am trying to use the fixlet “Deploy profile on Bare metal target” as the first step of an automation plan which should install a Windows 10 OS and then a bunch of softwares (in the second step). The problem is that the fixlet sets its status to “Completed” as soon as the installation starts, and this initializes the second step of the automation plan, which of course can’t be succesful because the installation of the OS is not completed. Am I doing something wrong? I read that there are other fixlets that can be used to deploy an OS but those require the creation of a RAD profile. Besides, it seems they can’t be used to deploy Windows 10.

Hello,
you are right: RAD profiles are deprecated and can’t be used for Windows 10 deployments.
That fixlet returns the Complete status because it’s done when it schedules the deployment of the selected profile on the bare metal server’s task list. The bare metal server will actually deploy the bare metal profile when the specified target will be available for deployment.
Target for “Deploy profile on Bare metal targets” is a bare metal target (identified through it’s IP address) while the target for the step to install the bunch of software is the native agent (identified through its hostname). The native agent will be installed on the target computer during the deployment.
What I suggest is to set, as first step in the action plan, the hostname on the bare metal target with fixlet “Change bare metal target settings” (target is bare metal target), then to add the step to “Deploy profile on Bare metal targets” (target is bare metal target) and finally the step with the bunch of software whose target is the native agent, whose entry is not listed among computers yet but you can manually type the hostname, the one set before. The last step will be started when the native agent entry appears.
Thanks.

Hi sergio, thanks for your answer. Assuming that what you suggested works (I still have to try it), it still involves many “manual steps”. I would like to use server automation to deploy the os and softwares to many targets at the same time, and the solution you posted implies that I have to create a step for each bare metal target to change its name, and then manually insert all the names in the step that installs the software.This unfortunately really limits the reusability of the automation plan and the power of the server automation module for my use case. Do you have other suggestions? Thanks in advance

Disclaimer: just a thought, I haven’t tried this…

You could try having your Bare Metal Profile apply a custom client setting to “tag” the machine, something like “NewComputer:true”.

Create a Retrieved Property to pull this as a bes property.

Dynamically target your “install software” step against computers with the matching property, and include a task in your baseline or another automation step to remove that client setting.

1 Like

Hi Jason, I tried what you suggested but it doesn’t work. If I target all the clients with the property “NewComputer” set to “true” in the second step of the automation plan, the console doesn’t find any clients with the property set to “true” and I can’t run the plan. I thought that the property was evaluated dynamically at runtime but it isn’t. I also tried to create an automatic group which included all clients with the property set to true and set it as the target of the step but I have the same problem of the OP. The second step of the automation plan doesn’t wait the completion of the first step. Setting the hostname manually as suggested by @sergio_tarchi worked.

1 Like

Thanks for the details and response. This will definitely influence my plans for automation.

Hi Marco,
a possible solution to use could be to set an hostname rule with variables in the bare metal profiles (instead of using the fixlet to set an hostname to the bare metal target) and target the second step to a list of computers to insert manually (but all at once).
For example, you use the rule pc-[IP] in your bare metal profile, than you create a plan that has as first step the “Deploy profile on Bare metal targets” sent to the bare metal targets 10.0.0.1, 10.0.0.2. 10.0.0.3 and 10.0.0.4 and as second step the install of the bunch of software sent to native clients pc-10001, pc10002, pc-10003, pc10004
Thanks.

Thanks for your answer. Ultimately, from what I understood, I have to insert manually the hostnames in order for the second step to wait the completion of the first, is it right? I guess I’ll do this way then.

Hi Marco,
yes, the second step will start when the native clients are added to the computers list, after being installed via bare metal target.
Thanks.

1 Like

Hi sergio, this method works but it’s not flexible. I wish there was another solution. I’ve seen that @cmcannady liked @JasonWalker’s solution, but as I said before, it doesn’t work. Maybe he will be able to suggest a way to solve the problem. Thanks everybody for the assistance.