Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(303)

Unified Diff: doc/simplestreams-metadata.txt

Issue 68990043: System SSH key upgrader (Closed)
Patch Set: System SSH key upgrader Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cmd/jujud/upgrade_test.go ('k') | environs/bootstrap/state.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: doc/simplestreams-metadata.txt
=== modified file 'doc/simplestreams-metadata.txt'
--- doc/simplestreams-metadata.txt 2013-11-05 02:02:12 +0000
+++ doc/simplestreams-metadata.txt 2014-02-25 04:47:53 +0000
@@ -23,14 +23,14 @@
1. User supplied location (specified by tools-metadata-url or image-metadata-url config settings)
2. The environment's cloud storage
3. Provider specific locations (eg keystone endpoint if on Openstack)
-4. A web location with metadata for supported public clouds (https://streams.canonical.com)
+4. A web location with metadata for supported public clouds (https://streams.canonical.com/juju)
Metadata may be inline signed, or unsigned. We indicate a metadata file is signed by using
a '.sjson' extension. Each location in the path is first searched for signed metadata, and
if none is found, unsigned metadata is attempted before moving onto the next path location.
Juju ships with public keys used to validate the integrity of image and tools metadata obtained
-from https://streams.canonical.com. So out of the box, Juju will "Just Work" with any supported
+from https://streams.canonical.com/juju. So out of the box, Juju will "Just Work" with any supported
public cloud, using signed metadata. Setting up metadata for a private (eg Openstack) cloud requires
metadata to be generated using tools which ship with Juju (more below).
@@ -148,7 +148,7 @@
juju-tools : the <path_url> value as described above in Tools Metadata Contents
product-streams : the <path_url> value as described above in Image Metadata Contents
-4. Central web location (https://streams.canonical.com)
+4. Central web location (https://streams.canonical.com/juju)
This is the default location used to search for image and tools metadata and is used if no matches
are found earlier in any of the above locations. No user configuration is required.
@@ -164,7 +164,7 @@
Issue 2 means that tools need to be mirrored locally to make them accessible.
Juju tools exist to help with generating and validating image and tools metadata.
-For tools, it is often easiest to just mirror https://streams.canonical.com/tools.
+For tools, it is often easiest to just mirror https://streams.canonical.com/juju/tools.
However image metadata cannot be simply mirrored because the image ids are taken
from the cloud storage provider, so this need to be generated and validated using
the commands described below.
@@ -172,12 +172,25 @@
The available Juju metadata tools can be seen by using the help command:
juju help metadata
-The overall workflow is:
-- generate image metadata
-- copy image metadata to somewhere in the metadata search path
+A summary of the overall workflow is (more detail next):
+- create a local directory in which to store image and tools metadata
+- generate image metadata to local directory
+- optionally download tools to local directory/tools
+Then either
+- juju bootstrap --metadata-source <local_directory>
+or
+- optionally, copy image metadata to somewhere in the metadata search path
- optionally, mirror tools to somewhere in the metadata search path
- optionally, configure tools-metadata-url and/or image-metadata-url
+If the bootstrap --metadata-source directory option is used, any image metadata and tools found
+in the specified directory will be uploaded automatically to the cloud storage for that deployment.
+This is useful for situations where image and tools metadata do not need to be shared amongst several
+users, since each Juju environment will upload its own separate copy of the required files.
+
+Using the image-metadata-url and tools-metadata-url to point to publicly accessible locations is useful
+when several Juju environments are to be deployed on a private cloud and the metadata should be shared.
+
1. Image metadata
Generate image metadata using
@@ -189,15 +202,15 @@
The image metadata command can be run multiple times with different regions, series, architecture, and
it will keep adding to the metadata files. Once all required image ids have been added, the index and product
-json files can be uploaded to a location in the Juju metadata search path. As per the Configuration section,
-this may be somewhere specified by the image-metadata-url setting or the cloud's storage etc.
+json files are ready to use. These can be uploaded to a location in the Juju metadata search path or the bootstrap
+--metadata-source option may be used.
Examples:
1. image-metadata-url
- upload contents of <metadata_dir> to http://somelocation
- set image-metadata-url to http://somelocation/images
-2. Cloud storage
- - upload contents of <metadata_dir> directly to environment's cloud storage
+2. bootstrap option
+ - juju bootstrap --metadata-source <metadata_dir>
To ensure that the image metadata has been generated and uploaded correctly, use the validation command to
ensure an image id can be discovered for a given scenario (region series, arch):
@@ -210,21 +223,23 @@
2. Tools metadata
-Generally, tools and related metadata is mirrored from https://streams.canonical.com/tools. However,
+Generally, tools and related metadata is mirrored from https://streams.canonical.com/juju/tools. However,
it is possible to manually generate metadata for a custom built tools tarball using:
- juju generate-tools -d <tools_dir>
+ juju generate-tools -d <metadata_dir>
-where the required tools tarballs are first placed in a directory <tools_dir>/tools/releases.
-Then, the contents of <tools_dir> can be uploaded to a location in the Juju metadata search path.
-As per the Configuration section, this may be somewhere specified by the tools-metadata-url setting or
-the cloud's storage etc.
+where the required tools tarballs are first placed in a directory <metadata_dir>/tools/releases.
+Then, the contents of <metadata_dir> can be uploaded to a location in the Juju metadata search path or the
+bootstrap --metadata-source option may be used.
Examples:
1. tools-metadata-url
- - upload contents of <tools_dir> to http://somelocation
+ - upload contents of <metadata_dir> to http://somelocation
- set tools-metadata-url to http://somelocation/tools
-2. Cloud storage
- - upload contents of <tools_dir> directly to environment's cloud storage
+2. bootstrap option
+ - juju bootstrap --metadata-source <tools_dir>
+
+Note that image and tools metadata are generally written into the same local directory and the bootstrap
+--metadata-source option will upload both types of metadata.
As with image metadata, the validation command is used to ensure tools are available for Juju to use:
juju metadata validate-tools
« no previous file with comments | « cmd/jujud/upgrade_test.go ('k') | environs/bootstrap/state.go » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b