Hello folks,
I’ve been exploring MaaS for automated provisioning with a python script that does BMC config and then initate maas provisioning. So far everything worked well, until I sent the deploy command. It only deploys the default ubuntu release.
Here is my rest code,
def machine_deploy(self, machine_id:str, release:str, osystem="exsi", max_retry:int = 0, current_retry:int = 0, timeout=300):
payload = {"distro_series": release, "osystem" : osystem}
print(payload)
resp = self.session.post(
url=f"{self.api_url}/machines/{machine_id}/?op=deploy",
json=payload,
**self.req_common_params,
)
try:
resp.raise_for_status()
logger.info("Machine Deployement Initiated.")
return
except Exception as e:
logger.error(e, resp.content)
if max_retry and current_retry!= max_retry:
logger.info(f"Retry Deploy - Attempt {current_retry + 1} / {max_retry}")
time.sleep(timeout)
self.machine_deploy(machine_id, release, max_retry, current_retry+1, timeout=timeout)
resp.raise_for_status()
return resp.json()
maas.machine_deploy(machine_id=machine.system_id, release="esxi/7.0.3.m", max_retry=3)
Let me know how do I deploy the desired esxi image.