From 1b31862b7a519209e889039cb77ba773c76d232a Mon Sep 17 00:00:00 2001 From: Sahdev Zala Date: Mon, 21 Mar 2016 08:59:54 -0700 Subject: [PATCH] TOSCA web changes Add TOSCA templates to the app-catalog web Change-Id: I65639e39ec85f792d36645b86882723f4ecf7911 Partially-Implements: blueprint add-tosca-assets --- openstack_catalog/templates/index.html | 80 +++++++++++++++++- .../web/static/images/tosca-diagram.png | Bin 0 -> 62182 bytes .../web/static/js/apps-catalog.js | 39 ++++++++- 3 files changed, 116 insertions(+), 3 deletions(-) create mode 100644 openstack_catalog/web/static/images/tosca-diagram.png diff --git a/openstack_catalog/templates/index.html b/openstack_catalog/templates/index.html index 7daa166..11415c4 100644 --- a/openstack_catalog/templates/index.html +++ b/openstack_catalog/templates/index.html @@ -9,7 +9,7 @@ - + Community App Catalog @@ -73,6 +73,7 @@
  • Murano packages
  • Heat Templates
  • Glance Images
  • +
  • TOSCA Templates
  • Add New Content
  • @@ -178,6 +179,26 @@ +
    +
    + +

    TOSCA Templates

    + +
    +

    + In TOSCA Templates you will find templates and Cloud Service Archive (CSAR). To use them: +

    +
      +
    1. Browse the list and find the one you want
    2. +
    3. Download the raw template file or CSAR to your local machine
    4. +
    5. Use the template or CSAR per your need
    6. +
    7. To deploy template with OpenStack Heat, provide the template or CSAR to the OpenStack Heat-Translator which will produce a Heat Orchestration Template (HOT) as an output.
    8. +
    9. To simply parse the template, use it with OpenStack TOSCA-Parser project.
    10. +
    +
    +
    +
    @@ -287,6 +308,37 @@
    + +
    @@ -437,6 +489,32 @@ {{/if}} + + {% endverbatim %} diff --git a/openstack_catalog/web/static/images/tosca-diagram.png b/openstack_catalog/web/static/images/tosca-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..aa6d3f96179b714d2f34ba7728067c5500398c5f GIT binary patch literal 62182 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�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 literal 0 HcmV?d00001 diff --git a/openstack_catalog/web/static/js/apps-catalog.js b/openstack_catalog/web/static/js/apps-catalog.js index 2887518..3dca871 100644 --- a/openstack_catalog/web/static/js/apps-catalog.js +++ b/openstack_catalog/web/static/js/apps-catalog.js @@ -199,6 +199,15 @@ function show_murano_apps () filterData (murano_apps.assets, getUrlVars ())); } +var tosca_templates = { assets: [] }; + +function show_tosca_templates () +{ + populate_table ("tosca-templates-table", + ["name_html", "description", "release_html", "service.template_format"], + filterData (tosca_templates.assets, getUrlVars ())); +} + function initTabs () { $( "ul.nav > li > a" ).on("click", function (event) { @@ -260,6 +269,9 @@ function build_recently_added () (sorted_assets[i].service.type == 'bundle')) { divclass = "murano"; hreftab = "#tab=murano-apps&asset="; + }else if (sorted_assets[i].service.type == 'tosca') { + divclass = "tosca"; + hreftab = "#tab=tosca-templates&asset="; } $('.featured').append( $('
    ', {class: "col-md-2 col-sm-6"}) @@ -310,6 +322,8 @@ function initMarketPlace () murano_apps.assets.push(asset); asset.service.format = 'bundle'; } + }else if (asset.service.type == 'tosca') { + tosca_templates.assets.push(asset); } } @@ -325,7 +339,10 @@ function initMarketPlace () tableData = heat_templates.assets; for (var i = 0; i < tableData.length; i++) { - tableData[i].release_html = tableData[i].release.join (", "); + tableData[i].release_html = ""; + if (tableData[i].release) { + tableData[i].release_html = tableData[i].release.join(", "); + } setupInfoHandler ("heat-templates", i, tableData[i]); } @@ -336,7 +353,10 @@ function initMarketPlace () tableData = murano_apps.assets; for (var i = 0; i < tableData.length; i++) { - tableData[i].release_html = tableData[i].release.join (", "); + tableData[i].release_html = ""; + if (tableData[i].release) { + tableData[i].release_html = tableData[i].release.join(", "); + } setupInfoHandler ("murano-apps", i, tableData[i]); } @@ -344,6 +364,20 @@ function initMarketPlace () show_murano_apps (); initSingleSelector ("murano-release", "release", tableData, show_murano_apps); + + tableData = tosca_templates.assets; + for (var i = 0; i < tableData.length; i++) { + tableData[i].release_html = ""; + if (tableData[i].release) { + tableData[i].release_html = tableData[i].release.join(", "); + } + setupInfoHandler ("tosca-templates", i, tableData[i]); + } + + show_asset ("tosca-templates", tableData); + show_tosca_templates (); + + initSingleSelector ("tosca-release", "release", tableData, show_tosca_templates); }); } @@ -375,6 +409,7 @@ function navigate () show_asset ("murano-apps", murano_apps.assets); show_asset ("heat-templates", heat_templates.assets); show_asset ("glance-images", glance_images.assets); + show_asset ("tosca-templates", tosca_templates.assets); } else { $( "#" + selected_tab_name ).show (); }