Search code examples
pythongoogle-app-enginegae-module

How to force non-default GAE module to update to new version?


So I have the recommended setup for smaller projects, where you have multiple module YAML files all in the main file, all sharing source. Like here: https://cloud.google.com/appengine/docs/python/modules/#devserver

I only have 2 modules: the default module, and my backend module for running tasks, pipeline, etc.

Default is on version 22, backend is on version 'uno' (the first and only version of this module).

I cannot get backend to update to version 'dos'. Whenever I test things I am getting 404's, like the source files don't exist on the backend module. The requests make it to the correct module, but error out.

I have tried to update using: appcfg.py update main_directory app.yaml backend.yaml But it always looks like it is only doing a 'default module' update. I never see anything about the backend module. Even when I try the above command minus the app.yaml (which is acting as my default module YAML).

In the developer console I can only see the single version for my backend module. It has not added a 2nd version despite my attempts to add a 'dos' version, and a 'v2' version' - both never "worked".

Anyone else have problems updating a 'backend' module to a new version? Is it the 'all in one directory' setup giving me problems? Am I just not using the right appcfg incantation?

Update 1: My directory structure looks like this Multiple Modules - One Directory

where module1.yaml is app.yaml and module2.yaml is backend.yaml.


Solution

  • Drop the main_directory from the update command:

    appcfg.py update app.yaml backend.yaml

    Specifying a directory only works for single-module apps, for uploading modules only the respective modules' .yaml files should be specified:

    enter image description here

    You can also update a single module or a subset of the apps modules by specifying only the .yaml files for the desired module(s).