Reputation: 170489
New Azure role sizes were announced recently and I want to test my service on STANDARD_D1
. So I open my service definition file which starts something like this
<ServiceDefinition name="MyService"
xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"
schemaVersion="2012-10.1.8">
<WebRole name="Whatever" vmsize="Small">
and change Small
to STANDARD_D1
. The definition now fails validation - STANDARD_D1
is not supported by the schema version I use.
It looks like perhaps my Azure SDK version is "too old" but.. Suppose I update to a later SDK version and then some new "sizes" appear - will I have to update again or is there any way to make use of new "sizes" without updating the SDK?
How do I make it work? Do I have to update to a newer SDK or is there perhaps some workaround?
Upvotes: 1
Views: 265
Reputation: 1078
Just update the SDK, I did this and worked first time after having the same issue as you.
Upvotes: 2
Reputation: 136176
I haven't tried it (so I may be wrong) but can you try some hack? Basically the schema is validated via schema definition file stored in C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\[your SDK version]\schemas
folder (ServiceDefinitionSchema.xsd
). Can you try by changing that file to include your desired VM size in there? The node you want to manipulate is RoleSize
:
<xs:simpleType name="RoleSize">
<xs:restriction base="xs:string">
<xs:enumeration value="ExtraSmall" />
<xs:enumeration value="Small" />
<xs:enumeration value="Medium" />
<xs:enumeration value="Large" />
<xs:enumeration value="ExtraLarge" />
<xs:enumeration value="A5" />
<xs:enumeration value="A6" />
<xs:enumeration value="A7" />
<xs:enumeration value="A8" />
<xs:enumeration value="A9" />
</xs:restriction>
</xs:simpleType>
Please give it a try and let me know if that works. If not, then I will delete my answer.
Upvotes: 0