Ubuntu Pastebin

Paste from cherylj at Wed, 9 Dec 2015 00:21:33 +0000

Download as text
 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
#!/bin/bash
# insert missing unit workload status documents
# on machine N, invoke `./insert-statuses.sh N`


pw=$(sudo cat /var/lib/juju/agents/machine-$1/agent.conf |grep statepassword |awk '{ print $2 }')
mongo --ssl -u machine-$1 -p $pw localhost:37017/admin <<EOF
use juju;

var anyUnitStatus = /:u#/;
var charmStatus = /#charm$/;
var coll = db.statuses;

var charmStatuses = {};
var agentStatuses = {};

var cursor = coll.find({ _id: anyUnitStatus });
while (cursor.hasNext()) {
    var doc = cursor.next()
    var key = doc['_id'];
    if (charmStatus.test(key)) {
        charmStatuses[key] = true;
    } else {
        agentStatuses[key] = doc;
    }
}

for (var agentKey in agentStatuses) {
    var charmKey = agentKey + "#charm";
    if (charmKey in charmStatuses) {
        continue
    }
    var envUUID = agentStatuses[agentKey]['env-uuid'];
    coll.insert( {
        '_id':        charmKey,
        'env-uuid':   envUUID,
        'status':     'unknown',
        'statusinfo': '',
        'statusdata': {},
    });
}
EOF
Download as text