#22 Fix F24 atomic.
Merged 3 years ago by robyduck. Opened 3 years ago by ralph.

file modified
+108 -110

@@ -249,149 +249,147 @@ 

  # EC2 AMI IDs

  

  HVM_base_AMI={

-     'us-east-1':        'ami-775c9b1a',     # Virginia

-     'us-west-2':        'ami-cf00c5af',     # Oregon

-     'us-west-1':        'ami-4e98dd2e',     # California

-     'eu-west-1':        'ami-19fa646a',     # Ireland

-     'eu-central-1':     'ami-62628b0d',     # Frankfurt

-     'ap-southeast-1':   'ami-fde0339e',     # Singapore

-     'ap-northeast-1':   'ami-0c0be16d',     # Tokyo

-     'ap-southeast-2':   'ami-90a38af3',     # Sydney

-     'sa-east-1':        'ami-3ebf3552'      # Sao Paolo

+     #'us-east-1':        'ami-775c9b1a',     # Virginia

+     #'us-west-2':        'ami-cf00c5af',     # Oregon

+     #'us-west-1':        'ami-4e98dd2e',     # California

+     #'eu-west-1':        'ami-19fa646a',     # Ireland

+     #'eu-central-1':     'ami-62628b0d',     # Frankfurt

+     #'ap-southeast-1':   'ami-fde0339e',     # Singapore

+     #'ap-northeast-1':   'ami-0c0be16d',     # Tokyo

+     #'ap-southeast-2':   'ami-90a38af3',     # Sydney

+     #'sa-east-1':        'ami-3ebf3552'      # Sao Paolo

  }

  

  GP2_HVM_base_AMI={

-     'us-east-1':        'ami-2a5d9a47',     # Virginia

-     'us-west-2':        'ami-dcfe3bbc',     # Oregon

-     'us-west-1':        'ami-aa9edbca',     # California

-     'eu-west-1':        'ami-16fd6365',     # Ireland

-     'eu-central-1':     'ami-a36188cc',     # Frankfurt

-     'ap-southeast-1':   'ami-1be73478',     # Singapore

-     'ap-northeast-1':   'ami-8a35dfeb',     # Tokyo

-     'ap-southeast-2':   'ami-93a38af0',     # Sydney

-     'sa-east-1':        'ami-0a46cc66'      # Sao Paolo

+     #'us-east-1':        'ami-2a5d9a47',     # Virginia

+     #'us-west-2':        'ami-dcfe3bbc',     # Oregon

+     #'us-west-1':        'ami-aa9edbca',     # California

+     #'eu-west-1':        'ami-16fd6365',     # Ireland

+     #'eu-central-1':     'ami-a36188cc',     # Frankfurt

+     #'ap-southeast-1':   'ami-1be73478',     # Singapore

+     #'ap-northeast-1':   'ami-8a35dfeb',     # Tokyo

+     #'ap-southeast-2':   'ami-93a38af0',     # Sydney

+     #'sa-east-1':        'ami-0a46cc66'      # Sao Paolo

  }

  

  PV_base_AMI={

-     'us-east-1':        'ami-015b9c6c',     # Virginia

-     'us-west-2':        'ami-3c05c05c',     # Oregon

-     'us-west-1':        'ami-189edb78',     # California

-     'eu-west-1':        'ami-2afd6359',     # Ireland

-     'eu-central-1':     'ami-f561889a',     # Frankfurt

-     'ap-southeast-1':   'ami-f7e13294',     # Singapore

-     'ap-northeast-1':   'ami-6a0ee40b',     # Tokyo

-     'ap-southeast-2':   'ami-28a38a4b',     # Sydney

-     'sa-east-1':        'ami-e34fc58f'      # Sao Paolo

+     #'us-east-1':        'ami-015b9c6c',     # Virginia

+     #'us-west-2':        'ami-3c05c05c',     # Oregon

+     #'us-west-1':        'ami-189edb78',     # California

+     #'eu-west-1':        'ami-2afd6359',     # Ireland

+     #'eu-central-1':     'ami-f561889a',     # Frankfurt

+     #'ap-southeast-1':   'ami-f7e13294',     # Singapore

+     #'ap-northeast-1':   'ami-6a0ee40b',     # Tokyo

+     #'ap-southeast-2':   'ami-28a38a4b',     # Sydney

+     #'sa-east-1':        'ami-e34fc58f'      # Sao Paolo

  }

  

  GP2_PV_base_AMI={

-     'us-east-1':        'ami-095b9c64',     # Virginia

-     'us-west-2':        'ami-fa06c39a',     # Oregon

-     'us-west-1':        'ami-a99fdac9',     # California

-     'eu-west-1':        'ami-28ff615b',     # Ireland

-     'eu-central-1':     'ami-6e638a01',     # Frankfurt

-     'ap-southeast-1':   'ami-28e1324b',     # Singapore

-     'ap-northeast-1':   'ami-b30ae0d2',     # Tokyo

-     'ap-southeast-2':   'ami-f4a58c97',     # Sydney

-     'sa-east-1':        'ami-4346cc2f'      # Sao Paolo

+     #'us-east-1':        'ami-095b9c64',     # Virginia

+     #'us-west-2':        'ami-fa06c39a',     # Oregon

+     #'us-west-1':        'ami-a99fdac9',     # California

+     #'eu-west-1':        'ami-28ff615b',     # Ireland

+     #'eu-central-1':     'ami-6e638a01',     # Frankfurt

+     #'ap-southeast-1':   'ami-28e1324b',     # Singapore

+     #'ap-northeast-1':   'ami-b30ae0d2',     # Tokyo

+     #'ap-southeast-2':   'ami-f4a58c97',     # Sydney

+     #'sa-east-1':        'ami-4346cc2f'      # Sao Paolo

  }

  

  HVM_atomic_AMI={

-     'us-east-1':        'ami-f18fff9b',     # Virginia

-     'us-west-2':        'ami-79e8d449',     # Oregon

-     'us-west-1':        'ami-cb2337aa',     # California

-     'eu-west-1':        'ami-ca08b0a6',     # Ireland

-     'eu-central-1':     'ami-5208d721',     # Frankfurt

-     'ap-southeast-1':   'ami-06d68965',     # Singapore

-     'ap-northeast-1':   'ami-691f3a07',     # Tokyo

-     'ap-southeast-2':   'ami-5c736030',     # Sydney

-     'sa-east-1':        'ami-64ff9304'      # Sao Paolo

+     #'us-east-1':        'ami-f18fff9b',     # Virginia

+     #'us-west-2':        'ami-79e8d449',     # Oregon

+     #'us-west-1':        'ami-cb2337aa',     # California

+     #'eu-west-1':        'ami-ca08b0a6',     # Ireland

+     #'eu-central-1':     'ami-5208d721',     # Frankfurt

+     #'ap-southeast-1':   'ami-06d68965',     # Singapore

+     #'ap-northeast-1':   'ami-691f3a07',     # Tokyo

+     #'ap-southeast-2':   'ami-5c736030',     # Sydney

+     #'sa-east-1':        'ami-64ff9304'      # Sao Paolo

  }

  

  GP2_HVM_atomic_AMI={

-     'us-east-1':        'ami-e38cfc89',     # Virginia

-     'us-west-2':        'ami-182c3879',     # Oregon

-     'us-west-1':        'ami-0efc906e',     # California

-     'eu-west-1':        'ami-120ad561',     # Ireland

-     'eu-central-1':     'ami-d94c5fb5',     # Frankfurt

-     'ap-southeast-1':   'ami-3cb97e5f',     # Singapore

-     'ap-northeast-1':   'ami-261e3b48',     # Tokyo

-     'ap-southeast-2':   'ami-31d68952',     # Sydney

-     'sa-east-1':        'ami-8509b1e9'      # Sao Paolo

+     #'us-east-1':        'ami-e38cfc89',     # Virginia

+     #'us-west-2':        'ami-182c3879',     # Oregon

+     #'us-west-1':        'ami-0efc906e',     # California

+     #'eu-west-1':        'ami-120ad561',     # Ireland

+     #'eu-central-1':     'ami-d94c5fb5',     # Frankfurt

+     #'ap-southeast-1':   'ami-3cb97e5f',     # Singapore

+     #'ap-northeast-1':   'ami-261e3b48',     # Tokyo

+     #'ap-southeast-2':   'ami-31d68952',     # Sydney

+     #'sa-east-1':        'ami-8509b1e9'      # Sao Paolo

  }

  

  # EC2 AMI IDs PRERELEASE!!!

  

