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
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>&copy; 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 },

Subscribers

People subscribed via source and target branches