3

I'm trying to programmatically spin up an Azure VM using the Python REST API wrapper. All I want is a simple VM, not part of a deployment or anything like that. I've followed the example here: http://www.windowsazure.com/en-us/develop/python/how-to-guides/service-management/#CreateVM

I've gotten the code to run, but I am not seeing any new VM in the portal; all it does is create a new cloud service that says "You have nothing deployed to the production environment." What am I doing wrong?

4

2 回答 2

3

您已经创建了一个 hosts_service(云服务),但还没有在该服务中部署任何东西。你需要做更多的事情,所以我将从你离开的地方name继续,VM 的名称在哪里:

# Where should the OS VHD be created:
media_link = 'http://portalvhdsexample.blob.core.windows.net/vhds/%s.vhd' % name

# Linux username/password details:
linux_config = azure.servicemanagement.LinuxConfigurationSet(name, 'username', 'password', True)

# Endpoint (port) configuration example, since documentation on this is lacking:
endpoint_config = azure.servicemanagement.ConfigurationSet()
endpoint_config.configuration_set_type = 'NetworkConfiguration'
endpoint1 = azure.servicemanagement.ConfigurationSetInputEndpoint(name='HTTP', protocol='tcp', port='80', local_port='80', load_balanced_endpoint_set_name=None, enable_direct_server_return=False)
endpoint2 = azure.servicemanagement.ConfigurationSetInputEndpoint(name='SSH', protocol='tcp', port='22', local_port='22', load_balanced_endpoint_set_name=None, enable_direct_server_return=False)

endpoint_config.input_endpoints.input_endpoints.append(endpoint1)
endpoint_config.input_endpoints.input_endpoints.append(endpoint2)

# Set the OS HD up for the API:
os_hd = azure.servicemanagement.OSVirtualHardDisk(image_name, media_link)

# Actually create the machine and start it up:
try:
    sms.create_virtual_machine_deployment(service_name=name, deployment_name=name,
                                          deployment_slot='production', label=name, role_name=name,
                                          system_config=linux_config, network_config=endpoint_config,
                                          os_virtual_hard_disk=os_hd, role_size='Small')

except Exception as e:
    logging.error('AZURE ERROR: %s' % str(e))
    return False

return True
于 2013-08-15T17:40:30.877 回答
0

Maybe I'm not understanding your problem, but a VM is essentially a deployment within a cloud service (think of it like a logical container for machines).

于 2013-07-29T16:19:02.043 回答