Project

General

Profile

« Previous | Next » 

Revision 8700

Edited the replicaPolicies script to print out a list of IDs that have a different authoritative member node, the number of successes, and failures at the end.

View differences:

src/scripts/bash/replicaPolicies.sh
12 12
cert_path="/var/metacat/certs/urn_node_mnDemo8.pem"
13 13
xml_path="replicapolicy.xml"
14 14

  
15
identifiers=$(curl -s -o - -E $cert_path "$MN_base_URL/object?count=7&replicaStatus=false" | xmlstarlet sel -t -m "//objectInfo" -v "identifier" -n)
15 16

  
16
identifiers=$(curl -o - -E $cert_path "$MN_base_URL/object?count=7000&replicaStatus=false" | xmlstarlet sel -t -m "//objectInfo" -v "identifier" -n)
17
failedIDs=""
18
successCount=0
19
failCount=0
20
skipCount=0
17 21

  
18 22
for id in ${identifiers};
19 23
do
20
        metadata=$(curl -o - -E $cert_path "$CN_base_URL/meta/${id}" | xmlstarlet sel -t -v "concat(//serialVersion,';',//authoritativeMemberNode)" -n)
24
        metadata=$(curl -s -o - -E $cert_path "$CN_base_URL/meta/${id}" | xmlstarlet sel -t -v "concat(//serialVersion,';',//authoritativeMemberNode)" -n)
21 25

  
22 26
        OIFS=$IFS
23 27
        IFS=";"
24 28
        arr=($metadata)
25 29
        if [ ${arr[1]} = $authoritativeMN ]; then
26
            echo "---- Updating replica policy for id: $id ----"
27
            curl -o - -X PUT -E $cert_path --capath "/etc/ssl/certs" -F "serialVersion=${arr[0]}" -F "policy=@$xml_path" "$CN_base_URL/replicaPolicies/${id}"
28
        else 
30
#echo "skip"
31
            echo "Updating replica policy for id: $id"
32
           statusCode=$(curl -s -o - -w "%{http_code}" -X PUT -E $cert_path --capath "/etc/ssl/certs" -F "serialVersion=${arr[0]}" -F "policy=@$xml_path" "$CN_base_URL/replicaPolicies/${id}")
33
            if [ $statusCode = "200" ]; then
34
                successCount=$(($successCount + 1))
35
            else
36
                failCount=$(($failCount + 1))
37
            fi
38

  
39
        else
29 40
            echo "$authoritativeMN is not the authoritative member node for id: $id. (is ${arr[1]})"
41
            failedIDs=$(printf "$failedIDs\n$id")
42
            skipCount=$(($skipCount + 1))
30 43
        fi
31 44
done
32 45

  
46
echo -e "\n\nDONE\n----------------------------------"
47
echo -e "\nSUCCESSES: $successCount"
48
echo -e "\nFAILURES: $failCount"
49
echo -e "\n\nSKIPS (objects with a different authoritative member node): $skipCount"
50
echo -e "\nIDs of objects with a different authoritative member node: \n$failedIDs"
33 51

  
52

  
53

  

Also available in: Unified diff