dev-lxc 2.7.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +54 -94
- data/bin/{dev-lxc → dl} +0 -0
- data/docs/adhoc_clusters.md +3 -5
- data/docs/base_containers.md +3 -3
- data/docs/configuration.md +11 -5
- data/docs/mitmproxy.md +7 -0
- data/docs/usage.md +66 -39
- data/lib/dev-lxc/cli.rb +6 -6
- data/lib/dev-lxc/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27e29d239c3a0ace8d73c26432ca4b4aeff00575
|
4
|
+
data.tar.gz: baa644c15104f2b374710b300ba387e35e83391e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 307edb219ff3d8c6553632c0fac42e8a5a86e7a4aeb717a67fb072c646102a61ab4951b53add995b307df4efa1a4572630f13afd6727fb24bd9f0e4e150dec6c
|
7
|
+
data.tar.gz: 5c3017b50b7757c9ea6c5809c983ff652e1d96d41bfed38cd04c667dfb1872c242ad7ffe69fb72a9013ed94ca6b8aae762b1ec8a07d7d8131ff83972599792e4
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
# dev-lxc Change Log
|
2
2
|
|
3
|
+
## 3.0.0 (2017-03-06)
|
4
|
+
|
5
|
+
* Rename `dev-lxc` binary to `dl`
|
6
|
+
* Comment out the "reporting" product in generated config files since it is a legacy product.
|
7
|
+
* Change default automate license_path in generated config files to something more readily usable.
|
8
|
+
* Change default mounts and ssh-keys paths in generated config files
|
9
|
+
* Overhaul documentation
|
10
|
+
|
3
11
|
## 2.7.0 (2017-03-03)
|
4
12
|
|
5
13
|
* Make chef-repo command only create .chef directory
|
data/README.md
CHANGED
@@ -88,158 +88,114 @@ sudo -i
|
|
88
88
|
chef gem update dev-lxc
|
89
89
|
```
|
90
90
|
|
91
|
-
##
|
91
|
+
## dl Command and Subcommands
|
92
92
|
|
93
|
-
|
93
|
+
`dl` is the dev-lxc command line tool.
|
94
94
|
|
95
|
-
|
96
|
-
dev-lxc help
|
95
|
+
`dev-lxc` subcommands and some options can be auto-completed by pressing the `Tab` key.
|
97
96
|
|
98
|
-
dev-lxc
|
99
|
-
```
|
97
|
+
You only have to type enough of a `dev-lxc` subcommand to make it unique.
|
100
98
|
|
101
|
-
|
99
|
+
For example, the following commands are equivalent:
|
100
|
+
|
101
|
+
```
|
102
|
+
dl help
|
103
|
+
dl he
|
104
|
+
```
|
102
105
|
|
103
|
-
|
106
|
+
## Display dev-lxc help
|
104
107
|
|
105
108
|
```
|
106
|
-
|
109
|
+
dl help
|
110
|
+
|
111
|
+
dl help <subcommand>
|
107
112
|
```
|
108
113
|
|
109
|
-
|
114
|
+
## Demo: Build Chef Automate Cluster
|
110
115
|
|
111
|
-
Create
|
116
|
+
### Create Base Container
|
112
117
|
|
113
|
-
|
118
|
+
Create an Ubuntu 14.04 base container for the cluster's containers.
|
114
119
|
|
115
120
|
```
|
116
|
-
|
121
|
+
dl create b-ubuntu-1404
|
117
122
|
```
|
118
123
|
|
119
|
-
|
124
|
+
### Create Config File
|
120
125
|
|
121
|
-
|
122
|
-
Chef Automate server, and a job dispatch runner.
|
126
|
+
Create a directory to hold the dev-lxc.yml file.
|
123
127
|
|
124
128
|
```
|
125
|
-
|
129
|
+
mkdir -p /root/clusters/automate
|
126
130
|
```
|
127
131
|
|
128
|
-
|
132
|
+
The following command creates a dev-lxc.yml file that defines a standalone Chef Server, Supermarket server, Compliance server,
|
133
|
+
Chef Automate server a Job Dispatch Runner and an infrastructure node.
|
129
134
|
|
130
135
|
```
|
131
|
-
|
136
|
+
dl init --chef --compliance --supermarket --automate --runners --nodes > /root/clusters/automate/dev-lxc.yml
|
132
137
|
```
|
133
138
|
|
134
|
-
|
135
|
-
|
136
|
-
* Delete the `reporting` product from the Chef Server config since we will be using Chef Automate's Visibility.
|
137
|
-
* Set the Automate server's `license_path` value to the location of your license file.
|
138
|
-
* (Optionally) If you built other clusters then you can modify the server names (including the nodes' `chef_server_url`) in this cluster to
|
139
|
-
make them [unique from the other clusters](docs/manage_multiple_clusters.md).
|
139
|
+
Copy your delivery.license file to the `/root/clusters` directory.
|
140
140
|
|
141
141
|
### cluster-view
|
142
142
|
|
143
|
-
Run the `cluster-view` command to create a Byobu session specifically for this cluster.
|
143
|
+
Run the `cluster-view` command to create a Byobu (tmux) session specifically for this cluster.
|
144
|
+
|
145
|
+
```
|
146
|
+
cluster-view /root/clusters/automate
|
147
|
+
```
|
144
148
|
|
145
149
|
The session's first window is named "cluster".
|
146
150
|
|
147
151
|
The left pane is useful for running dev-lxc commands.
|
148
152
|
|
149
|
-
The right pane updates every 0.5 seconds with the cluster's status provided by `
|
153
|
+
The right pane updates every 0.5 seconds with the cluster's status provided by `dl status`.
|
150
154
|
|
151
155
|
The session's second window is named "shell". It opens in the same directory as the
|
152
156
|
cluster's `dev-lxc.yml` file and is useful for attaching to a server to perform system administration tasks.
|
153
157
|
|
154
158
|
See the [usage docs](docs/usage.md) for more information about how to close/kill Byobu sessions.
|
155
159
|
|
156
|
-
```
|
157
|
-
cluster-view /root/work/clusters/automate
|
158
|
-
```
|
159
|
-
|
160
|
-
### dev-lxc Alias and Subcommands
|
161
|
-
|
162
|
-
The dev-lxc command has a `dl` alias for ease of use.
|
163
|
-
|
164
|
-
Also, you only have to type enough of a `dev-lxc` subcommand to make it unique.
|
165
|
-
|
166
|
-
For example, the following commands are equivalent:
|
167
|
-
|
168
|
-
```
|
169
|
-
dev-lxc status
|
170
|
-
dl st
|
171
|
-
```
|
172
|
-
|
173
|
-
```
|
174
|
-
dev-lxc snapshot
|
175
|
-
dl sn
|
176
|
-
```
|
177
|
-
|
178
|
-
### Specifying a Subset of Servers
|
179
|
-
|
180
|
-
Many dev-lxc subcommands can act on a subset of the cluster's servers by specifying a regular expression that matches the desired server names.
|
181
|
-
|
182
|
-
For example, the following command will show the status of the infrastructure node.
|
183
|
-
|
184
|
-
```
|
185
|
-
dl status node
|
186
|
-
```
|
187
|
-
|
188
160
|
### Build the Cluster
|
189
161
|
|
190
|
-
dev-lxc knows to build the servers in an appropriate order.
|
191
|
-
|
192
|
-
It downloads the product packages to a cache location and installs the packages in each server.
|
193
|
-
|
194
|
-
It configures each product and creates necessary things such as Chef organizations and users as needed.
|
195
|
-
|
196
162
|
```
|
197
163
|
dl up
|
198
164
|
```
|
199
165
|
|
200
|
-
Note: You also have the option of running the `prepare-product-cache` subcommand which downloads required product packages to the cache.
|
201
|
-
This can be helpful when you don't want to start building the cluster yet but you want the package cache ready when you build the cluster later.
|
202
|
-
|
203
166
|
### Use the Servers
|
204
167
|
|
205
168
|
At this point all of the cluster's servers should be running.
|
206
169
|
|
207
|
-
|
170
|
+
Since the cluster has a Chef Server and an infrastructure node dev-lxc made sure it configured the node's chef-client for the Chef Server so it is easy to converge the node.
|
208
171
|
|
209
|
-
|
172
|
+
You can use the `attach` subcommand to login to the root user of a server. For example, the following commands should attach to node-1.lxc, start a chef-client run and exit the node.
|
210
173
|
|
211
174
|
```
|
212
|
-
dl
|
213
|
-
|
175
|
+
dl attach node
|
176
|
+
chef-client
|
177
|
+
exit
|
214
178
|
```
|
215
179
|
|
216
|
-
Since the cluster has a Chef
|
180
|
+
Since the cluster has a Chef Server you can use the `chef-repo` subcommand to create a `.chef` directory in the host instance that contains a knife.rb and all of the keys for the users and org validator clients that are defined in dev-lxc.yml. This makes it very easy to use tools such as knife or berkshelf.
|
217
181
|
|
218
182
|
```
|
219
|
-
dl
|
183
|
+
dl chef-repo
|
184
|
+
# set `username` to `mary-admin` and `orgname` to `demo` in `.chef/knife.rb`
|
185
|
+
knife client list
|
220
186
|
```
|
221
187
|
|
222
|
-
|
223
|
-
|
224
|
-
For example, the following command should attach to the Chef Server.
|
188
|
+
Since the cluster has a Chef Automate server you can use the `print-automate-credentials` subcommand to see the login credentials.
|
225
189
|
|
226
190
|
```
|
227
|
-
dl
|
191
|
+
dl print
|
228
192
|
```
|
229
193
|
|
230
|
-
|
231
|
-
|
232
|
-
### Use mitmproxy to view HTTP traffic
|
233
|
-
|
234
|
-
Run `mitmproxy` in a terminal on the host instance.
|
235
|
-
|
236
|
-
Uncomment the `https_proxy` line in the chef-repo's `.chef/knife.rb` or in a node's `/etc/chef/client.rb` so traffic from knife commands or chef-client runs will be proxied through mitmproxy making the HTTP requests visible in the mitmproxy console.
|
237
|
-
|
238
|
-
If you configured your workstation's SSH config file with LocalForward as described in dev-lxc-platform's README then you should be able to configure the web browser to use "127.0.0.1 8080" for HTTP and HTTPS proxies and watch the HTTP requests appear in the mitmproxy console.
|
194
|
+
If you enabled dynamic forwarding (SOCKS v5) in your workstation's SSH config file and configured a web browser to use the SOCKS v5 proxy as described in the dev-lxc-platform README.md then you should be able to browse from your workstation to any server that has a web interface using its FQDN. For example, browse to https://automate.lxc and login with the credentials that you just displayed in the previous step.
|
239
195
|
|
240
196
|
### Manage the Cluster
|
241
197
|
|
242
|
-
The right pane of the "cluster" window should show `
|
198
|
+
The right pane of the "cluster" window should show `dl status` output. This shows the status of each server including any existing snapshots.
|
243
199
|
|
244
200
|
It is recommended that you stop the servers before restoring or creating snapshots.
|
245
201
|
|
@@ -250,7 +206,7 @@ dl halt
|
|
250
206
|
You can restore the most recent snapshot of all the servers.
|
251
207
|
|
252
208
|
```
|
253
|
-
dl
|
209
|
+
dl snapshot -r
|
254
210
|
```
|
255
211
|
|
256
212
|
You could also restore a specific snapshot by name if you desire.
|
@@ -258,27 +214,31 @@ You could also restore a specific snapshot by name if you desire.
|
|
258
214
|
For example, you could restore the Chef Automate server to the state right after its package was installed but before it was configured.
|
259
215
|
|
260
216
|
```
|
261
|
-
dl
|
217
|
+
dl snapshot automate -r snap0
|
262
218
|
```
|
263
219
|
|
264
220
|
You can create snapshots with or without a comment.
|
265
221
|
|
266
222
|
```
|
267
|
-
dl
|
223
|
+
dl snapshot -c 'Demo snapshot'
|
268
224
|
```
|
269
225
|
|
270
226
|
You can destroy snapshots.
|
271
227
|
|
272
228
|
```
|
273
|
-
dl
|
229
|
+
dl snapshot -d snap2
|
274
230
|
```
|
275
231
|
|
276
|
-
|
232
|
+
Generally speaking, a cluster can be reused for a long time especially since snapshots easily allow you to restore the cluster to its initial build state. However, if you really want to destroy the servers and their snapshots you can use the `destroy` subcommand.
|
277
233
|
|
278
234
|
```
|
279
|
-
dl
|
235
|
+
dl destroy
|
280
236
|
```
|
281
237
|
|
238
|
+
## More Documentation
|
239
|
+
|
240
|
+
For more in-depth documentation please see the pages in the [docs folder](docs).
|
241
|
+
|
282
242
|
## Contributing
|
283
243
|
|
284
244
|
1. Fork it
|
data/bin/{dev-lxc → dl}
RENAMED
File without changes
|
data/docs/adhoc_clusters.md
CHANGED
@@ -13,10 +13,8 @@ The number of servers, their names and their IP addresses can be changed to fit
|
|
13
13
|
particular requirements.
|
14
14
|
|
15
15
|
```
|
16
|
-
mkdir -p /root/
|
17
|
-
|
18
|
-
|
19
|
-
# edit dev-lxc.yml to have enough adhoc servers for a delivery cluster
|
20
|
-
cluster-view
|
16
|
+
mkdir -p /root/clusters/delivery
|
17
|
+
dl init --adhoc > /root/clusters/delivery/dev-lxc.yml
|
18
|
+
cluster-view /root/clusters/delivery
|
21
19
|
dl up
|
22
20
|
```
|
data/docs/base_containers.md
CHANGED
@@ -26,19 +26,19 @@ dev-lxc base containers have a "dev-lxc" user with "dev-lxc" password and passwo
|
|
26
26
|
You can see a menu of base containers that `dev-lxc` can create by using the following command.
|
27
27
|
|
28
28
|
```
|
29
|
-
|
29
|
+
dl create-base-container
|
30
30
|
```
|
31
31
|
|
32
32
|
The initial creation of base containers can take awhile so let's go ahead and start creating
|
33
33
|
an Ubuntu 14.04 container now.
|
34
34
|
|
35
35
|
```
|
36
|
-
|
36
|
+
dl create-base-container b-ubuntu-1404
|
37
37
|
```
|
38
38
|
|
39
39
|
Note: It is possible to pass additional arguments to the underlying LXC create command.
|
40
40
|
For example:
|
41
41
|
|
42
42
|
```
|
43
|
-
|
43
|
+
dl create-base-container b-ubuntu-1404 -o -- '--no-validate --keyserver http://my.key.server.com'
|
44
44
|
```
|
data/docs/configuration.md
CHANGED
@@ -5,10 +5,16 @@ dev-lxc uses a YAML configuration file named `dev-lxc.yml` to define a cluster.
|
|
5
5
|
The `init` command generates sample config files for various server types.
|
6
6
|
|
7
7
|
Let's generate a config for a cluster with a standalone Chef Server, Supermarket server,
|
8
|
-
Compliance server, Chef Automate server
|
8
|
+
Compliance server, Chef Automate server and a Job Dispatch Runner.
|
9
9
|
|
10
10
|
```
|
11
|
-
|
11
|
+
dl init --chef --compliance --supermarket --automate --runners > dev-lxc.yml
|
12
|
+
```
|
13
|
+
|
14
|
+
We can easily append additional configurations to this file. For example, the following command appends an infrastructure node.
|
15
|
+
|
16
|
+
```
|
17
|
+
dl init --nodes -a >> /root/work/clusters/automate/dev-lxc.yml
|
12
18
|
```
|
13
19
|
|
14
20
|
The contents of `dev-lxc.yml` should look like this.
|
@@ -30,11 +36,11 @@ base_container: b-ubuntu-1404
|
|
30
36
|
|
31
37
|
# list any host directories you want mounted into the servers
|
32
38
|
#mounts:
|
33
|
-
# - /root/
|
39
|
+
# - /root/clusters root/clusters
|
34
40
|
|
35
41
|
# list any SSH public keys you want added to /home/dev-lxc/.ssh/authorized_keys
|
36
42
|
#ssh-keys:
|
37
|
-
# - /root/
|
43
|
+
# - /root/clusters/id_rsa.pub
|
38
44
|
|
39
45
|
# DHCP reserved (static) IPs must be selected from the IP range 10.0.3.150 - 254
|
40
46
|
|
@@ -55,7 +61,7 @@ chef-server:
|
|
55
61
|
chef-server:
|
56
62
|
manage:
|
57
63
|
push-jobs-server:
|
58
|
-
reporting:
|
64
|
+
# reporting:
|
59
65
|
|
60
66
|
compliance:
|
61
67
|
admin_user: admin # the password will be the same as the username
|
data/docs/mitmproxy.md
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
### Use mitmproxy to view HTTP traffic
|
2
|
+
|
3
|
+
Run `mitmproxy` in a terminal on the host instance.
|
4
|
+
|
5
|
+
Uncomment the `https_proxy` line in the chef-repo's `.chef/knife.rb` or in a node's `/etc/chef/client.rb` so traffic from knife commands or chef-client runs will be proxied through mitmproxy making the HTTP requests visible in the mitmproxy console.
|
6
|
+
|
7
|
+
If you configured your workstation's SSH config file with LocalForward as described in dev-lxc-platform's README then you should be able to configure the web browser to use "127.0.0.1 8080" for HTTP and HTTPS proxies and watch the HTTP requests appear in the mitmproxy console.
|
data/docs/usage.md
CHANGED
@@ -1,42 +1,31 @@
|
|
1
1
|
## Usage
|
2
2
|
|
3
|
-
###
|
3
|
+
### dl Command and Subcommands
|
4
4
|
|
5
|
-
|
5
|
+
`dl` is the dev-lxc command line tool.
|
6
6
|
|
7
|
-
|
8
|
-
dev-lxc show-config
|
9
|
-
```
|
7
|
+
`dev-lxc` subcommands and some options can be auto-completed by pressing the `Tab` key.
|
10
8
|
|
11
|
-
|
9
|
+
You only have to type enough of a `dev-lxc` subcommand to make it unique.
|
12
10
|
|
13
|
-
|
11
|
+
For example, the following commands are equivalent:
|
14
12
|
|
15
13
|
```
|
16
|
-
|
14
|
+
dl help
|
15
|
+
dl he
|
17
16
|
```
|
18
17
|
|
19
|
-
|
18
|
+
### Display dev-lxc help
|
20
19
|
|
21
20
|
```
|
22
|
-
|
23
|
-
|
24
|
-
analytics.lxc NOT_CREATED
|
21
|
+
dl help
|
25
22
|
|
26
|
-
|
27
|
-
|
28
|
-
node-1.lxc NOT_CREATED
|
23
|
+
dl help <subcommand>
|
29
24
|
```
|
30
25
|
|
31
|
-
###
|
32
|
-
|
33
|
-
Many dev-lxc subcommands can act on a subset of the cluster's servers by specifying a regular expression that matches the desired server names.
|
26
|
+
### Configure a cluster
|
34
27
|
|
35
|
-
|
36
|
-
|
37
|
-
```
|
38
|
-
dev-lxc status chef
|
39
|
-
```
|
28
|
+
See the [configuration docs](docs/configuration.md) to learn how to use the `dl init` command to create and configure a `dev-lxc.yml` file.
|
40
29
|
|
41
30
|
### cluster-view, tks, tls commands
|
42
31
|
|
@@ -54,7 +43,7 @@ The session's first window is named "cluster".
|
|
54
43
|
|
55
44
|
The left side is for running dev-lxc commands.
|
56
45
|
|
57
|
-
The right side updates every 0.5 seconds with the cluster's status provided by `
|
46
|
+
The right side updates every 0.5 seconds with the cluster's status provided by `dl status`.
|
58
47
|
|
59
48
|
The session's second window is named "shell". It opens in the same directory as the
|
60
49
|
cluster's `dev-lxc.yml` file.
|
@@ -72,12 +61,42 @@ I recommend switching to a different running tmux/byobu session before killing t
|
|
72
61
|
tmux/byobu session. Otherwise you will need to reattach to the remaining tmux/byobu session.
|
73
62
|
Use the keyboard shortcuts Alt-Up/Down to easily switch between tmux/byobu sessions.
|
74
63
|
|
64
|
+
### Cluster status
|
65
|
+
|
66
|
+
Run the following command to see the status of the cluster.
|
67
|
+
|
68
|
+
```
|
69
|
+
dl status
|
70
|
+
```
|
71
|
+
|
72
|
+
This is an example of the output.
|
73
|
+
|
74
|
+
```
|
75
|
+
chef.lxc NOT_CREATED
|
76
|
+
|
77
|
+
analytics.lxc NOT_CREATED
|
78
|
+
|
79
|
+
supermarket.lxc NOT_CREATED
|
80
|
+
|
81
|
+
node-1.lxc NOT_CREATED
|
82
|
+
```
|
83
|
+
|
84
|
+
### Specifying a Subset of Servers
|
85
|
+
|
86
|
+
Many dev-lxc subcommands can act on a subset of the cluster's servers by specifying a regular expression that matches the desired server names.
|
87
|
+
|
88
|
+
For example, the following command will show the status of the Chef Server.
|
89
|
+
|
90
|
+
```
|
91
|
+
dl status chef
|
92
|
+
```
|
93
|
+
|
75
94
|
### Start cluster
|
76
95
|
|
77
96
|
Starting the cluster the first time takes awhile since it has a lot to download and build.
|
78
97
|
|
79
98
|
```
|
80
|
-
|
99
|
+
dl up
|
81
100
|
```
|
82
101
|
|
83
102
|
A test org, users, knife.rb and keys are automatically created in
|
@@ -91,7 +110,7 @@ Note: You also have the option of running the `prepare-product-cache` subcommand
|
|
91
110
|
This can be helpful when you don't want to start building the cluster yet but you want the package cache ready when you build the cluster later.
|
92
111
|
|
93
112
|
```
|
94
|
-
|
113
|
+
dl prepare-product-cache
|
95
114
|
```
|
96
115
|
|
97
116
|
### Print Chef Automate Credentials
|
@@ -99,7 +118,7 @@ dev-lxc prepare-product-cache
|
|
99
118
|
If the cluster has a Chef Automate server you can use the `print-automate-credentials` subcommand to see what the login credentials.
|
100
119
|
|
101
120
|
```
|
102
|
-
|
121
|
+
dl print-automate-credentials
|
103
122
|
```
|
104
123
|
|
105
124
|
### Create chef-repo
|
@@ -111,7 +130,7 @@ Use the `-p` option to also get pivotal.pem and pivotal.rb files.
|
|
111
130
|
Use the `-f` option to overwrite existing knife.rb and pivotal.rb files.
|
112
131
|
|
113
132
|
```
|
114
|
-
|
133
|
+
dl chef-repo
|
115
134
|
```
|
116
135
|
|
117
136
|
Now you can easily use knife to access the cluster.
|
@@ -123,14 +142,14 @@ knife client list
|
|
123
142
|
### Stop and start the cluster
|
124
143
|
|
125
144
|
```
|
126
|
-
|
127
|
-
|
145
|
+
dl halt
|
146
|
+
dl up
|
128
147
|
```
|
129
148
|
|
130
149
|
### Run arbitrary commands in each server
|
131
150
|
|
132
151
|
```
|
133
|
-
|
152
|
+
dl run-command chef 'uptime'
|
134
153
|
```
|
135
154
|
|
136
155
|
### Attach the terminal to a server
|
@@ -138,7 +157,7 @@ dev-lxc run-command chef 'uptime'
|
|
138
157
|
Attach the terminal to a server in the cluster that matches the REGEX pattern given.
|
139
158
|
|
140
159
|
```
|
141
|
-
|
160
|
+
dl attach chef
|
142
161
|
```
|
143
162
|
|
144
163
|
### Create a snapshot of the servers
|
@@ -146,14 +165,14 @@ dev-lxc attach chef
|
|
146
165
|
Save the changes in the servers to snapshots with a comment.
|
147
166
|
|
148
167
|
```
|
149
|
-
|
150
|
-
|
168
|
+
dl halt
|
169
|
+
dl snapshot -c 'this is a snapshot comment'
|
151
170
|
```
|
152
171
|
|
153
172
|
### List snapshots
|
154
173
|
|
155
174
|
```
|
156
|
-
|
175
|
+
dl snapshot -l
|
157
176
|
```
|
158
177
|
|
159
178
|
### Restore snapshots
|
@@ -163,8 +182,8 @@ Restore snapshots by name.
|
|
163
182
|
Leave out the snapshot name or specify `LAST` to restore the most recent snapshot.
|
164
183
|
|
165
184
|
```
|
166
|
-
|
167
|
-
|
185
|
+
dl snapshot -r
|
186
|
+
dl up
|
168
187
|
```
|
169
188
|
|
170
189
|
### Destroy snapshots
|
@@ -174,7 +193,7 @@ Destroy snapshots by name or destroy all snapshots by specifying `ALL`.
|
|
174
193
|
Leave out the snapshot name or specify `LAST` to destroy the most recent snapshots.
|
175
194
|
|
176
195
|
```
|
177
|
-
|
196
|
+
dl snapshot -d
|
178
197
|
```
|
179
198
|
|
180
199
|
### Destroy cluster
|
@@ -182,5 +201,13 @@ dev-lxc snapshot -d
|
|
182
201
|
Use the following command to destroy the cluster's servers.
|
183
202
|
|
184
203
|
```
|
185
|
-
|
204
|
+
dl destroy
|
205
|
+
```
|
206
|
+
|
207
|
+
### Show Calculated Configuration
|
208
|
+
|
209
|
+
Mostly for debugging purposes you have the ability to print the calculated cluster configuration.
|
210
|
+
|
211
|
+
```
|
212
|
+
dl show-config
|
186
213
|
```
|
data/lib/dev-lxc/cli.rb
CHANGED
@@ -76,11 +76,11 @@ base_container: b-ubuntu-1404
|
|
76
76
|
|
77
77
|
# list any host directories you want mounted into the servers
|
78
78
|
#mounts:
|
79
|
-
# - /root/
|
79
|
+
# - /root/clusters root/clusters
|
80
80
|
|
81
81
|
# list any SSH public keys you want added to /home/dev-lxc/.ssh/authorized_keys
|
82
82
|
#ssh-keys:
|
83
|
-
# - /root/
|
83
|
+
# - /root/clusters/id_rsa.pub
|
84
84
|
|
85
85
|
# DHCP reserved (static) IPs must be selected from the IP range 10.0.3.150 - 254
|
86
86
|
)
|
@@ -105,7 +105,7 @@ chef-server:
|
|
105
105
|
products:
|
106
106
|
chef-server:
|
107
107
|
push-jobs-server:
|
108
|
-
reporting:
|
108
|
+
# reporting:
|
109
109
|
chef-fe1.lxc:
|
110
110
|
ipaddress: 10.0.3.202
|
111
111
|
role: frontend
|
@@ -113,7 +113,7 @@ chef-server:
|
|
113
113
|
chef-server:
|
114
114
|
manage:
|
115
115
|
push-jobs-server:
|
116
|
-
reporting:
|
116
|
+
# reporting:
|
117
117
|
)
|
118
118
|
chef_config = %Q(
|
119
119
|
chef-server:
|
@@ -133,7 +133,7 @@ chef-server:
|
|
133
133
|
chef-server:
|
134
134
|
manage:
|
135
135
|
push-jobs-server:
|
136
|
-
reporting:
|
136
|
+
# reporting:
|
137
137
|
)
|
138
138
|
automate_config = %Q(
|
139
139
|
automate:
|
@@ -142,7 +142,7 @@ automate:
|
|
142
142
|
ipaddress: 10.0.3.200
|
143
143
|
products:
|
144
144
|
delivery:
|
145
|
-
license_path:
|
145
|
+
license_path: ../delivery.license
|
146
146
|
chef_org: delivery
|
147
147
|
enterprise_name: demo-ent
|
148
148
|
)
|
data/lib/dev-lxc/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dev-lxc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremiah Snapp
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -84,7 +84,7 @@ description: A tool for building Chef server clusters using LXC containers
|
|
84
84
|
email:
|
85
85
|
- jeremiah@getchef.com
|
86
86
|
executables:
|
87
|
-
-
|
87
|
+
- dl
|
88
88
|
extensions: []
|
89
89
|
extra_rdoc_files: []
|
90
90
|
files:
|
@@ -94,13 +94,14 @@ files:
|
|
94
94
|
- LICENSE
|
95
95
|
- README.md
|
96
96
|
- Rakefile
|
97
|
-
- bin/
|
97
|
+
- bin/dl
|
98
98
|
- dev-lxc.gemspec
|
99
99
|
- docs/adhoc_clusters.md
|
100
100
|
- docs/base_containers.md
|
101
101
|
- docs/configuration.md
|
102
102
|
- docs/dev-lxc_version_2.md
|
103
103
|
- docs/manage_multiple_clusters.md
|
104
|
+
- docs/mitmproxy.md
|
104
105
|
- docs/usage.md
|
105
106
|
- lib/dev-lxc.rb
|
106
107
|
- lib/dev-lxc/cli.rb
|