Merge lp:~axwalk/juju-core/manual-provisioning-docs into lp:juju-core/docs
- manual-provisioning-docs
- Merge into docs
Proposed by
Andrew Wilkins
Status: | Merged |
---|---|
Merged at revision: | 144 |
Proposed branch: | lp:~axwalk/juju-core/manual-provisioning-docs |
Merge into: | lp:juju-core/docs |
Diff against target: |
258 lines (+232/-0) 3 files modified
htmldocs/config-manual.html (+230/-0) htmldocs/navigation.html (+1/-0) htmldocs/navigation.json (+1/-0) |
To merge this branch: | bzr merge lp:~axwalk/juju-core/manual-provisioning-docs |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
charmers | Pending | ||
Review via email: mp+188501@code.launchpad.net |
Commit message
Description of the change
Document null provider and manual provisioning
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file 'htmldocs/config-manual.html' |
2 | --- htmldocs/config-manual.html 1970-01-01 00:00:00 +0000 |
3 | +++ htmldocs/config-manual.html 2013-10-01 03:07:18 +0000 |
4 | @@ -0,0 +1,230 @@ |
5 | +<!DOCTYPE html> |
6 | +<html> |
7 | +<!--Head--> |
8 | + <head> |
9 | + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
10 | + <title>Juju Documentation</title> |
11 | + <script src="/wp-content/themes/ubuntu/library/js/all-yui.js"></script> |
12 | + <link href="https://fonts.googleapis.com/css?family=Ubuntu:400,300,300italic,400italic,700,700italic|Ubuntu+Mono" rel="stylesheet" type="text/css"> |
13 | + <link rel="stylesheet" type="text/css" media="screen" href="https://juju.ubuntu.com/wp-content/themes/juju-website/css/reset.css"> |
14 | + <link rel="shortcut icon" href="//assets.ubuntu.com/sites/ubuntu/latest/u/img/favicon.ico" /> |
15 | + <link rel="stylesheet" type="text/css" media="screen" href="//assets.ubuntu.com/sites/guidelines/css/latest/ubuntu-styles.css" /> |
16 | + <link rel="stylesheet" type="text/css" media="screen" href="//assets.ubuntu.com/sites/ubuntu/latest/u/css/global.css" /> |
17 | + <link rel="stylesheet" type="text/css" media="screen" href="https://juju.ubuntu.com/wp-content/themes/juju-website/css/960.css"> |
18 | + <link rel="stylesheet" type="text/css" media="screen" href="https://juju.ubuntu.com/wp-content/themes/juju-website/css/home-new.css"> |
19 | + <link rel="stylesheet" id="stacktack-css" href="https://juju.ubuntu.com/wp-content/plugins/stacktack/css/stacktack.min.css?ver=3.4.2" type="text/css" media="all"> |
20 | + <link href="./css/main.css" rel="stylesheet" type="text/css"> |
21 | + |
22 | + <!--[if lt IE 9]> |
23 | + <script type="text/javascript" src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> |
24 | + <![endif]--> |
25 | + </head> |
26 | +<!--End-Head--> |
27 | + |
28 | + |
29 | + |
30 | + <body class="resources"> |
31 | + |
32 | +<!--Header--> |
33 | + |
34 | + <header class="banner global" role="banner"> |
35 | + <nav role="navigation" class="nav-primary nav-right"> |
36 | + <div class="logo"> |
37 | + <a class="logo-ubuntu" href="https://juju.ubuntu.com/"> |
38 | + <img width="118" height="27" src="//assets.ubuntu.com/sites/ubuntu/latest/u/img/logo.png" alt="Juju logo" /> |
39 | + <span>Juju</span> |
40 | + </a> |
41 | + </div> |
42 | + <ul> |
43 | + <li class="accessibility-aid"><a accesskey="s" href="#main-content">Jump to content</a></li> |
44 | + <li class="page_item page-item-8"><a href="https://juju.ubuntu.com/charms/">Charms</a></li> |
45 | + <li class="page_item page-item-10"><a href="https://juju.ubuntu.com/features/">Features</a></li> |
46 | + <li class="page_item page-item-12"><a href="https://juju.ubuntu.com/deployment/">Deploy</a></li> |
47 | + <li class="page_item page-item-14"><a href="https://juju.ubuntu.com/resources/">Resources</a></li> |
48 | + <li class="page_item page-item-16"><a href="https://juju.ubuntu.com/community/">Community</a></li> |
49 | + <li class="page_item page-item-18"><a href="https://juju.ubuntu.com/download/">Install Juju</a></li> |
50 | + </ul> |
51 | + <div id="box-search"> |
52 | + <form class="search-form" method="get" id="searchform" action="https://juju.ubuntu.com/"> |
53 | + <label class="off-left" for="s">Search:</label> |
54 | + <input class="form-text" type="text" value="" name="s" id="s" /> |
55 | + <button class="off-left form-submit" type="submit" id="searchsubmit">Search</button> |
56 | + </form> |
57 | + </div> |
58 | + </nav> |
59 | + </header> |
60 | +<!--End-Header--> |
61 | +<!--Preamble--> |
62 | +<div class="wrapper"> |
63 | + <div id="main-content" class="inner-wrapper" role="main"> |
64 | + <div class="row no-border"> |
65 | + <div class="header-navigation-secondary"></div> |
66 | + <h2 class="pagetitle">Juju documentation</h2> |
67 | + </div> |
68 | + <section id="content" class="container-12"> |
69 | + <div class="grid-12 doc-container"> |
70 | + <div id="navlinks" class="grid-3 doc-navigation">LINKS</div> |
71 | + <div class="grid-9 doc-content"> |
72 | +<!--End-Preamble--> |
73 | + <article> |
74 | + <section id="config_manual"> |
75 | + <h1>Manual Provisioning</h1> |
76 | + |
77 | + <h2>Introduction</h2> |
78 | + <p> |
79 | + Juju provides a feature called "manual provisioning" that enables you to deploy Juju, and charms, to existing systems. We will describe in this section how to configure an environment using this feature. |
80 | + </p> |
81 | + <p class="note"><strong>Note:</strong> Manual provisioning is still in development, and should be considered experimental.</p> |
82 | + |
83 | + <h2>Prerequisites</h2> |
84 | + <p>Manual provisioning enables you to run Juju on systems that have a supported operating system installed. You will need to ensure that you have both SSH access and sudo rights. It is not necessary to have a password-less login, however it will improve the experience by reducing the need for repeated logins.</p> |
85 | + |
86 | + <h2>Configuration</h2> |
87 | + <p>You should start by generating a generic configuration file for Juju and then switching to the "null" provider by using the command: |
88 | +<pre class="prettyprint lang-bash"> |
89 | +juju init |
90 | +juju switch null |
91 | +</pre> |
92 | + <p>This will generate a file, <strong>environments.yaml</strong> (if it doesn't already exist), which will live in your <strong>~/.juju/</strong> directory (and will create the directory if it doesn't already exist). |
93 | + <p class="note"><strong>Note:</strong> If you have an existing configuration, you can use <code>juju generate-config --show</code> to output the new config file, then copy and paste relevant areas in a text editor etc.</p> |
94 | + <p>The generic configuration sections generated for the null provider will look something like this, though Juju will generate this automatically you usually don't need to edit it:</p> |
95 | +<pre class="prettyprint lang-yaml"> |
96 | +## https://juju.ubuntu.com/docs/config-manual.html |
97 | +"null": |
98 | + type: "null" |
99 | + admin-secret: 772b9471131c6b5883475e3908156d32 |
100 | + ## set bootstrap-host to the host where the bootstrap machine agent |
101 | + ## should be provisioned. |
102 | + bootstrap-host: |
103 | + ## set the login user to bootstrap the machine as. If left blank, |
104 | + ## juju will connect to the bootstrap machine as the current user. |
105 | + # bootstrap-user: |
106 | + ## set the IP address for the bootstrap machine to listen on for |
107 | + ## storage requests. If left blank, storage will be served on all |
108 | + ## network interfaces. |
109 | + # storage-listen-ip: |
110 | + # storage-port: 8040 |
111 | +</pre> |
112 | + <p class="note"><strong>Note:</strong> The quotes around "null" are required, as <code>null</code> is a reserved identifier in YAML.</p> |
113 | + |
114 | + <p>When bootstrapped, tools storage will be served from the <code>bootstrap-host</code> on the specified <code>storage-listen-ip</code> and <code>storage-port</code>.</p> |
115 | + |
116 | + <p>The null provider does not perform automatic machine provisioning like other providers; instead, you must manually provision machines into the environment. Provisioning machines is described in the following sections.</p> |
117 | + |
118 | + <h2>Bootstrapping</h2> |
119 | + <p>To bootstrap a null environment, you must specify the <code>bootstrap-host</code> configuration, and optionally the <code>bootstrap-user</code> configuration. If <code>bootstrap-user</code> is not specified, then Juju will ssh to the bootstrap host as the current user. Once the configuration is specified, you bootstrap as usual:</p> |
120 | +<pre class="prettyprint lang-bash"> |
121 | +juju bootstrap |
122 | +</pre> |
123 | + <p>The <code>juju bootstrap</code> command will connect to <code>bootstrap-host</code> via SSH, and copy across and install the Juju agent.</p> |
124 | + |
125 | + <p class="note"><strong>Note:</strong> Automated destruction of null environments is currently unimplemented. To remove Juju from the <code>bootstrap-host</code>, you will need to manually stop and remove the upstart jobs (<code>/etc/init/juju*</code>).</p> |
126 | + |
127 | + <h2>Adding machines</h2> |
128 | + <p>To add another machine into a null environment, you must use a variant of the <code>juju add-machine</code> command, such as follows:</p> |
129 | +<pre class="prettyprint lang-bash"> |
130 | +juju add-machine ssh:juju.ubuntu.com |
131 | +juju add-machine ssh:10.1.1.2 |
132 | +juju add-machine ssh:otheruser@10.1.1.3 |
133 | +</pre> |
134 | +<p>As with bootstrapping, <code>juju add-machine ssh:...</code> will connect to the machine via SSH to install the Juju agent. Machines added in this way may be removed in the usual manner, with <code>juju destroy-machine</code>.</p> |
135 | + |
136 | + <h2>Considerations and caveats</h2> |
137 | + <p>As is implied by its name, the null provider does not attempt to control all aspects of the environment, and leaves much to the user. There are several additional things to consider:</p> |
138 | + <ul> |
139 | + <li>All machines added with <code>juju add-machine ssh:...</code> must be able to address and communicate directly with the <code>bootstrap-host</code>, and vice-versa.</li> |
140 | + <li>Sudo access is required on all manually provisioned machines, to install the Juju upstart services.</li> |
141 | + <li>Manually provisioned machines must be running a supported version of Ubuntu (12.04+).</li> |
142 | + <li>It is not currently possible to manually provision machines into non-null provider environments.</li> |
143 | + </ul> |
144 | + |
145 | + </section> |
146 | + </article> |
147 | +<!--Postamble--> |
148 | + </div> |
149 | + </div> |
150 | + </section> |
151 | + </div> |
152 | +</div> |
153 | +<!--End-Postamble--> |
154 | +<!--Footer--> |
155 | + <footer class="global clearfix" role="contentinfo"> |
156 | + <nav role="navigation"> |
157 | + <div class="footer-a"> |
158 | + <div class="clearfix"> |
159 | + <ul> |
160 | + <li> |
161 | + <h2><a href="/">Juju</a></h2> |
162 | + <ul> |
163 | + <li><a href="/charms">Charms</a></li> |
164 | + <li><a href="/features">Features</a></li> |
165 | + <li><a href="/deployment">Deployment</a></li> |
166 | + </ul> |
167 | + </li> |
168 | + <li> |
169 | + <h2><a href="/resources">Resources</a></h2> |
170 | + <ul> |
171 | + <li><a href="/resources/juju-overview/">Overview</a></li> |
172 | + <li><a href="/docs/">Documentation</a></li> |
173 | + <li><a href="/resources/the-juju-gui/">The Juju web UI</a></li> |
174 | + <li><a href="/docs/authors-charm-store.html">The charm store</a></li> |
175 | + <li><a href="/docs/getting-started.html#test">Tutorial</a></li> |
176 | + <li><a href="/resources/videos/">Videos</a></li> |
177 | + <li><a href="/resources/easy-tasks-for-new-developers/">Easy tasks for new developers</a></li> |
178 | + </ul> |
179 | + </li> |
180 | + <li> |
181 | + <h2><a href="/community">Community</a></h2> |
182 | + <ul> |
183 | + <li><a href="/community/blog/">Juju Blog</a></li> |
184 | + <li><a href="/events/">Events</a></li> |
185 | + <li><a href="/community/weekly-charm-meeting/">Weekly charm meeting</a></li> |
186 | + <li><a href="/community/charmers/">Charmers</a></li> |
187 | + <li><a href="/docs/authors-charm-writing.html">Write a charm</a></li> |
188 | + <li><a href="/docs/contributing.html">Help with documentation</a></li> |
189 | + <li><a href="https://bugs.launchpad.net/juju-website/+filebug">File a bug</a></li> <li><a href="/labs/">Juju Labs</a></li> |
190 | + </ul> |
191 | + </li> |
192 | + <li> |
193 | + <h2><a href="https://jujucharms.com/sidebar/">Try Juju</a></h2> |
194 | + <ul> |
195 | + <li><a href="https://jujucharms.com/">Charm store</a></li> |
196 | + <li><a href="/download/">Download Juju</a></li> |
197 | + </ul> |
198 | + </li> |
199 | + </ul> |
200 | + </div> |
201 | + </div> |
202 | + </nav> |
203 | + <div class="legal clearfix"> |
204 | + <p>© 2013 Canonical Ltd. Ubuntu and Canonical are registered trademarks of <a href="http://canonical.com">Canonical Ltd</a>.</p> |
205 | + </div> |
206 | + </footer> |
207 | + |
208 | +<!--End-Footer--> |
209 | + |
210 | +<!--Scripts--> |
211 | + <script src="//google-code-prettify.googlecode.com/svn/loader/run_prettify.js?skin=sunburst"></script> |
212 | + <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> |
213 | + <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-ui.min.js"></script> |
214 | + <script src="//d38yea5fb4e2oh.cloudfront.net/jquery.stacktack.min.js"></script> |
215 | + <script type="text/javascript" src="https://juju.ubuntu.com/docs/js/main.js"></script> |
216 | + <script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.js"></script> |
217 | + <script src="//assets.ubuntu.com/sites/ubuntu/latest/u/js/core.js"></script> |
218 | + <script src="//assets.ubuntu.com/sites/ubuntu/latest/u/js/global.js"></script> |
219 | + <!-- google analytics --> |
220 | + <script> |
221 | + var _gaq = _gaq || []; |
222 | + _gaq.push(['_setAccount', 'UA-1018242-41']); |
223 | + _gaq.push(['_trackPageview']); |
224 | + |
225 | + (function() { |
226 | + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; |
227 | + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; |
228 | + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); |
229 | + })(); |
230 | + </script> |
231 | +<!--End-Scripts--> |
232 | + |
233 | + |
234 | +</body></html> |
235 | |
236 | === modified file 'htmldocs/navigation.html' |
237 | --- htmldocs/navigation.html 2013-09-19 20:00:11 +0000 |
238 | +++ htmldocs/navigation.html 2013-10-01 03:07:18 +0000 |
239 | @@ -7,6 +7,7 @@ |
240 | <li class=" sub"><a href="config-openstack.html">OpenStack Configuration</a></li> |
241 | <li class=" sub"><a href="config-maas.html">MAAS Configuration</a></li> |
242 | <li class=" sub"><a href="config-local.html">Local Configuration</a></li> |
243 | + <li class=" sub"><a href="config-manual.html">Manual Provisioning</a></li> |
244 | <li class=" sub"><a href="getting-started.html#test">Testing your setup</a></li> |
245 | <li class=""><a href="charms.html">Using Charms</a></li> |
246 | <li class=" sub"><a href="charms-deploying.html">Deploying Services</a></li> |
247 | |
248 | === modified file 'htmldocs/navigation.json' |
249 | --- htmldocs/navigation.json 2013-09-19 20:00:11 +0000 |
250 | +++ htmldocs/navigation.json 2013-10-01 03:07:18 +0000 |
251 | @@ -9,6 +9,7 @@ |
252 | "OpenStack Configuration": "config-openstack.html", |
253 | "MAAS Configuration": "config-maas.html", |
254 | "Local Configuration": "config-local.html", |
255 | + "Manual Provisioning": "config-manual.html", |
256 | "Testing your setup": "getting-started.html#test" |
257 | } |
258 | }, |