Merge lp:~axwalk/juju-core/manual-provisioning-docs into lp:juju-core/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
Reviewer Review Type Date Requested Status
charmers Pending
Review via email: mp+188501@code.launchpad.net

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
=== added file 'htmldocs/config-manual.html'
--- htmldocs/config-manual.html 1970-01-01 00:00:00 +0000
+++ htmldocs/config-manual.html 2013-10-01 03:07:18 +0000
@@ -0,0 +1,230 @@
1<!DOCTYPE html>
2<html>
3<!--Head-->
4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6 <title>Juju Documentation</title>
7 <script src="/wp-content/themes/ubuntu/library/js/all-yui.js"></script>
8 <link href="https://fonts.googleapis.com/css?family=Ubuntu:400,300,300italic,400italic,700,700italic|Ubuntu+Mono" rel="stylesheet" type="text/css">
9 <link rel="stylesheet" type="text/css" media="screen" href="https://juju.ubuntu.com/wp-content/themes/juju-website/css/reset.css">
10 <link rel="shortcut icon" href="//assets.ubuntu.com/sites/ubuntu/latest/u/img/favicon.ico" />
11 <link rel="stylesheet" type="text/css" media="screen" href="//assets.ubuntu.com/sites/guidelines/css/latest/ubuntu-styles.css" />
12 <link rel="stylesheet" type="text/css" media="screen" href="//assets.ubuntu.com/sites/ubuntu/latest/u/css/global.css" />
13 <link rel="stylesheet" type="text/css" media="screen" href="https://juju.ubuntu.com/wp-content/themes/juju-website/css/960.css">
14 <link rel="stylesheet" type="text/css" media="screen" href="https://juju.ubuntu.com/wp-content/themes/juju-website/css/home-new.css">
15 <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">
16 <link href="./css/main.css" rel="stylesheet" type="text/css">
17
18 <!--[if lt IE 9]>
19 <script type="text/javascript" src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
20 <![endif]-->
21 </head>
22<!--End-Head-->
23
24
25
26 <body class="resources">
27
28<!--Header-->
29
30 <header class="banner global" role="banner">
31 <nav role="navigation" class="nav-primary nav-right">
32 <div class="logo">
33 <a class="logo-ubuntu" href="https://juju.ubuntu.com/">
34 <img width="118" height="27" src="//assets.ubuntu.com/sites/ubuntu/latest/u/img/logo.png" alt="Juju logo" />
35 <span>Juju</span>
36 </a>
37 </div>
38 <ul>
39 <li class="accessibility-aid"><a accesskey="s" href="#main-content">Jump to content</a></li>
40 <li class="page_item page-item-8"><a href="https://juju.ubuntu.com/charms/">Charms</a></li>
41 <li class="page_item page-item-10"><a href="https://juju.ubuntu.com/features/">Features</a></li>
42 <li class="page_item page-item-12"><a href="https://juju.ubuntu.com/deployment/">Deploy</a></li>
43 <li class="page_item page-item-14"><a href="https://juju.ubuntu.com/resources/">Resources</a></li>
44 <li class="page_item page-item-16"><a href="https://juju.ubuntu.com/community/">Community</a></li>
45 <li class="page_item page-item-18"><a href="https://juju.ubuntu.com/download/">Install Juju</a></li>
46 </ul>
47 <div id="box-search">
48 <form class="search-form" method="get" id="searchform" action="https://juju.ubuntu.com/">
49 <label class="off-left" for="s">Search:</label>
50 <input class="form-text" type="text" value="" name="s" id="s" />
51 <button class="off-left form-submit" type="submit" id="searchsubmit">Search</button>
52 </form>
53 </div>
54 </nav>
55 </header>
56<!--End-Header-->
57<!--Preamble-->
58<div class="wrapper">
59 <div id="main-content" class="inner-wrapper" role="main">
60 <div class="row no-border">
61 <div class="header-navigation-secondary"></div>
62 <h2 class="pagetitle">Juju documentation</h2>
63 </div>
64 <section id="content" class="container-12">
65 <div class="grid-12 doc-container">
66 <div id="navlinks" class="grid-3 doc-navigation">LINKS</div>
67 <div class="grid-9 doc-content">
68<!--End-Preamble-->
69 <article>
70 <section id="config_manual">
71 <h1>Manual Provisioning</h1>
72
73 <h2>Introduction</h2>
74 <p>
75 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.
76 </p>
77 <p class="note"><strong>Note:</strong> Manual provisioning is still in development, and should be considered experimental.</p>
78
79 <h2>Prerequisites</h2>
80 <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>
81
82 <h2>Configuration</h2>
83 <p>You should start by generating a generic configuration file for Juju and then switching to the "null" provider by using the command:
84<pre class="prettyprint lang-bash">
85juju init
86juju switch null
87</pre>
88 <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).
89 <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>
90 <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>
91<pre class="prettyprint lang-yaml">
92## https://juju.ubuntu.com/docs/config-manual.html
93"null":
94 type: "null"
95 admin-secret: 772b9471131c6b5883475e3908156d32
96 ## set bootstrap-host to the host where the bootstrap machine agent
97 ## should be provisioned.
98 bootstrap-host:
99 ## set the login user to bootstrap the machine as. If left blank,
100 ## juju will connect to the bootstrap machine as the current user.
101 # bootstrap-user:
102 ## set the IP address for the bootstrap machine to listen on for
103 ## storage requests. If left blank, storage will be served on all
104 ## network interfaces.
105 # storage-listen-ip:
106 # storage-port: 8040
107</pre>
108 <p class="note"><strong>Note:</strong> The quotes around "null" are required, as <code>null</code> is a reserved identifier in YAML.</p>
109
110 <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>
111
112 <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>
113
114 <h2>Bootstrapping</h2>
115 <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>
116<pre class="prettyprint lang-bash">
117juju bootstrap
118</pre>
119 <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>
120
121 <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>
122
123 <h2>Adding machines</h2>
124 <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>
125<pre class="prettyprint lang-bash">
126juju add-machine ssh:juju.ubuntu.com
127juju add-machine ssh:10.1.1.2
128juju add-machine ssh:otheruser@10.1.1.3
129</pre>
130<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>
131
132 <h2>Considerations and caveats</h2>
133 <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>
134 <ul>
135 <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>
136 <li>Sudo access is required on all manually provisioned machines, to install the Juju upstart services.</li>
137 <li>Manually provisioned machines must be running a supported version of Ubuntu (12.04+).</li>
138 <li>It is not currently possible to manually provision machines into non-null provider environments.</li>
139 </ul>
140
141 </section>
142 </article>
143<!--Postamble-->
144 </div>
145 </div>
146 </section>
147 </div>
148</div>
149<!--End-Postamble-->
150<!--Footer-->
151 <footer class="global clearfix" role="contentinfo">
152 <nav role="navigation">
153 <div class="footer-a">
154 <div class="clearfix">
155 <ul>
156 <li>
157 <h2><a href="/">Juju</a></h2>
158 <ul>
159 <li><a href="/charms">Charms</a></li>
160 <li><a href="/features">Features</a></li>
161 <li><a href="/deployment">Deployment</a></li>
162 </ul>
163 </li>
164 <li>
165 <h2><a href="/resources">Resources</a></h2>
166 <ul>
167 <li><a href="/resources/juju-overview/">Overview</a></li>
168 <li><a href="/docs/">Documentation</a></li>
169 <li><a href="/resources/the-juju-gui/">The Juju web UI</a></li>
170 <li><a href="/docs/authors-charm-store.html">The charm store</a></li>
171 <li><a href="/docs/getting-started.html#test">Tutorial</a></li>
172 <li><a href="/resources/videos/">Videos</a></li>
173 <li><a href="/resources/easy-tasks-for-new-developers/">Easy tasks for new developers</a></li>
174 </ul>
175 </li>
176 <li>
177 <h2><a href="/community">Community</a></h2>
178 <ul>
179 <li><a href="/community/blog/">Juju Blog</a></li>
180 <li><a href="/events/">Events</a></li>
181 <li><a href="/community/weekly-charm-meeting/">Weekly charm meeting</a></li>
182 <li><a href="/community/charmers/">Charmers</a></li>
183 <li><a href="/docs/authors-charm-writing.html">Write a charm</a></li>
184 <li><a href="/docs/contributing.html">Help with documentation</a></li>
185 <li><a href="https://bugs.launchpad.net/juju-website/+filebug">File a bug</a></li> <li><a href="/labs/">Juju Labs</a></li>
186 </ul>
187 </li>
188 <li>
189 <h2><a href="https://jujucharms.com/sidebar/">Try Juju</a></h2>
190 <ul>
191 <li><a href="https://jujucharms.com/">Charm store</a></li>
192 <li><a href="/download/">Download Juju</a></li>
193 </ul>
194 </li>
195 </ul>
196 </div>
197 </div>
198 </nav>
199 <div class="legal clearfix">
200 <p>&copy; 2013 Canonical Ltd. Ubuntu and Canonical are registered trademarks of <a href="http://canonical.com">Canonical Ltd</a>.</p>
201 </div>
202 </footer>
203
204<!--End-Footer-->
205
206<!--Scripts-->
207 <script src="//google-code-prettify.googlecode.com/svn/loader/run_prettify.js?skin=sunburst"></script>
208 <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
209 <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-ui.min.js"></script>
210 <script src="//d38yea5fb4e2oh.cloudfront.net/jquery.stacktack.min.js"></script>
211 <script type="text/javascript" src="https://juju.ubuntu.com/docs/js/main.js"></script>
212 <script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.js"></script>
213 <script src="//assets.ubuntu.com/sites/ubuntu/latest/u/js/core.js"></script>
214 <script src="//assets.ubuntu.com/sites/ubuntu/latest/u/js/global.js"></script>
215 <!-- google analytics -->
216 <script>
217 var _gaq = _gaq || [];
218 _gaq.push(['_setAccount', 'UA-1018242-41']);
219 _gaq.push(['_trackPageview']);
220
221 (function() {
222 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
223 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
224 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
225 })();
226 </script>
227<!--End-Scripts-->
228
229
230</body></html>
0231
=== modified file 'htmldocs/navigation.html'
--- htmldocs/navigation.html 2013-09-19 20:00:11 +0000
+++ htmldocs/navigation.html 2013-10-01 03:07:18 +0000
@@ -7,6 +7,7 @@
7 <li class=" sub"><a href="config-openstack.html">OpenStack Configuration</a></li>7 <li class=" sub"><a href="config-openstack.html">OpenStack Configuration</a></li>
8 <li class=" sub"><a href="config-maas.html">MAAS Configuration</a></li>8 <li class=" sub"><a href="config-maas.html">MAAS Configuration</a></li>
9 <li class=" sub"><a href="config-local.html">Local Configuration</a></li>9 <li class=" sub"><a href="config-local.html">Local Configuration</a></li>
10 <li class=" sub"><a href="config-manual.html">Manual Provisioning</a></li>
10 <li class=" sub"><a href="getting-started.html#test">Testing your setup</a></li>11 <li class=" sub"><a href="getting-started.html#test">Testing your setup</a></li>
11 <li class=""><a href="charms.html">Using Charms</a></li>12 <li class=""><a href="charms.html">Using Charms</a></li>
12 <li class=" sub"><a href="charms-deploying.html">Deploying Services</a></li>13 <li class=" sub"><a href="charms-deploying.html">Deploying Services</a></li>
1314
=== modified file 'htmldocs/navigation.json'
--- htmldocs/navigation.json 2013-09-19 20:00:11 +0000
+++ htmldocs/navigation.json 2013-10-01 03:07:18 +0000
@@ -9,6 +9,7 @@
9 "OpenStack Configuration": "config-openstack.html",9 "OpenStack Configuration": "config-openstack.html",
10 "MAAS Configuration": "config-maas.html",10 "MAAS Configuration": "config-maas.html",
11 "Local Configuration": "config-local.html",11 "Local Configuration": "config-local.html",
12 "Manual Provisioning": "config-manual.html",
12 "Testing your setup": "getting-started.html#test"13 "Testing your setup": "getting-started.html#test"
13 }14 }
14 },15 },

Subscribers

People subscribed via source and target branches