Bouncer:v2:Uploading Files

From MozillaWiki
Jump to: navigation, search

Creating Products

  • Each product represents the "product" in the URL
http://download.mozilla.org/?product=Firefox-2.0-Complete&os=win&lang=en-US
  • Entering products is a bit tricky because we need to enter values that helps loader differentiate between products the are very similar. Here are the fields explained:
    • Product Name (pv_product_name)
      • This is typically human readable, used for the incoming bouncer URLs. It is used for templates, too, but in our flow we don't ever have matches in our filepaths (no caps). So it makes this field cosmetic.
    • Product Shortname (pv_product_shortname)
      • This field is used for the lower-case representation of the product in the hashfile path. It can be as simple as a single word, or as complicated as a longer filename like "firefox-2.0-2.0.0.1.partial.mar". When in doubt, it is better to err on the side of caution and be as descriptive as possible. The column is not a unique index, as loader can detect conflicts.
    • Version Name (pv_version_name)
      • This is typically the version string, which was originally meant to be used much like Product Name (pv_product_name) in the incoming URL. Since we are migrating from bouncer1, incoming products in the query string actually contain versions, so this column is not used for its intended purpose. Regardless, it can still be used as an additional identifier to help loader determine the right product. Usually this will be something like "1.0", "2.0" or "2.0.0.1" -- just your standard version fare.
    • Version Shortname (pv_version_shortname)
      • Used as additional version ID information, this can pertain to the version art of the path, or a specific piece of the filename that is version-specific. Since our flow works fine with a properly set Product Shortname, we can set this to a normal value identical to Version Name.
    • Path (pv_path)
      • This path is the bridge between the root of a mirror and the working directory from which the sumfile was generated. For example, if we are in "/firefox/releases/2.0.0.1" and we grab our SHA1SUMS file we would get entries like: "0647a1992ecd4a89a84bdd1dedbf7f058c9b24a5 ./linux-i686/en-US/firefox-2.0.0.1.tar.gz". The relative path is fleshed out in the multiple upload form to form the full working path. When loader gets this full working path, it will look for the pv_path. So in this example, our cwd is "/firefox/releases/2.0.0.1" and setting the right pv_path is another way to help loader properly identify the product.

Binaries

Complete Updates

Partials

Enabling Products

  • Products will not be checked until they are enabled. The "Status" column defaults to "OFF" -- in the products page, when you're ready to release a product and you want Sentry to start checking the mirror network for it, enable that product by hitting the "On/Off" link.