- # TODO - replace the hand-typed IDs below with results harvested from fedimg

- 

  pre_HVM_base_AMI={

-     'us-east-1':        'ami-cec321a3',     # Virginia

-     'us-west-2':        'ami-ab55a7cb',     # Oregon

-     'us-west-1':        'ami-8b4c35eb',     # California

-     'eu-west-1':        'ami-fb40cb88',     # Ireland

-     'eu-central-1':     'ami-b29974dd',     # Frankfurt

-     'ap-southeast-1':   'ami-6471a607',     # Singapore

-     'ap-northeast-1':   'ami-6b6a8f0a',     # Tokyo

-     'ap-southeast-2':   'ami-aae7cbc9',     # Sydney

-     'sa-east-1':        'ami-be1099d2'      # Sao Paolo

+     #'us-east-1':        'ami-cec321a3',     # Virginia

+     #'us-west-2':        'ami-ab55a7cb',     # Oregon

+     #'us-west-1':        'ami-8b4c35eb',     # California

+     #'eu-west-1':        'ami-fb40cb88',     # Ireland

+     #'eu-central-1':     'ami-b29974dd',     # Frankfurt

+     #'ap-southeast-1':   'ami-6471a607',     # Singapore

+     #'ap-northeast-1':   'ami-6b6a8f0a',     # Tokyo

+     #'ap-southeast-2':   'ami-aae7cbc9',     # Sydney

+     #'sa-east-1':        'ami-be1099d2'      # Sao Paolo

  }

  

  pre_GP2_HVM_base_AMI={

-     'us-east-1':        'ami-70c2201d',     # Virginia

-     'us-west-2':        'ami-584a3338',     # Oregon

-     'us-west-1':        'ami-0ee7956e',     # California

-     'eu-west-1':        'ami-315bd042',     # Ireland

-     'eu-central-1':     'ami-ab9974c4',     # Frankfurt

-     'ap-southeast-1':   'ami-3c72a55f',     # Singapore

-     'ap-northeast-1':   'ami-da698cbb',     # Tokyo

-     'ap-southeast-2':   'ami-56e0cc35',     # Sydney

-     'sa-east-1':        'ami-53179e3f'      # Sao Paolo

+     #'us-east-1':        'ami-70c2201d',     # Virginia

+     #'us-west-2':        'ami-584a3338',     # Oregon

+     #'us-west-1':        'ami-0ee7956e',     # California

+     #'eu-west-1':        'ami-315bd042',     # Ireland

+     #'eu-central-1':     'ami-ab9974c4',     # Frankfurt

+     #'ap-southeast-1':   'ami-3c72a55f',     # Singapore

+     #'ap-northeast-1':   'ami-da698cbb',     # Tokyo

+     #'ap-southeast-2':   'ami-56e0cc35',     # Sydney

+     #'sa-east-1':        'ami-53179e3f'      # Sao Paolo

  }

  

  pre_PV_base_AMI={

-     'us-east-1':        'ami-97ff1dfa',     # Virginia

-     'us-west-2':        'ami-3657a556',     # Oregon

-     'us-west-1':        'ami-8a4039ea',     # California

-     'eu-west-1':        'ami-ef40cb9c',     # Ireland

-     'eu-central-1':     'ami-aa9974c5',     # Frankfurt

-     'ap-southeast-1':   'ami-d571a6b6',     # Singapore

-     'ap-northeast-1':   'ami-ff6a8f9e',     # Tokyo

-     'ap-southeast-2':   'ami-7de5c91e',     # Sydney

-     'sa-east-1':        'ami-bd1099d1'      # Sao Paolo

+     #'us-east-1':        'ami-97ff1dfa',     # Virginia

+     #'us-west-2':        'ami-3657a556',     # Oregon

+     #'us-west-1':        'ami-8a4039ea',     # California

+     #'eu-west-1':        'ami-ef40cb9c',     # Ireland

+     #'eu-central-1':     'ami-aa9974c5',     # Frankfurt

+     #'ap-southeast-1':   'ami-d571a6b6',     # Singapore

+     #'ap-northeast-1':   'ami-ff6a8f9e',     # Tokyo

+     #'ap-southeast-2':   'ami-7de5c91e',     # Sydney

+     #'sa-east-1':        'ami-bd1099d1'      # Sao Paolo

  }

  

  pre_GP2_PV_base_AMI={

-     'us-east-1':        'ami-ccff1da1',     # Virginia

-     'us-west-2':        'ami-c357a5a3',     # Oregon

-     'us-west-1':        'ami-5f4a333f',     # California

-     'eu-west-1':        'ami-f840cb8b',     # Ireland

-     'eu-central-1':     'ami-1f987570',     # Frankfurt

-     'ap-southeast-1':   'ami-d071a6b3',     # Singapore

-     'ap-northeast-1':   'ami-ba6f8adb',     # Tokyo

-     'ap-southeast-2':   'ami-39e6ca5a',     # Sydney

-     'sa-east-1':        'ami-8b159ce7'      # Sao Paolo

+     #'us-east-1':        'ami-ccff1da1',     # Virginia

+     #'us-west-2':        'ami-c357a5a3',     # Oregon

+     #'us-west-1':        'ami-5f4a333f',     # California

+     #'eu-west-1':        'ami-f840cb8b',     # Ireland

+     #'eu-central-1':     'ami-1f987570',     # Frankfurt

+     #'ap-southeast-1':   'ami-d071a6b3',     # Singapore

+     #'ap-northeast-1':   'ami-ba6f8adb',     # Tokyo

+     #'ap-southeast-2':   'ami-39e6ca5a',     # Sydney

+     #'sa-east-1':        'ami-8b159ce7'      # Sao Paolo

  }

  

  pre_HVM_atomic_AMI={

-     'us-east-1':        'ami-7d1a6c18',     # Virginia

-     'us-west-2':        'ami-c5f5eaf5',     # Oregon

-     'us-west-1':        'ami-2945806d',     # California

-     'eu-west-1':        'ami-b5b895c2',     # Ireland

-     'eu-central-1':     'ami-b28eb0af',     # Frankfurt

-     'ap-southeast-1':   'ami-9e9683cc',     # Singapore

-     'ap-northeast-1':   'ami-28d04628',     # Tokyo

-     'ap-southeast-2':   'ami-2f165815',     # Sydney

-     'sa-east-1':        'ami-9b0c9986'      # Sao Paolo

+     #'us-east-1':        'ami-7d1a6c18',     # Virginia

+     #'us-west-2':        'ami-c5f5eaf5',     # Oregon

+     #'us-west-1':        'ami-2945806d',     # California

+     #'eu-west-1':        'ami-b5b895c2',     # Ireland

+     #'eu-central-1':     'ami-b28eb0af',     # Frankfurt

+     #'ap-southeast-1':   'ami-9e9683cc',     # Singapore

+     #'ap-northeast-1':   'ami-28d04628',     # Tokyo

+     #'ap-southeast-2':   'ami-2f165815',     # Sydney

+     #'sa-east-1':        'ami-9b0c9986'      # Sao Paolo

  }

  

  pre_GP2_HVM_atomic_AMI={

-     'us-east-1':        'ami-bf1d6bda',     # Virginia

-     'us-west-2':        'ami-e9f5ead9',     # Oregon

-     'us-west-1':        'ami-23458067',     # California

-     'eu-west-1':        'ami-c7b895b0',     # Ireland

-     'eu-central-1':     'ami-ac8eb0b1',     # Frankfurt

-     'ap-southeast-1':   'ami-909683c2',     # Singapore

-     'ap-northeast-1':   'ami-12d54312',     # Tokyo

-     'ap-southeast-2':   'ami-3716580d',     # Sydney

-     'sa-east-1':        'ami-9d0c9980'      # Sao Paolo

+     #'us-east-1':        'ami-bf1d6bda',     # Virginia

+     #'us-west-2':        'ami-e9f5ead9',     # Oregon

+     #'us-west-1':        'ami-23458067',     # California

+     #'eu-west-1':        'ami-c7b895b0',     # Ireland

+     #'eu-central-1':     'ami-ac8eb0b1',     # Frankfurt

+     #'ap-southeast-1':   'ami-909683c2',     # Singapore

+     #'ap-northeast-1':   'ami-12d54312',     # Tokyo

+     #'ap-southeast-2':   'ami-3716580d',     # Sydney

+     #'sa-east-1':        'ami-9d0c9980'      # Sao Paolo

  }

