Merge lp://staging/~abentley/juju-release-tools/azure-images into lp://staging/juju-release-tools

Proposed by Aaron Bentley
Status: Merged
Merged at revision: 323
Proposed branch: lp://staging/~abentley/juju-release-tools/azure-images
Merge into: lp://staging/juju-release-tools
Diff against target: 335 lines (+319/-0)
3 files modified
.bzrignore (+4/-0)
azure_image_streams.py (+152/-0)
tests/test_azure_image_streams.py (+163/-0)
To merge this branch: bzr merge lp://staging/~abentley/juju-release-tools/azure-images
Reviewer Review Type Date Requested Status
Curtis Hovey (community) code Approve
Review via email: mp+300132@code.staging.launchpad.net

Commit message

Generate simplestreams items for CentOS and Windows on Azure.

Description of the change

This branch supports generating CentOS and Windows Items for Azure.

In this form, it cannot be used. A follow-on branch adds this functionality to the make_aws_images script.

It uses the same specs that Andrew Wilkins reports Juju uses for finding CentOS and Windows images.

It uses stringified integers as version_name, to ensure that the latest version is correctly selected.

It queries across locations, because not all versions are available in all locations.

To post a comment you must log in.
Revision history for this message
Curtis Hovey (sinzui) wrote :

Thank you. I think we need to delay this merge until we can install azure rc5 on to machines.

review: Approve (code)
Revision history for this message
Aaron Bentley (abentley) wrote :
Download full text (3.2 KiB)

On 2016-07-18 01:08 PM, Curtis Hovey wrote:
> Review: Approve code
>
> Thank you. I think we need to delay this merge until we can install azure rc5 on to machines.

Okay.

> Diff comments:
>
>>
>> === added file 'azure_image_streams.py'
>> --- azure_image_streams.py 1970-01-01 00:00:00 +0000
>> +++ azure_image_streams.py 2016-07-14 21:20:24 +0000
>> @@ -0,0 +1,152 @@
>> +import logging
>> +
>> +# Tested on Azure 2.0 API
>
> You mean.
> # Tested on Azure 2.0 rc5 API

Yes. I was a big vague on which version I was testing against at the
time, because "pip freeze" was broken and I wasn't aware of "pip list".

> Because the API for 2.0 rc3 is different and not compatible. Since azure is breaking API in RCs, we cannot arbiltrarilly upgrade azure 2.0. (We cannot upgrade anyway. They require us to call delete the install and do fresh upgrades.)

>> +IMAGE_SPEC = [
>> + ('win81', MS_VSTUDIO, WINDOWS, '8.1-Enterprise-N'),
>> + ('win10', MS_VSTUDIO, WINDOWS, '10-Enterprise-N'),
>> + ('win2012', MS_SERVER, WINDOWS_SERVER, '2012-Datacenter'),
>> + ('win2012r2', MS_SERVER, WINDOWS_SERVER, '2012-R2-Datacenter'),
>> + ('centos7', 'OpenLogic', 'CentOS', '7.1'),
>
> I think this means that we will need to watch for new releases of Windows and Centos.

Yes, though the requirement for CentOS was already true on the AWS side.
 Technically, we only need to worry about releases that Juju cares
about, though.

I won't consider us done-done until we have a process in place for
updating the images, potentially including testing them.

>> +ITEM_NAMES = {
>> + "Australia East": "auee1i3",
>> + "Australia Southeast": "ause1i3",
>> + "Brazil South": "brss1i3",
>> + "Canada Central": "cacc1i3",
>> + "Canada East": "caee1i3",
>> + "Central India": "incc1i3",
>> + "Central US": "uscc1i3",
>> + "China East": "cnee1i3",
>> + "China North": "cnnn1i3",
>> + "East Asia": "asee1i3",
>> + "East US 2": "usee2i3",
>> + "East US": "usee1i3",
>> + "Japan East": "jpee1i3",
>> + "Japan West": "jpww1i3",
>> + "North Central US": "usnc1i3",
>> + "North Europe": "eunn1i3",
>> + "South Central US": "ussc1i3",
>> + "Southeast Asia": "asse1i3",
>> + "South India": "inss1i3",
>> + "UK North": "gbnn1i3",
>> + "UK South 2": "gbss2i3",
>> + "West Central US": "uswc1i3",
>> + "West Europe": "euww1i3",
>> + "West India": "inww1i3",
>> + "West US 2": "usww2i3",
>> + "West US": "usww1i3",
>> +}
>
> Does the azure api let us discover new regions?

Yes, it does. This script uses SubscriptionClient.list_locations to
find all current locations. This means that we will break hard when a
new location is added, until we update ITEM_NAMES. Azure location
naming is too lackadaisical for us to auto-generate item names, as the
equivalent AWS functionality does.

> I scan http://cloud-images.ubuntu.com/releases/streams/v1/com.ubuntu.cloud:released:azure.sjson when I want to look for new regions.

That would actually miss a region for Azure. They have omitted South
Central US. I believe this is accidental:
https://bugs.launchpad.net/bugs/1602847

OTOH, we are currently missing China support. I believe we will ...

Read more...

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches