1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198 | name: juju-dcaa2d-9
profiles:
- default
- juju-feed
config:
user.juju-controller-uuid: 4ad42403-956e-471a-8b10-49478d952f12
user.juju-model-uuid: 860dfce3-d07c-4c60-8597-f62f47dcaa2d
user.juju-units-deployed: elasticsearch-base/2
user.user-data: |
#cloud-config
apt_mirror: ""
bootcmd:
- printf '%s\n' 'Acquire::http::Proxy "http://10.87.22.110:3142";' > /etc/apt/apt.conf.d/42-juju-proxy-settings
output:
all: '| tee -a /var/log/cloud-init-output.log'
package_update: true
package_upgrade: true
packages:
- curl
- cpu-checker
- bridge-utils
- cloud-utils
- tmux
runcmd:
- set -xe
- install -D -m 644 /dev/null '/etc/systemd/system/juju-clean-shutdown.service'
- |-
printf '%s\n' '
[Unit]
Description=Stop all network interfaces on shutdown
DefaultDependencies=false
After=final.target
[Service]
Type=oneshot
ExecStart=/sbin/ifdown -a -v --force
StandardOutput=tty
StandardError=tty
[Install]
WantedBy=final.target
' > '/etc/systemd/system/juju-clean-shutdown.service'
- /bin/systemctl enable '/etc/systemd/system/juju-clean-shutdown.service'
- install -D -m 644 /dev/null '/var/lib/juju/nonce.txt'
- printf '%s\n' 'machine-0:af2c824f-5810-4f4f-895f-f7ddbb6611af' > '/var/lib/juju/nonce.txt'
- test -e /proc/self/fd/9 || exec 9>&2
- ([ ! -e /home/ubuntu/.profile ] || grep -q '.juju-proxy' /home/ubuntu/.profile)
|| printf '\n# Added by juju\n[ -f "$HOME/.juju-proxy" ] && . "$HOME/.juju-proxy"\n'
>> /home/ubuntu/.profile
- mkdir -p /var/lib/juju/locks
- (id ubuntu &> /dev/null) && chown ubuntu:ubuntu /var/lib/juju/locks
- mkdir -p /var/log/juju
- chown syslog:adm /var/log/juju
- bin='/var/lib/juju/tools/2.0.1-xenial-amd64'
- mkdir -p $bin
- echo 'Fetching Juju agent version 2.0.1 for amd64' >&9
- |2-
n=1
while true; do
printf "Attempt $n to download tools from %s...\n" 'https://10.87.22.210:17070/model/860dfce3-d07c-4c60-8597-f62f47dcaa2d/tools/2.0.1-xenial-amd64'
curl -sSfw 'tools from %{url_effective} downloaded: HTTP %{http_code}; time %{time_total}s; size %{size_download} bytes; speed %{speed_download} bytes/s ' --noproxy "*" --insecure -o $bin/tools.tar.gz 'https://10.87.22.210:17070/model/860dfce3-d07c-4c60-8597-f62f47dcaa2d/tools/2.0.1-xenial-amd64' && echo "Tools downloaded successfully." && break
echo "Download failed, retrying in 15s"
sleep 15
n=$((n+1))
done
- sha256sum $bin/tools.tar.gz > $bin/juju2.0.1-xenial-amd64.sha256
- grep 'ce3c940bd7523d307ae546d2f46e722538b0972fbb77abc5ba6bd639400827a8' $bin/juju2.0.1-xenial-amd64.sha256
|| (echo "Tools checksum mismatch"; exit 1)
- tar zxf $bin/tools.tar.gz -C $bin
- printf %s '{"version":"2.0.1-xenial-amd64","url":"https://10.87.22.210:17070/model/860dfce3-d07c-4c60-8597-f62f47dcaa2d/tools/2.0.1-xenial-amd64","sha256":"ce3c940bd7523d307ae546d2f46e722538b0972fbb77abc5ba6bd639400827a8","size":23539756}'
> $bin/downloaded-tools.txt
- mkdir -p '/var/lib/juju/agents/machine-9'
- |-
cat > '/var/lib/juju/agents/machine-9/agent.conf' << 'EOF'
# format 2.0
tag: machine-9
datadir: /var/lib/juju
logdir: /var/log/juju
metricsspooldir: /var/lib/juju/metricspool
nonce: machine-0:af2c824f-5810-4f4f-895f-f7ddbb6611af
jobs:
- JobHostUnits
upgradedToVersion: 2.0.1
cacert: |
-----BEGIN CERTIFICATE-----
MIIDzjCCAragAwIBAgIVAKwHKDEg5h4nEq00h5iNXuel7teSMA0GCSqGSIb3DQEB
CwUAMG4xDTALBgNVBAoTBGp1anUxLjAsBgNVBAMMJWp1anUtZ2VuZXJhdGVkIENB
IGZvciBtb2RlbCAianVqdS1jYSIxLTArBgNVBAUTJGY3ODExMzUyLWRjMGQtNGM4
My04ZmZlLTk1ZGYzODJhNTZjNjAeFw0xNjEyMDIyMDEwMTdaFw0yNjEyMDkyMDEw
MTdaMG4xDTALBgNVBAoTBGp1anUxLjAsBgNVBAMMJWp1anUtZ2VuZXJhdGVkIENB
IGZvciBtb2RlbCAianVqdS1jYSIxLTArBgNVBAUTJGY3ODExMzUyLWRjMGQtNGM4
My04ZmZlLTk1ZGYzODJhNTZjNjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAM9vye0xg9wavip6a4YBp4tuif5u8nhrckuv6SR4UXBg01/zLP0VefOm4N65
OR+UMcdBo3mperND3iALKUSP9OfNcwSFbluGCOadVSkuOaZ3D09ff+mGep7NHM+n
dQAEntHsdsnr9De7/FFf/JcQ8+qM456TYQSWE+LTHJrvVoyziXSrQc4BMjn26Isu
RO+3sk01w1XTmHVZpuAGPKUnXV6wTUZAKxIXbQQ+WoG+SKupjtbkRdnJhQh9ZCd/
Hx7CNB9uKftIavDRgNoxQdnf5+cJtWYAFgiEF0eOlgHsUsXOH2TY8qeilUv/dn6T
y7A1yqJHLNTgyDkniXNrOISXVykCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgKkMA8G
A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFkxbN2rwzSB5k0Zug6ZVdEMDtWXMB8G
A1UdIwQYMBaAFFkxbN2rwzSB5k0Zug6ZVdEMDtWXMA0GCSqGSIb3DQEBCwUAA4IB
AQAA/wPCRVOrBoWZ2LnPgNyVu7XjiNt5jfkeFUPLwem9x/C/Z9IURCeruqaM6JqA
/v6yKyPhmU7PUUA/xRtbKq7nn+oOQGvSMPCcSUHIvlMVHI3CgFAytV/tw73gVuYG
qGRM2xqy/wPI8+TQEOVSuS65UZkg2NJi4fupKvteiwFvPnST1Bm3LDSkPjM6hdlY
8lxiIjuJhfLoUTlnNbPBagjbhT87i0JzVu3O46+Oj6DKaymM7ExAHWDWys+fVPmX
s23xym7lbFmKPJuv1Ma/Ag7DOtON2nnFN9dDaqRzU//dk8d+x61pY/cuQ7+rxBzj
T/MCDJfmOG6Ud/p/uejMC2uG
-----END CERTIFICATE-----
controller: controller-4ad42403-956e-471a-8b10-49478d952f12
model: model-860dfce3-d07c-4c60-8597-f62f47dcaa2d
apiaddresses:
- 10.87.22.210:17070
oldpassword: 8XQyCp4NTBHkOYm4HWXoJYV8
values:
AGENT_SERVICE_NAME: jujud-machine-9
CONTAINER_TYPE: ""
PROVIDER_TYPE: lxd
mongoversion: "0.0"
EOF
- chmod 0600 '/var/lib/juju/agents/machine-9/agent.conf'
- ln -s 2.0.1-xenial-amd64 '/var/lib/juju/tools/machine-9'
- echo 'Starting Juju machine agent (service jujud-machine-9)' >&9
- mkdir -p '/var/lib/juju/init/jujud-machine-9'
- |-
cat > '/var/lib/juju/init/jujud-machine-9/exec-start.sh' << 'EOF'
#!/usr/bin/env bash
# Set up logging.
touch '/var/log/juju/machine-9.log'
chown syslog:syslog '/var/log/juju/machine-9.log'
chmod 0600 '/var/log/juju/machine-9.log'
exec >> '/var/log/juju/machine-9.log'
exec 2>&1
# Run the script.
'/var/lib/juju/tools/machine-9/jujud' machine --data-dir '/var/lib/juju' --machine-id 9 --debug
EOF
- chmod 0755 '/var/lib/juju/init/jujud-machine-9/exec-start.sh'
- |-
cat > '/var/lib/juju/init/jujud-machine-9/jujud-machine-9.service' << 'EOF'
[Unit]
Description=juju agent for machine-9
After=syslog.target
After=network.target
After=systemd-user-sessions.service
[Service]
LimitNOFILE=20000
ExecStart=/var/lib/juju/init/jujud-machine-9/exec-start.sh
Restart=on-failure
TimeoutSec=300
[Install]
WantedBy=multi-user.target
EOF
- /bin/systemctl link '/var/lib/juju/init/jujud-machine-9/jujud-machine-9.service'
- /bin/systemctl daemon-reload
- /bin/systemctl enable '/var/lib/juju/init/jujud-machine-9/jujud-machine-9.service'
- /bin/systemctl start jujud-machine-9.service
- rm $bin/tools.tar.gz && rm $bin/juju2.0.1-xenial-amd64.sha256
users:
- groups:
- adm
- audio
- cdrom
- dialout
- dip
- floppy
- netdev
- plugdev
- sudo
- video
lock_passwd: true
name: ubuntu
shell: /bin/bash
ssh-authorized-keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCT/+QjhO4ZEVUnqF/MmgxcdDK3FbmuDDYx11Fyu7qPTPRO+ActfXm0WdzqKVHBD+3bDTBNnXdkiN4lWIup3W6fw/yNmG/dcM+tSUc8RjgFGPcyeVjuL//bcawK+QL35trsbvMlYSOtyvSiKFOn+vZGCVCTP1yHAqEE/um7RxSiuo2/TTvwmG82Hze2pfslcT1SHHnHnmNjRth9rXBTSKcGYuMEfPQNsF78zeiYE/tqWrBFaaBJL7JFziG056B8EptH6txBwK52Pklqyc1hnSw0ABqXOaKZLi0U020zQJkBcuQj0/qAIbTr1ndviZ52C6nshITOIgAGtOeY61uvGd9
Juju:juju-client-key
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDH5383O/X5KndG386Tu7oiCJP8sy/wAzOFuJT0SJQtpTMQanaHRgXdtVAlhCyFEM7VIzaWOYKOODggVka6gsnMAUppqwmwFg2QT057sUapZre9YdPGyC1AGRArpVnjWZsU5QcoXr5/zN8f2liQYKm//1co273ZGEzc2fLJ40JYEpIVRcXlAUV5tciggltFNQQFGcauk6WcGOG+oBICKBHR04SLY72g/3c/yDgl6oXSTH6vCH80MIvFQSEd129Pj2IM4npe+3ydRQmo72UeFr7M3yzsEu3Xp9Lgeq95XSxVUvuSZBUWT+0yvOjQdm6UkGlI/MHUkyvzZm6coKc6oest
Juju:ubuntu@ip-10-20-100-90
sudo:
- ALL=(ALL) NOPASSWD:ALL
volatile.base_image: f4c9feb3e4018ffbd793d4b80d54fb95835bb1461380f2f9b7976c7b10ac48b9
volatile.eth0.hwaddr: 00:16:3e:a6:cc:c2
volatile.idmap.base: "0"
volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":100000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":100000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.power: RUNNING
devices:
root:
path: /
type: disk
ephemeral: false
|