@@ -62,6 +62,8 @@ 

          rows_per_page=1,

      )

      response = session.get(base_url, params=params)

+     if not bool(response):

+         raise IOError("Failed to talk to %r %r" % (response.url, response))

      return response.json()

  

  

@@ -101,7 +103,7 @@ 

      return [

          # As things stand now, we only do two-week-atomic stuff for the current

          # stable release.

-         (release['prev_id'], '', ''),

+         (release['curr_id'], '', ''),

  

          # If we ever move to doing pre-release versions as well, just uncomment

          # the following line and it should all work. We leave it commented out

@@ -120,7 +122,7 @@ 

  

          log.info("Looking for latest atomic release for %s" % idx)

          # Get the *latest* atomic release information.

-         messages = get_messages('"%s"' % idx)

+         messages = get_messages('-%s-' % idx)

          try:

              message = messages.next()

          except StopIteration:

@@ -129,7 +131,7 @@ 

  

          # Parse the composedate out of the image_name

          image_name = message['msg']['atomic_qcow2']['image_name']

-         composedate = '.'.join(image_name.split('-')[4].split('.')[:-2])

+         composedate = '.'.join(image_name.split('-')[-1].split('.')[:-2])

          log.info("    Found composedate: %s" % composedate)

          results['release'][composedate_prefix + 'atomic_composedate'] = composedate

  

@@ -81,10 +81,10 @@ 

              'PV_base_AMI':      lambda e: e.get('virt_type') == 'paravirtual' and e.get('vol_type') == 'standard',

              'GP2_PV_base_AMI':  lambda e: e.get('virt_type') == 'paravirtual' and e.get('vol_type') == 'gp2',

          }),

-         #("Fedora-Cloud-Atomic-{curr_cloud_id}-{atomic_composedate}.n.0.x86_64", {

-         #   'HVM_atomic_AMI':     lambda e: e.get('virt_type') == 'hvm' and e.get('vol_type') == 'standard',

-         #   'GP2_HVM_atomic_AMI': lambda e: e.get('virt_type') == 'hvm' and e.get('vol_type') == 'gp2',

-         #}),

+         ("Fedora-Atomic-{curr_cloud_AMI_id}-{atomic_composedate}.x86_64", {

+            'HVM_atomic_AMI':     lambda e: e.get('virt_type') == 'hvm' and e.get('vol_type') == 'standard',

+            'GP2_HVM_atomic_AMI': lambda e: e.get('virt_type') == 'hvm' and e.get('vol_type') == 'gp2',

+         }),

          #("Fedora-Cloud-Base-{next_cloud_AMI_id}-{pre_cloud_AMI_composedate}.n.0.x86_64", {

          #    'pre_HVM_base_AMI':     lambda e: e.get('virt_type') == 'hvm' and e.get('vol_type') == 'standard',

          #    'pre_GP2_HVM_base_AMI': lambda e: e.get('virt_type') == 'hvm' and e.get('vol_type') == 'gp2',

@@ -1,281 +0,0 @@ 

- <!DOCTYPE html>

- <html lang="${lang}"

-   xmlns="http://www.w3.org/1999/xhtml"

-   xmlns:py="http://genshi.edgewall.org/"

-   xmlns:xi="http://www.w3.org/2001/XInclude">

-   <xi:include href="../../../templates/master.html" />

-   <head>

-     <script type="text/javascript" src="${path}/static/js/cloud_ec2.js"></script>

- 

-     <title>${_('Download Fedora Cloud')}</title>

-   </head>

-   <body id="cloud">

- 

-   <xi:include href="../../../templates/cloud/header.html" />

-   <xi:include href="../../../templates/regulations.html" />

-   <!--!<div class="mymenu cloudmenu">

-     <div class="container">

-      <div class="row col-md-8 col-md-offset-2 row col-xs-12">

-         <div class="collapse navbar-collapse">

-           <ul class="nav nav-tabs nav-justified" role="tablist">

-                 <li><a href="../">About</a></li>

-                 <li><a href="#">Take the Tour</a></li>

-                 <li class="active"><a href="#">Download</a></li>

-           </ul>

-         </div>

-       </div>

-     </div>

-   </div>-->

- 

-   <header class="downloadheader">

-     <div class="container">

-       <div class="row">

-         <div class="col-md-7 col-md-offset-5 text-left recover-heading">

-           <h2>${Markup(_('Download Fedora %(rel)s Cloud')) % {'rel':global_variables.release['curr_id']}}</h2>

-             <p>${_('There are two main versions of Fedora Cloud available:')}

-               <ul>

-                 <li>${Markup(_('&lt;a href="index.html"&gt;Base images&lt;/a&gt; suitable for creating VMs.'))}</li>

- <!--                <li>${Markup(_('&lt;a href="atomic.html"&gt;Atomic Host images&lt;/a&gt; for creating hosts for container deployment.'))}</li>

- -->

-               </ul>

-             </p>

-         </div>

-       </div>

-     </div>

-   </header>

- 

-       <!-- Menu -->

-   <div class="navbar-custom navbar-default">

-       <div class="container">

-           <div class="navbar-header">

-               <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">

-                   <span class="icon-bar"></span>

-                   <span class="icon-bar"></span>

-                   <span class="icon-bar"></span>

-               </button>

-           </div>

-           <div class="collapse navbar-collapse navbar-center">

-               <ul class="nav navbar-nav">

-                   <li class=""><a href="index.html">${_('Base Images')}</a></li>

- <!--                  <li class=""><a href="atomic.html" class="active">${_('Atomic Host Images')}</a></li> -->

-                   <li class=""><a href="docker.html">${_('Docker Image')}</a></li>

-               </ul>

-           </div>

-       </div>

-   </div>

- 

-   <div class="container download-container recover-heading top-margin">

-   <div class="row">

-     <div class="col-md-8 col-xs-12">

-       <div class="row top-margin">

-           <div class="col-xs-12">

-             <h2 class="cloudy">${_('Atomic Host Images')}</h2>

-             <p>${_('Fedora Atomic Host is a leading edge base operating system following the Project Atomic model.  It is designed around Kubernetes and Docker containers.  The images published here showcase that work. Note that the images have passed several levels of automated testing, but are not always subjected to manual testing by the QA team.')}</p>

-             <p>${Markup(_('Please test before using new versions in production. If you do discover a problem, the Atomic Host tools make it easy to flip back to an earlier release — and if that happens, please also help us by &lt;a href="%s"&gt;filing bugs&lt;/a&gt; or &lt;a href="%s"&gt;submitting fixes&lt;/a&gt;.') % ('http://www.projectatomic.io/community/', 'https://github.com/projectatomic/'))}</p>

-             <p>${_('Fedora Atomic Host images are updated roughly every two weeks, rather than on the main six-month Fedora cadence. Because development is moving quickly, only the latest major Fedora release is supported.')}</p>

-             <p>${Markup(_('Note that different Fedora Atomic Host media are subject to different levels of automatic testing. We are making continuous improvements to these tests; &lt;a href="%s"&gt;click here&lt;/a&gt; to see the current test status.') % ('https://apps.fedoraproject.org/autocloud/jobs/'))}</p>

-             <p class="bold">${Markup(_('You can learn more about the Atomic project at &lt;a href="%s"&gt;projectatomic.io&lt;/a&gt;.') % ('http://projectatomic.io/'))}</p>

-             <p py:if="not global_variables.release['atomic_freshness']" class="warning">${Markup(_('The latest two week build did not meet our testing criteria. The images available are from over %(atomic_age)s days ago. Check the Project Atomic blog for updates and information about Atomic blocker bugs.') % global_variables.release)}</p>

-             <p py:if="global_variables.release['atomic_freshness']" class="warning">${Markup(_('These are the latest official Fedora Atomic Host images, produced %(atomic_age)s days ago.') % global_variables.release)}</p>

-             <h3>${_('Atomic Host Image')}</h3>

-           </div>

-       </div>

-       <!-- Mobile -->

-       <div class="row visible-xs">

-           <div class="col-xs-12">

-             <h5 class="bold">${_('qcow2 Image')}</h5>

-             <p>${Markup(_('This is Fedora %(rel)s Cloud Atomic Host in a Qcow2-formatted image for use with OpenStack.')) % {'rel':global_variables.release['curr_id']}}</p>

-             <a class="btn btn-success download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/Cloud-Images/x86_64/Images/Fedora-Cloud-Atomic-${global_variables.release['curr_id']}-${global_variables.release['atomic_composedate']}.x86_64.qcow2" role="button">${_('Download')}</a>

-               <p class="caption">${_('64-bit %sMB Qcow2 Image') % global_variables.iso_size['atomic_qcow2_cloud']}</p>

-           </div>

-           <div class="col-xs-12">

-             <h5 class="bold">${_('Raw Image')}</h5>

-             <p>${Markup(_('This is Fedora %(rel)s Cloud Atomic Host in a compressed raw image format. If you\'re not sure what to use, try this.')) % {'rel':global_variables.release['curr_id']}}</p>

-             <a class="btn btn-success download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/Cloud-Images/x86_64/Images/Fedora-Cloud-Atomic-${global_variables.release['curr_id']}-${global_variables.release['atomic_composedate']}.x86_64.raw.xz" role="button">${_('Download')}</a>

-               <p class="caption">${_('64-bit %sMB xz-Compressed Raw Image') % global_variables.iso_size['atomic_raw_cloud']}</p>

-           </div>

-       </div>

- 

-       <!-- Desktop -->

-       <div class="row hidden-xs">

-           <div class="col-sm-6">

-             <h5 class="bold">${_('qcow2 Image')}</h5>

-             <p>${Markup(_('This is Fedora %(rel)s Cloud Atomic Host in a Qcow2-formatted image for use with OpenStack.')) % {'rel':global_variables.release['curr_id']}}</p>

-           </div>

-           <div class="col-sm-6">

-             <h5 class="bold">${_('Raw Image')}</h5>

-             <p>${Markup(_('This is Fedora %(rel)s Cloud Atomic Host in a compressed raw image format. If you\'re not sure what to use, try this.')) % {'rel':global_variables.release['curr_id']}}</p>

-           </div>

-       </div>

-       <div class="row hidden-xs">

-           <div class="col-sm-6">

-             <a class="btn btn-success download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/Cloud-Images/x86_64/Images/Fedora-Cloud-Atomic-${global_variables.release['curr_id']}-${global_variables.release['atomic_composedate']}.x86_64.qcow2" role="button">${_('Download')}</a>

-               <p class="caption">${_('64-bit %sMB Qcow2 Image') % global_variables.iso_size['atomic_qcow2_cloud']}</p>

-           </div>

-           <div class="col-sm-6">

-             <a class="btn btn-success download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/Cloud-Images/x86_64/Images/Fedora-Cloud-Atomic-${global_variables.release['curr_id']}-${global_variables.release['atomic_composedate']}.x86_64.raw.xz" role="button">${_('Download')}</a>

-               <p class="caption">${_('64-bit %sMB xz-Compressed Raw Image') % global_variables.iso_size['atomic_raw_cloud']}</p>

-           </div>

-       </div>

-       <!-- end Desktop -->

- 

-       <!-- Start Vagrant -->

-         <div class="row">

-             <div class="col-xs-12 top-margin">

-               <h3>${_('Atomic Host Images for Vagrant')}</h3>

-               <p>${_('These images are Vagrant Boxes images for deployment using Vagrant.')}</p>

-             </div>

-         </div>

-         <!-- Mobile -->

-         <div class="row visible-xs">

-           <div class="col-xs-12">

-             <h5 class="bold">${_('VirtualBox Image')}</h5>

-             <p>${_('If you\'re using Vagrant on Mac OS X or Windows, this is likely the image you\'ll want to use.')}</p>

-             <a class="btn btn-success btn-fix download-cloud download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/Cloud-Images/x86_64/Images/Fedora-Cloud-Atomic-Vagrant-${global_variables.release['curr_cloud_id']}-${global_variables.release['atomic_composedate']}.x86_64.vagrant-virtualbox.box" role="button">${_('VirtualBox Image')}</a>

-               <p class="caption">${_('64-bit %sMB VirtualBox Atomic Host Vagrant Image') % global_variables.iso_size['atomic_VBvag_cloud']}</p>

-           </div>

-           <div class="col-xs-12">

-             <h5 class="bold">${_('libvirt/KVM Image')}</h5>

-             <p>${_('If you\'re using Vagrant on Fedora, this is the image you\'ll want to use.')}</p>

-             <a class="btn btn-success btn-fix download-cloud download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/Cloud-Images/x86_64/Images/Fedora-Cloud-Atomic-Vagrant-${global_variables.release['curr_cloud_id']}-${global_variables.release['atomic_composedate']}.x86_64.vagrant-libvirt.box" role="button">${_('libvirt/KVM Image')}</a>

-               <p class="caption">${_('64-bit %sMB libvirt/KVM Atomic Host Vagrant Image') % global_variables.iso_size['atomic_libvag_cloud']}</p>

-           </div>

-         </div>

- 

-           <!-- Desktop -->

-         <div class="row hidden-xs">

-           <div class="col-sm-6">

-             <h5 class="bold">${_('VirtualBox Image')}</h5>

-             <p>${_('If you\'re using Vagrant on Mac OS X or Windows, this is likely the image you\'ll want to use.')}</p>

-           </div>

-           <div class="col-sm-6">

-             <h5 class="bold">${_('libvirt/KVM Image')}</h5>

-             <p>${_('If you\'re using Vagrant on Fedora, this is the image you\'ll want to use.')}</p>

-           </div>

-         </div>

-         <div class="row hidden-xs">

-           <div class="col-sm-6">

-             <a class="btn btn-success btn-fix download-cloud download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/Cloud-Images/x86_64/Images/Fedora-Cloud-Atomic-Vagrant-${global_variables.release['curr_cloud_id']}-${global_variables.release['atomic_composedate']}.x86_64.vagrant-virtualbox.box" role="button">${_('VirtualBox Image')}</a>

-               <p class="caption">${_('64-bit %sMB VirtualBox Atomic Host Vagrant Image') % global_variables.iso_size['atomic_VBvag_cloud']}</p>

-           </div>

-           <div class="col-sm-6">

-             <a class="btn btn-success btn-fix download-cloud download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/Cloud-Images/x86_64/Images/Fedora-Cloud-Atomic-Vagrant-${global_variables.release['curr_cloud_id']}-${global_variables.release['atomic_composedate']}.x86_64.vagrant-libvirt.box" role="button">${_('libvirt/KVM Image')}</a>

-               <p class="caption">${_('64-bit %sMB libvirt/KVM Atomic Host Vagrant Image') % global_variables.iso_size['atomic_libvag_cloud']}</p>

-           </div>

-         </div>

-       <!-- End Vagrant -->

- 

- 

-       <!-- Start Amazon -->

-         <div class="row">

-             <div class="col-xs-12 top-margin">

-               <h3>${_('Atomic Host Cloud Images for Amazon Public Cloud EC2')}</h3>

-               <p>${_('The links below will provide you listings of available AMIs by region with buttons to launch them in your Amazon Web Services account. AMI IDs for usage with the AWS Console or command-line tools are also provided.')}</p>

-               <p>${_('All images are available in two formats: a GP2 format which uses faster SSD storage, and a standard format which is more suitable if you have infrequently accessed data and you want to keep storage cost low.')}</p>

-             </div>

-         </div>

-         <div class="row">

-           <div class="col-xs-12">

-             <h5 class="bold">${_('Hardware Virtual Machine (HVM)')}</h5>

- 

-             <!-- Modal for EC2 GP2 Cloud Atomic Host HVM Instances -->

-             <button type="button" class="btn btn-success btn-fix download-cloud-splash" data-toggle="modal" data-target=".GP2-atomic-EC2">${_('GP2 HVM AMIs')}</button>

-             <div class="modal fade GP2-atomic-EC2" tabindex="-1" role="dialog" aria-hidden="true">

-               <div class="modal-dialog modal-cloud">

-                 <div class="modal-content">

-                   <div class="modal-header">

-                     <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">${_('Close')}</span></button>

-                     <h4 class="modal-title">${Markup(_('Fedora %(rel)s GP2 Atomic Host Cloud HVM AMIs')) % {'rel':global_variables.release['curr_id']}}</h4>

-                   </div>

-                   <table class="table table-hover">

-                     <thead>

-                       <tr>

-                         <th>${_('Region')}</th>

-                         <th class="hidden-xs">${_('AMI ID')}</th>

-                         <th>${_('Launch')}</th>

-                       </tr>

-                     </thead>

-                     <tbody>

-                       <tr py:for="r in global_variables.EC2_regions">

-                         <td py:if="r.code in global_variables.GP2_HVM_atomic_AMI">${_(r.long)}</td>

-                         <td py:if="r.code in global_variables.GP2_HVM_atomic_AMI" class="hidden-xs">${global_variables.GP2_HVM_atomic_AMI[r.code]}</td>

-                         <td py:if="r.code in global_variables.GP2_HVM_atomic_AMI" class="text-center"><a href="${global_variables.path_stats['path']}/${global_variables.path_stats[r.short]}${global_variables.GP2_HVM_atomic_AMI[r.code]}"><span class="fa fa-cloud" aria-hidden="true"></span></a></td>

-                       </tr>

-                     </tbody>

-                   </table>

-                 </div>

-               </div>

-             </div>

-             <!-- Modal for EC2 Standard Cloud Atomic Host HVM Instances -->

-             <p><button type="button" class="btn btn-success btn-fix download-cloud-splash" data-toggle="modal" data-target=".atomic-EC2">${_('Standard HVM AMIs')}</button></p>

-             <div class="modal fade atomic-EC2" tabindex="-1" role="dialog" aria-hidden="true">

-               <div class="modal-dialog modal-cloud">

-                 <div class="modal-content">

-                   <div class="modal-header">

-                     <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">${_('Close')}</span></button>

-                     <h4 class="modal-title">${Markup(_('Fedora %(rel)s Standard Atomic Host Cloud HVM AMIs')) % {'rel':global_variables.release['curr_id']}}</h4>

-                   </div>

-                   <table class="table table-hover">

-                     <thead>

-                       <tr>

-                         <th>${_('Region')}</th>

-                         <th class="hidden-xs">${_('AMI ID')}</th>

-                         <th>${_('Launch')}</th>

-                       </tr>

-                     </thead>

-                     <tbody>

-                       <tr py:for="r in global_variables.EC2_regions">

-                         <td py:if="r.code in global_variables.HVM_atomic_AMI">${_(r.long)}</td>

-                         <td py:if="r.code in global_variables.HVM_atomic_AMI" class="hidden-xs">${global_variables.HVM_atomic_AMI[r.code]}</td>

-                         <td py:if="r.code in global_variables.HVM_atomic_AMI" class="text-center"><a href="${global_variables.path_stats['path']}/${global_variables.path_stats[r.short]}${global_variables.HVM_atomic_AMI[r.code]}"><span class="fa fa-cloud" aria-hidden="true"></span></a></td>

-                       </tr>

-                     </tbody>

-                   </table>

-                 </div>

-               </div>

-             </div>

- 

- 

-           </div>

-         </div>

-       <!-- End Amazon -->

-     <hr />

-     <xi:include href="../../../templates/export-regulations.html" />

-   </div>

- 

-     <div class="col-md-3 col-xs-12 col-md-offset-1">

-         <h3>${_('Other Downloads')}</h3>

-         <p>

-           ${_('Atomic Host Image:')}

-           <ul>

-             <li><p><a class="download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/Cloud_Atomic/x86_64/iso/Fedora-Cloud_Atomic-x86_64-${global_variables.release['curr_id']}-${global_variables.release['atomic_composedate']}.iso">${_('64-bit Atomic Host ISO image')}</a></p></li>

-           </ul>

-         </p>

-           <div class="bottom-margin">

-           <py:choose>

-             <py:when test="global_variables.release['curr_state'] == 'Alpha'">

-               <h3>${Markup(_('Try Fedora %(rel)s %(state)s')) % {'rel':global_variables.release['next_id'], 'state':global_variables.release['curr_state']}}</h3>

-               <a href="${path}/${lang}/cloud/prerelease"><img alt="Fedora ${global_variables.release['next_id']} Alpha is here!" src="${path}/static/images/banners/f${global_variables.release['next_id']}alpha.png" /></a>

-             </py:when>

-             <py:when test="global_variables.release['curr_state'] == 'Beta'">

-               <h3>${Markup(_('Try Fedora %(rel)s %(state)s')) % {'rel':global_variables.release['next_id'], 'state':global_variables.release['curr_state']}}</h3>

-               <a href="${path}/${lang}/cloud/prerelease"><img alt="Fedora ${global_variables.release['next_id']} Beta is here!" src="${path}/static/images/banners/f${global_variables.release['next_id']}beta.png" /></a>

-             </py:when>

-           </py:choose>

-           </div>

-           <noscript>

-           <div class="bottom-margin">

-             <h3>${_('Verify')}</h3>

-               <ul>

-               <li>

-                   <p><a href="/verify">${_('Verify your Image')}</a></p>

-               </li>

-               </ul>

-           </div>

-           </noscript>

-     </div>

-   </div>

- </div>

- 

-   </body>

- </html>

@@ -31,12 +31,11 @@ 

      <div class="container">

        <div class="row">

          <div class="col-md-7 col-md-offset-5 text-left recover-heading">

-           <h2>${Markup(_('Download Fedora Cloud'))}</h2>

-             <p>${_('There is only one main version of Fedora Cloud available:')}

+           <h2>${Markup(_('Download Fedora %(rel)s Cloud')) % {'rel':global_variables.release['curr_id']}}</h2>

+             <p>${_('There are two main versions of Fedora Cloud available:')}

                <ul>

                  <li>${Markup(_('&lt;a href="index.html"&gt;Base images&lt;/a&gt; suitable for creating VMs.'))}</li>

- <!--                <li>${Markup(_('&lt;a href="atomic.html"&gt;Atomic Host images&lt;/a&gt; for creating hosts for container deployment.'))}</li>

- -->

+                 <li>${Markup(_('&lt;a href="atomic.html"&gt;Atomic Host images&lt;/a&gt; for creating hosts for container deployment.'))}</li>

                </ul>

              </p>

          </div>

@@ -57,7 +56,7 @@ 

            <div class="collapse navbar-collapse navbar-center">

                <ul class="nav navbar-nav">

                    <li class=""><a href="index.html">${_('Base Images')}</a></li>

- <!--                  <li class=""><a href="atomic.html" class="active">${_('Atomic Host Images')}</a></li> -->

+                   <li class=""><a href="atomic.html" class="active">${_('Atomic Host Images')}</a></li>

                    <li class=""><a href="docker.html">${_('Docker Image')}</a></li>

                </ul>

            </div>

@@ -75,12 +74,207 @@ 

              <p>${_('Fedora Atomic Host images are updated roughly every two weeks, rather than on the main six-month Fedora cadence. Because development is moving quickly, only the latest major Fedora release is supported.')}</p>

              <p>${Markup(_('Note that different Fedora Atomic Host media are subject to different levels of automatic testing. We are making continuous improvements to these tests; &lt;a href="%s"&gt;click here&lt;/a&gt; to see the current test status.') % ('https://apps.fedoraproject.org/autocloud/jobs/'))}</p>

              <p class="bold">${Markup(_('You can learn more about the Atomic project at &lt;a href="%s"&gt;projectatomic.io&lt;/a&gt;.') % ('http://projectatomic.io/'))}</p>

-             <p class="warning">${Markup(_('There are no Atomic images available for Fedora %(rel)s. Please stand by and checkout this page in a few days, we are planning to build them within the first week of July.')) % {'rel':global_variables.release['curr_id']}}</p>

+             <p py:if="not global_variables.release['atomic_freshness']" class="warning">${Markup(_('The latest two week build did not meet our testing criteria. The images available are from over %(atomic_age)s days ago. Check the Project Atomic blog for updates and information about Atomic blocker bugs.') % global_variables.release)}</p>

+             <p py:if="global_variables.release['atomic_freshness']" class="warning">${Markup(_('These are the latest official Fedora Atomic Host images, produced %(atomic_age)s days ago.') % global_variables.release)}</p>

+             <h3>${_('Atomic Host Image')}</h3>

            </div>

        </div>

-     </div>

+       <!-- Mobile -->

+       <div class="row visible-xs">

+           <div class="col-xs-12">

+             <h5 class="bold">${_('qcow2 Image')}</h5>

+             <p>${Markup(_('This is Fedora %(rel)s Cloud Atomic Host in a Qcow2-formatted image for use with OpenStack.')) % {'rel':global_variables.release['curr_id']}}</p>

+             <a class="btn btn-success download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/CloudImages/x86_64/images/Fedora-Atomic-${global_variables.release['curr_id']}-${global_variables.release['atomic_composedate']}.x86_64.qcow2" role="button">${_('Download')}</a>

+               <p class="caption">${_('64-bit %sMB Qcow2 Image') % global_variables.iso_size['atomic_qcow2_cloud']}</p>

+           </div>

+           <div class="col-xs-12">

+             <h5 class="bold">${_('Raw Image')}</h5>

+             <p>${Markup(_('This is Fedora %(rel)s Cloud Atomic Host in a compressed raw image format. If you\'re not sure what to use, try this.')) % {'rel':global_variables.release['curr_id']}}</p>

+             <a class="btn btn-success download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/CloudImages/x86_64/images/Fedora-Atomic-${global_variables.release['curr_id']}-${global_variables.release['atomic_composedate']}.x86_64.raw.xz" role="button">${_('Download')}</a>

+               <p class="caption">${_('64-bit %sMB xz-Compressed Raw Image') % global_variables.iso_size['atomic_raw_cloud']}</p>

+           </div>

+       </div>

+ 

+       <!-- Desktop -->

+       <div class="row hidden-xs">

+           <div class="col-sm-6">

+             <h5 class="bold">${_('qcow2 Image')}</h5>

+             <p>${Markup(_('This is Fedora %(rel)s Cloud Atomic Host in a Qcow2-formatted image for use with OpenStack.')) % {'rel':global_variables.release['curr_id']}}</p>

+           </div>

+           <div class="col-sm-6">

+             <h5 class="bold">${_('Raw Image')}</h5>

+             <p>${Markup(_('This is Fedora %(rel)s Cloud Atomic Host in a compressed raw image format. If you\'re not sure what to use, try this.')) % {'rel':global_variables.release['curr_id']}}</p>

+           </div>

+       </div>

+       <div class="row hidden-xs">

+           <div class="col-sm-6">

+             <a class="btn btn-success download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/CloudImages/x86_64/images/Fedora-Atomic-${global_variables.release['curr_id']}-${global_variables.release['atomic_composedate']}.x86_64.qcow2" role="button">${_('Download')}</a>

+               <p class="caption">${_('64-bit %sMB Qcow2 Image') % global_variables.iso_size['atomic_qcow2_cloud']}</p>

+           </div>

+           <div class="col-sm-6">

+             <a class="btn btn-success download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/CloudImages/x86_64/images/Fedora-Atomic-${global_variables.release['curr_id']}-${global_variables.release['atomic_composedate']}.x86_64.raw.xz" role="button">${_('Download')}</a>

+               <p class="caption">${_('64-bit %sMB xz-Compressed Raw Image') % global_variables.iso_size['atomic_raw_cloud']}</p>

+           </div>

+       </div>

+       <!-- end Desktop -->

+ 

+       <!-- Start Vagrant -->

+         <div class="row">

+             <div class="col-xs-12 top-margin">

+               <h3>${_('Atomic Host Images for Vagrant')}</h3>

+               <p>${_('These images are Vagrant Boxes images for deployment using Vagrant.')}</p>

+             </div>

+         </div>

+         <!-- Mobile -->

+         <div class="row visible-xs">

+           <div class="col-xs-12">

+             <h5 class="bold">${_('VirtualBox Image')}</h5>

+             <p>${_('If you\'re using Vagrant on Mac OS X or Windows, this is likely the image you\'ll want to use.')}</p>

+             <a class="btn btn-success btn-fix download-cloud download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/CloudImages/x86_64/images/Fedora-Atomic-Vagrant-${global_variables.release['curr_cloud_id']}-${global_variables.release['atomic_composedate']}.x86_64.vagrant-virtualbox.box" role="button">${_('VirtualBox Image')}</a>

+               <p class="caption">${_('64-bit %sMB VirtualBox Atomic Host Vagrant Image') % global_variables.iso_size['atomic_VBvag_cloud']}</p>

+           </div>

+           <div class="col-xs-12">

+             <h5 class="bold">${_('libvirt/KVM Image')}</h5>

+             <p>${_('If you\'re using Vagrant on Fedora, this is the image you\'ll want to use.')}</p>

+             <a class="btn btn-success btn-fix download-cloud download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/CloudImages/x86_64/images/Fedora-Atomic-Vagrant-${global_variables.release['curr_cloud_id']}-${global_variables.release['atomic_composedate']}.x86_64.vagrant-libvirt.box" role="button">${_('libvirt/KVM Image')}</a>

+               <p class="caption">${_('64-bit %sMB libvirt/KVM Atomic Host Vagrant Image') % global_variables.iso_size['atomic_libvag_cloud']}</p>

+           </div>

+         </div>

+ 

+           <!-- Desktop -->

+         <div class="row hidden-xs">

+           <div class="col-sm-6">

+             <h5 class="bold">${_('VirtualBox Image')}</h5>

+             <p>${_('If you\'re using Vagrant on Mac OS X or Windows, this is likely the image you\'ll want to use.')}</p>

+           </div>

+           <div class="col-sm-6">

+             <h5 class="bold">${_('libvirt/KVM Image')}</h5>

+             <p>${_('If you\'re using Vagrant on Fedora, this is the image you\'ll want to use.')}</p>

+           </div>

+         </div>

+         <div class="row hidden-xs">

+           <div class="col-sm-6">

+             <a class="btn btn-success btn-fix download-cloud download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/CloudImages/x86_64/images/Fedora-Atomic-Vagrant-${global_variables.release['curr_cloud_id']}-${global_variables.release['atomic_composedate']}.x86_64.vagrant-virtualbox.box" role="button">${_('VirtualBox Image')}</a>

+               <p class="caption">${_('64-bit %sMB VirtualBox Atomic Host Vagrant Image') % global_variables.iso_size['atomic_VBvag_cloud']}</p>

+           </div>

+           <div class="col-sm-6">

+             <a class="btn btn-success btn-fix download-cloud download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/CloudImages/x86_64/images/Fedora-Atomic-Vagrant-${global_variables.release['curr_cloud_id']}-${global_variables.release['atomic_composedate']}.x86_64.vagrant-libvirt.box" role="button">${_('libvirt/KVM Image')}</a>

+               <p class="caption">${_('64-bit %sMB libvirt/KVM Atomic Host Vagrant Image') % global_variables.iso_size['atomic_libvag_cloud']}</p>

+           </div>

+         </div>

+       <!-- End Vagrant -->

+ 

+ 

+       <!-- Start Amazon -->

+         <div class="row">

+             <div class="col-xs-12 top-margin">

+               <h3>${_('Atomic Host Cloud Images for Amazon Public Cloud EC2')}</h3>

+               <p>${_('The links below will provide you listings of available AMIs by region with buttons to launch them in your Amazon Web Services account. AMI IDs for usage with the AWS Console or command-line tools are also provided.')}</p>

+               <p>${_('All images are available in two formats: a GP2 format which uses faster SSD storage, and a standard format which is more suitable if you have infrequently accessed data and you want to keep storage cost low.')}</p>

+             </div>

+         </div>

+         <div class="row">

+           <div class="col-xs-12">

+             <h5 class="bold">${_('Hardware Virtual Machine (HVM)')}</h5>

+ 

+             <!-- Modal for EC2 GP2 Cloud Atomic Host HVM Instances -->

+             <button type="button" class="btn btn-success btn-fix download-cloud-splash" data-toggle="modal" data-target=".GP2-atomic-EC2">${_('GP2 HVM AMIs')}</button>

+             <div class="modal fade GP2-atomic-EC2" tabindex="-1" role="dialog" aria-hidden="true">

+               <div class="modal-dialog modal-cloud">

+                 <div class="modal-content">

+                   <div class="modal-header">

+                     <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">${_('Close')}</span></button>

+                     <h4 class="modal-title">${Markup(_('Fedora %(rel)s GP2 Atomic Host Cloud HVM AMIs')) % {'rel':global_variables.release['curr_id']}}</h4>

+                   </div>

+                   <table class="table table-hover">

+                     <thead>

+                       <tr>

+                         <th>${_('Region')}</th>

+                         <th class="hidden-xs">${_('AMI ID')}</th>

+                         <th>${_('Launch')}</th>

+                       </tr>

+                     </thead>

+                     <tbody>

+                       <tr py:for="r in global_variables.EC2_regions">

+                         <td py:if="r.code in global_variables.GP2_HVM_atomic_AMI">${_(r.long)}</td>

+                         <td py:if="r.code in global_variables.GP2_HVM_atomic_AMI" class="hidden-xs">${global_variables.GP2_HVM_atomic_AMI[r.code]}</td>

+                         <td py:if="r.code in global_variables.GP2_HVM_atomic_AMI" class="text-center"><a href="${global_variables.path_stats['path']}/${global_variables.path_stats[r.short]}${global_variables.GP2_HVM_atomic_AMI[r.code]}"><span class="fa fa-cloud" aria-hidden="true"></span></a></td>

+                       </tr>

+                     </tbody>

+                   </table>

+                 </div>

+               </div>

+             </div>

+             <!-- Modal for EC2 Standard Cloud Atomic Host HVM Instances -->

+             <p><button type="button" class="btn btn-success btn-fix download-cloud-splash" data-toggle="modal" data-target=".atomic-EC2">${_('Standard HVM AMIs')}</button></p>

+             <div class="modal fade atomic-EC2" tabindex="-1" role="dialog" aria-hidden="true">

+               <div class="modal-dialog modal-cloud">

+                 <div class="modal-content">

+                   <div class="modal-header">

+                     <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">${_('Close')}</span></button>

+                     <h4 class="modal-title">${Markup(_('Fedora %(rel)s Standard Atomic Host Cloud HVM AMIs')) % {'rel':global_variables.release['curr_id']}}</h4>

+                   </div>

+                   <table class="table table-hover">

+                     <thead>

+                       <tr>

+                         <th>${_('Region')}</th>

+                         <th class="hidden-xs">${_('AMI ID')}</th>

+                         <th>${_('Launch')}</th>

+                       </tr>

+                     </thead>

+                     <tbody>

+                       <tr py:for="r in global_variables.EC2_regions">

+                         <td py:if="r.code in global_variables.HVM_atomic_AMI">${_(r.long)}</td>

+                         <td py:if="r.code in global_variables.HVM_atomic_AMI" class="hidden-xs">${global_variables.HVM_atomic_AMI[r.code]}</td>

+                         <td py:if="r.code in global_variables.HVM_atomic_AMI" class="text-center"><a href="${global_variables.path_stats['path']}/${global_variables.path_stats[r.short]}${global_variables.HVM_atomic_AMI[r.code]}"><span class="fa fa-cloud" aria-hidden="true"></span></a></td>

+                       </tr>

+                     </tbody>

+                   </table>

+                 </div>

+               </div>

+             </div>

+ 

+ 

+           </div>

+         </div>

+       <!-- End Amazon -->

+     <hr />

+     <xi:include href="../../../templates/export-regulations.html" />

    </div>

+ 

