Code Monkey home page Code Monkey logo

compute-appengine-demo-suite-python's Introduction

Google Compute Engine demo suite

About

The Compute Engine demo suite contains a variety of demos showing how to use Google Compute Engine. The demos are available live at http://gce-demos.appspot.com.

If you would like to run the application locally, follow the setup instructions.

Setup Instructions

  1. Update the application value in the root app.yaml file to your own App Engine app identity.

     application: your-app-id
    

    More information about the app.yaml file can be found in the App Engine documentation.

  2. Add a client_secrets.json file within the lib/google_cloud directory with your client id and secrets, as found in the API console. The file should look something like this:

    {
      "web": {
        "client_id": "24043....apps.googleusercontent.com",
        "client_secret": "iPVXC5...xVz",
        "redirect_uris": ["http://localhost:8080/oauth2callback",
                          "http://<your-app-id>.appspot.com/oauth2callback"],
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://accounts.google.com/o/oauth2/token"
      }
    }

    Also make sure that the redirect URIs are correctly associated with the client id and secret in the API console.

    More information about client secrets can be found in the API client library documentation.

  3. (optional) Update any of the defaults in the settings.json to match your preferences.

  4. (optional) You can optionally create custom images for the Fractal and Image Magick demos that will allow the instances to start quicker. First, start the instances using the demo UI. When at least one of the instances is up and running, ssh into that instance and follow the directions here for creating an image for an instance.

    Name the images fractal-demo-image and image-magick-demo-image respectively.

  5. Install dependencies listed in the dependencies section into the ext_lib directory. You can do this easily by executing the download_dependencies.sh bash script. Beware that this will delete all current contents of the ext_lib dir and download the dependencies fresh.

Dependencies

Add to ext_lib directory:

When adding new dependencies do the following:

  1. Add them to the list here
  2. Add them to the download_dependencies.sh script.
  3. Add them to demo-suite/lib_path.py

Fractal Demo

Load Balancing

The fractal demo can use load balancing. However, the feature is in preview and the API is under active development. As such, there are some pieces missing that will be filled in as the feature reaches maturity.

If load balancing is set up, it will work to forward all connections to an IP address to a set of VMs with a specific tag (fractal-cluster). Currently, the projects that support this are hard coded in the demo-suite/demos/fractal/main.py along with the IP/hostnames for the load balancer.

Boot from PD

If you initialize a set of boot PDs, they will be detected and used instead of booting from scratch disks. To do this run the demo-suite/demos/fractal/createpds.sh script. You'll have to update it to point to your project.

compute-appengine-demo-suite-python's People

Contributors

adam-singer avatar briandorsey avatar brisbink avatar jbeda avatar mco-gh avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.