+     <div class="col-md-3 col-xs-12 col-md-offset-1">

+         <h3>${_('Other Downloads')}</h3>

+         <p>

+           ${_('Atomic Host Image:')}

+           <ul>

+             <li><p><a class="download-cloud-splash" href="${global_variables.path['download_atomic']}/stable/Cloud_Atomic/x86_64/iso/Fedora-Cloud_Atomic-x86_64-${global_variables.release['curr_id']}-${global_variables.release['atomic_composedate']}.iso">${_('64-bit Atomic Host ISO image')}</a></p></li>

+           </ul>

+         </p>

+           <div class="bottom-margin">

+           <py:choose>

+             <py:when test="global_variables.release['curr_state'] == 'Alpha'">

+               <h3>${Markup(_('Try Fedora %(rel)s %(state)s')) % {'rel':global_variables.release['next_id'], 'state':global_variables.release['curr_state']}}</h3>

+               <a href="${path}/${lang}/cloud/prerelease"><img alt="Fedora ${global_variables.release['next_id']} Alpha is here!" src="${path}/static/images/banners/f${global_variables.release['next_id']}alpha.png" /></a>

+             </py:when>

+             <py:when test="global_variables.release['curr_state'] == 'Beta'">

+               <h3>${Markup(_('Try Fedora %(rel)s %(state)s')) % {'rel':global_variables.release['next_id'], 'state':global_variables.release['curr_state']}}</h3>

+               <a href="${path}/${lang}/cloud/prerelease"><img alt="Fedora ${global_variables.release['next_id']} Beta is here!" src="${path}/static/images/banners/f${global_variables.release['next_id']}beta.png" /></a>

+             </py:when>

+           </py:choose>

+           </div>

+           <noscript>

+           <div class="bottom-margin">

+             <h3>${_('Verify')}</h3>

+               <ul>

+               <li>

+                   <p><a href="/verify">${_('Verify your Image')}</a></p>

+               </li>

+               </ul>

+           </div>

+           </noscript>

+     </div>

    </div>

+ </div>

  

    </body>

  </html>

@@ -35,8 +35,7 @@ 

              <p>${_('There are two main versions of Fedora Cloud available:')}

                <ul>

                  <li>${Markup(_('&lt;a href="index.html"&gt;Base images&lt;/a&gt; suitable for creating VMs.'))}</li>

- <!--                <li>${Markup(_('&lt;a href="atomic.html"&gt;Atomic Host images&lt;/a&gt; for creating hosts for container deployment.'))}</li>

- -->

+                 <li>${Markup(_('&lt;a href="atomic.html"&gt;Atomic Host images&lt;/a&gt; for creating hosts for container deployment.'))}</li>

                </ul>

              </p>

          </div>

@@ -57,7 +56,7 @@ 

            <div class="collapse navbar-collapse navbar-center">

                <ul class="nav navbar-nav">

                    <li class=""><a href="index.html">${_('Base Images')}</a></li>

- <!--                  <li class=""><a href="atomic.html">${_('Atomic Host Images')}</a></li> -->

+                   <li class=""><a href="atomic.html">${_('Atomic Host Images')}</a></li>

                    <li class=""><a href="docker.html" class="active">${_('Docker Image')}</a></li>

                </ul>

            </div>

@@ -35,8 +35,7 @@ 

              <p>${_('There are two main versions of Fedora Cloud available:')}

                <ul>

                  <li>${Markup(_('&lt;a href="index.html"&gt;Base images&lt;/a&gt; suitable for creating VMs.'))}</li>

- <!--                <li>${Markup(_('&lt;a href="atomic.html"&gt;Atomic Host images&lt;/a&gt; for creating hosts for container deployment.'))}</li>

- -->

+                 <li>${Markup(_('&lt;a href="atomic.html"&gt;Atomic Host images&lt;/a&gt; for creating hosts for container deployment.'))}</li>

                </ul>

              </p>

          </div>

@@ -57,7 +56,7 @@ 

            <div class="collapse navbar-collapse navbar-center">

                <ul class="nav navbar-nav">

                    <li class=""><a href="index.html" class="active">${_('Base Images')}</a></li>

- <!--                  <li class=""><a href="atomic.html">${_('Atomic Host Images')}</a></li> -->

+                   <li class=""><a href="atomic.html">${_('Atomic Host Images')}</a></li>

                    <li class=""><a href="docker.html">${_('Docker Image')}</a></li>

                </ul>

            </div>

  • First, I reverted a number of workaround commits used to get things working while atomic was broken.
  • Second, I fixed a few bugs in atomic_vars that resulted from changed image names and urls.
  • Third, I removed all the old old default AMIs in globalvars. They cause us to think things are working when they are really not.
  • I fixed some urls in the atomic.html template.
  • I got the AMI polling working again for atomic which needed a url-pattern change.

I can't verify the details on this myself offhand, but it looks right at the high level. Thank you so much for diving into this!

I applied the patch on a local checkout and I get three issues on the Cloud Atomic download page:

  1. There's a general warning banner that states: "The latest two week build did not meet our testing criteria. The images available are from over ??? days ago. Check the Project Atomic blog for updates and information about Atomic blocker bugs."
  2. All the sizes report "???MB," rather than something exact.
  3. The link to the 64-bit Atomic Host image in the right bar appears to be wrong ("Cloud_Atomic" vs. "Atomic" on the mirror I got at rit.edu).

Is this an issue with the globals somewhere, or something else missing? Something I'm failing to do in testing?

@pfrields, I think issues number 1 and 2 are just hiccups. Those work for me locally.

I think issue #3 is actually an issue though, but it is a pre-existing one. AFAIK, we've never known what to do with that rightmost bar. There may have been some plan for it that never bore fruit.

Yeah, here are my logs from the build process. @pfrields, do you need to make veryclean?

INFO:atomic_vars:Looking for latest atomic release for 24
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): apps.fedoraproject.org
INFO:atomic_vars: Found composedate: 20160712.0
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): dl.fedoraproject.org
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): dl.fedoraproject.org
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): dl.fedoraproject.org
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): dl.fedoraproject.org
INFO:fedimg_vars:Looking for AMIs for Fedora-Cloud-Base-24-20160616.n.0.x86_64
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): apps.fedoraproject.org
INFO:fedimg_vars:Looking for AMIs for Fedora-Atomic-24-20160712.0.x86_64
INFO:atomic_vars:Looking for latest atomic release for 24
INFO:atomic_vars: Found composedate: 20160712.0
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): dl.fedoraproject.org
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): dl.fedoraproject.org
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): dl.fedoraproject.org
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): dl.fedoraproject.org

The fixes are working fine, but we need to make sure the images are synched out to the mirrors. Also, we are missing the Atomic Iso installer, in alt/atomic/stable I can find only a Fedora-Atomic-dvd.

Fianlly, we need to revert also commit 5ae1792 and 1fb82e9, dropping also the 32 bit checksum part.

All the rest looks good to me.

The fixes are working fine, but we need to make sure the images are synched out to the mirrors. Also, we are missing the Atomic Iso installer, in alt/atomic/stable I can find only a Fedora-Atomic-dvd.
Fianlly, we need to revert also commit 5ae1792 and 1fb82e9, dropping also the 32 bit checksum part.
All the rest looks good to me.

When you say "we are missing the Atomic ISO installer" what are you referring to other than the Fedora-Atomic-DVD?

Yeah, here are my logs from the build process. @pfrields, do you need to make veryclean?

I think the conversation has moved on already so I don't mean to be a pain. I did try make veryclean but it didn't make a difference for me.

Pull-Request has been merged by robyduck

3 years ago