Mercurial > illumos > illumos-gate
annotate usr/src/cmd/beadm/BootEnvironment.py @ 13025:3c7681e3e323
PSARC 2010/059 SNAP BE Management
6964804 SNAP BE management into ON
6971379 libbe should capture and give useful error when installgrub or ict.py fails.
6971390 beadm does not support labeled brand zones
6971394 BEADM_ERR_BE_DOES_NOT_EXIST has an extra space
6971397 libbe error messages need internationalization
6971402 Remove be_get_last_zone_be_callback
6971409 be_create_menu returns errors from both be_errno_t and errno sets
author | Glenn Lagasse <glenn.lagasse@oracle.com> |
---|---|
date | Wed, 04 Aug 2010 12:28:19 -0700 |
parents | |
children |
rev | line source |
---|---|
13025
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
1 # CDDL HEADER START |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
2 # |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
3 # The contents of this file are subject to the terms of the |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
4 # Common Development and Distribution License (the "License"). |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
5 # You may not use this file except in compliance with the License. |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
6 # |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
7 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
8 # or http://www.opensolaris.org/os/licensing. |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
9 # See the License for the specific language governing permissions |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
10 # and limitations under the License. |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
11 # |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
12 # When distributing Covered Code, include this CDDL HEADER in each |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
13 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
14 # If applicable, add the following below this CDDL HEADER, with the |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
15 # fields enclosed by brackets "[]" replaced with your own identifying |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
16 # information: Portions Copyright [yyyy] [name of copyright owner] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
17 # |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
18 # CDDL HEADER END |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
19 # |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
20 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
21 # |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
22 # Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
23 # |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
24 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
25 """Boot Environment classes used by beadm.""" |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
26 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
27 import datetime |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
28 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
29 class BootEnvironment: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
30 """Boot Environment object that is used by beadm to manage command line |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
31 options, arguments and the log.""" |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
32 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
33 def __init__(self): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
34 self.trgt_rpool = None |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
35 self.trgt_be_name_or_snapshot = None |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
36 self.src_be_name_or_snapshot = None |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
37 self.properties = {} |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
38 self.log_id = None |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
39 self.log = None |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
40 self.msg_buf = {} |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
41 self.description = None |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
42 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
43 class listBootEnvironment: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
44 """Base class for beadm list |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
45 Determine the BE's to display. Prints command output according to option: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
46 -d - dataset |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
47 -s - snapshot |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
48 -a - all (both dataset and snapshot) |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
49 <none> - only BE information |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
50 The -H option produces condensed, parseable output |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
51 The ';' delimits each field in the output. BEs with multiple |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
52 datasets will have multiple lines in the output. |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
53 """ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
54 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
55 def list(self, be_list, ddh, be_name): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
56 """ print all output for beadm list command |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
57 be_list - list of all BEs |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
58 ddh - if True, Do not Display Headers - just parseable data |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
59 be_name - user-specified BE, if any |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
60 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
61 returns 0 for success |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
62 side effect: beadm list output printed to stdout |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
63 """ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
64 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
65 #If we're listing Headers, initialize the array holding the |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
66 #column widths with the header widths themselves. Later on, |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
67 #the data in this array will get adjusted as we process actual |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
68 #row data and find that a piece of data is wider than its |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
69 #column header. |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
70 bemaxout = [0 for i in range(len(self.hdr[0]))] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
71 if not ddh: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
72 #iterate all header rows since their fields may not |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
73 #be of equal length. |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
74 for header in self.hdr: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
75 icol = 0 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
76 for hc in header: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
77 if len(hc) + 1 > bemaxout[icol]: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
78 bemaxout[icol] = len(hc) + 1 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
79 icol += 1 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
80 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
81 #collect BEs |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
82 beout = {} #matrix of output text [row][attribute] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
83 beoutname = {} #list of BE names [row] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
84 be_space = {} #space used totals for BE [BE name]['space_used','ibei'] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
85 ibe = 0 #BE index |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
86 spacecol = -1 #to contain column where space used is displayed |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
87 for be in be_list: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
88 if 'orig_be_name' in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
89 cur_be = be['orig_be_name'] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
90 cur_be_obj = be |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
91 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
92 #if BE name specified, collect matching BEs |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
93 if be_name is not None and not self.beMatch(be, be_name): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
94 continue |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
95 attrs = () |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
96 #identify BE|dataset|snapshot attributes |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
97 att = '' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
98 for att in ('orig_be_name', 'dataset', 'snap_name'): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
99 if att in be and att in self.lattrs: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
100 attrs = self.lattrs[att] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
101 if att == 'orig_be_name': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
102 be_space[cur_be] = {} |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
103 be_space[cur_be]['space_used'] = 0 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
104 be_space[cur_be]['ibe'] = ibe |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
105 if not ddh and len(cur_be) + 1 > bemaxout[0]: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
106 bemaxout[0] = len(cur_be) + 1 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
107 break |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
108 beout[ibe] = {} |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
109 beoutname[ibe] = cur_be |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
110 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
111 icol = 0 #first column |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
112 for at in attrs: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
113 #for option -s, withhold subordinate datasets |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
114 if self.__class__.__name__ == 'SnapshotList' and \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
115 att == 'snap_name' and 'snap_name' in be and \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
116 '/' in be[att]: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
117 break |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
118 #convert output to readable format and save |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
119 save = self.getAttr(at, be, ddh, cur_be_obj) |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
120 beout[ibe][at] = save |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
121 #maintain maximum column widths |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
122 if not ddh and len(save) + 1 > bemaxout[icol]: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
123 bemaxout[icol] = len(save) + 1 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
124 #sum all snapshots for BE |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
125 if at == 'space_used' and 'space_used' in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
126 spacecol = icol |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
127 icol += 1 #next column |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
128 ibe += 1 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
129 if 'space_used' in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
130 #sum all snapshots and datasets for BE in 'beadm list' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
131 if isinstance(self, BEList): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
132 be_space[cur_be]['space_used'] += be.get('space_used') |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
133 elif cur_be in be_space and \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
134 ('space_used' not in be_space[cur_be] or |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
135 be_space[cur_be]['space_used'] == 0): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
136 #list space used separately for other options |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
137 be_space[cur_be]['space_used'] = be.get('space_used') |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
138 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
139 #output format total lengths for each BE with any snapshots |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
140 for cur_be in be_space: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
141 save = self.getSpaceValue(be_space[cur_be]['space_used'], ddh) |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
142 ibe = be_space[cur_be]['ibe'] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
143 beout[ibe]['space_used'] = save |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
144 #expand column if widest column entry |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
145 if (spacecol != -1) and \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
146 (not ddh and len(save) + 1 > bemaxout[spacecol]): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
147 bemaxout[spacecol] = len(save) + 1 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
148 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
149 #print headers in columns |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
150 if not ddh: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
151 for header in self.hdr: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
152 outstr = '' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
153 for icol in range(len(header)): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
154 outstr += header[icol].ljust(bemaxout[icol]) |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
155 if outstr != '': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
156 print outstr |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
157 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
158 #print collected output in columns |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
159 outstr = '' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
160 prev_be = None |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
161 cur_be = None |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
162 for ibe in beout: #index output matrix |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
163 if beoutname[ibe] != None: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
164 cur_be = beoutname[ibe] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
165 #find attributes for BE type |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
166 curtype = None |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
167 for att in ('orig_be_name', 'dataset', 'snap_name'): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
168 if att in beout[ibe]: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
169 attrs = self.lattrs[att] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
170 curtype = att |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
171 break |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
172 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
173 if curtype == None: #default to BE |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
174 curtype = 'orig_be_name' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
175 if 'orig_be_name' in self.lattrs: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
176 attrs = self.lattrs['orig_be_name'] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
177 else: attrs = () |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
178 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
179 if not ddh: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
180 if prev_be != cur_be and cur_be != None: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
181 #for -d,-s,-a, print BE alone on line |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
182 if self.__class__.__name__ != 'BEList': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
183 print cur_be |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
184 prev_be = cur_be |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
185 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
186 #print for one BE/snapshot/dataset |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
187 icol = 0 #first column |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
188 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
189 #if this is a 'dataset' or 'snap_name', start line with BE |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
190 #name token |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
191 if ddh and curtype != 'orig_be_name': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
192 outstr = cur_be |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
193 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
194 for at in attrs: #for each attribute specified in table |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
195 if ddh: #add separators for parsing |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
196 if outstr != '': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
197 outstr += ';' #attribute separator |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
198 if at in beout[ibe] and beout[ibe][at] != '-' and \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
199 beout[ibe][at] != '': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
200 outstr += beout[ibe][at] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
201 else: #append text justified in column |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
202 if at in beout[ibe]: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
203 outstr += beout[ibe][at].ljust(bemaxout[icol]) |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
204 icol += 1 #next column |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
205 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
206 if outstr != '': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
207 print outstr |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
208 outstr = '' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
209 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
210 return 0 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
211 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
212 def beMatch(self, be, be_name): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
213 """find match on user-specified BE.""" |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
214 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
215 if 'orig_be_name' in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
216 return be.get('orig_be_name') == be_name |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
217 if 'dataset' in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
218 if be.get('dataset') == be_name: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
219 return True |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
220 out = be.get('dataset').split("/") |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
221 return out[0] == be_name |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
222 if 'snap_name' in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
223 if be.get('snap_name') == be_name: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
224 return True |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
225 out = be.get('snap_name').split('@') |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
226 if out[0] == be_name: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
227 return True |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
228 out = be.get('snap_name').split('/') |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
229 return out[0] == be_name |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
230 return False |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
231 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
232 def getAttr(self, at, be, ddh, beobj): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
233 """ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
234 Extract information by attribute and format for printing |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
235 returns '?' if normally present attribute not found - error. |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
236 """ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
237 if at == 'blank': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
238 return ' ' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
239 if at == 'dash': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
240 return '-' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
241 if at == 'orig_be_name': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
242 if at not in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
243 return '-' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
244 ret = be[at] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
245 if ddh or self.__class__.__name__ == 'BEList': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
246 return ret |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
247 return ' ' + ret #indent |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
248 if at == 'snap_name': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
249 if at not in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
250 return '-' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
251 if self.__class__.__name__ == 'CompleteList': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
252 ret = self.prependRootDS(be[at], beobj) |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
253 else: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
254 ret = be[at] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
255 if ddh: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
256 return ret |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
257 return ' ' + ret #indent |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
258 if at == 'dataset': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
259 if at not in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
260 return '-' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
261 if self.__class__.__name__ == 'DatasetList' or \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
262 self.__class__.__name__ == 'CompleteList': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
263 ret = self.prependRootDS(be[at], beobj) |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
264 else: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
265 ret = be[at] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
266 if ddh: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
267 return ret |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
268 return ' ' + ret #indent |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
269 if at == 'active': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
270 if at not in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
271 return '-' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
272 ret = '' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
273 if 'active' in be and be['active']: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
274 ret += 'N' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
275 if 'active_boot' in be and be['active_boot']: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
276 ret += 'R' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
277 if ret == '': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
278 return '-' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
279 return ret |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
280 if at == 'mountpoint': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
281 if at not in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
282 return '-' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
283 if 'mounted' not in be or not be['mounted']: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
284 return '-' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
285 return be[at] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
286 if at == 'space_used': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
287 if at not in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
288 return '0' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
289 return self.getSpaceValue(be[at], ddh) |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
290 if at == 'mounted': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
291 if at not in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
292 return '-' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
293 return be[at] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
294 if at == 'date': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
295 if at not in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
296 return '?' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
297 if ddh: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
298 return str(be[at]) #timestamp in seconds |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
299 sec = str(datetime.datetime.fromtimestamp(be[at])) |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
300 return sec[0:len(sec)-3] #trim seconds |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
301 if at == 'policy': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
302 if at not in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
303 return '?' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
304 return be[at] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
305 if at == 'root_ds': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
306 if at not in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
307 return '?' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
308 if ddh or self.__class__.__name__ == 'BEList': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
309 return be[at] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
310 return ' ' + be[at] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
311 if at == 'uuid_str': |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
312 if at not in be: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
313 return '-' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
314 return be[at] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
315 #default case - no match on attribute |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
316 return be[at] |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
317 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
318 def getSpaceValue(self, num, ddh): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
319 """Readable formatting for disk space size.""" |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
320 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
321 if ddh: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
322 return str(num) #return size in bytes as string |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
323 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
324 kilo = 1024.0 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
325 mega = 1048576.0 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
326 giga = 1073741824.0 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
327 tera = 1099511627776.0 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
328 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
329 if num == None: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
330 return '0' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
331 if num < kilo: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
332 return str(num) + 'B' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
333 if num < mega: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
334 return str('%.1f' % (num / kilo)) + 'K' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
335 if num < giga: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
336 return str('%.2f' % (num / mega)) + 'M' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
337 if num < tera: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
338 return str('%.2f' % (num / giga)) + 'G' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
339 return str('%.2f' % (num / tera)) + 'T' |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
340 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
341 def prependRootDS(self, val, beobj): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
342 """Prepend root dataset name with BE name stripped.""" |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
343 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
344 root_ds = beobj.get('root_ds') |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
345 return root_ds[0:root_ds.rfind('/')+1] + val |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
346 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
347 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
348 """Top level "beadm list" derived classes defined here. |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
349 Only table definition is done here - all methods are in the base class. |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
350 Tables driving list: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
351 hdr - list of text to output for each column |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
352 lattrs - dictionary of attributes |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
353 Each entry specifies either BE, dataset, snapshot with |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
354 an attribute key: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
355 orig_be_name - for BEs |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
356 dataset - for datasets |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
357 snap_name - for snapshots |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
358 Each list item in entry indicates specific datum for |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
359 column |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
360 Number of hdr columns must equal number of lattrs entries |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
361 unless ddh (dontDisplayHeaders) is true. |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
362 """ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
363 class BEList(listBootEnvironment): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
364 """specify header and attribute information for BE-only output""" |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
365 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
366 def __init__(self, ddh): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
367 """Init function for the class.""" |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
368 self.hdr = \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
369 ('BE','Active','Mountpoint','Space','Policy','Created'), \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
370 ('--','------','----------','-----','------','-------') |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
371 if ddh: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
372 self.lattrs = {'orig_be_name':('orig_be_name', 'uuid_str', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
373 'active', 'mountpoint', 'space_used', 'policy', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
374 'date')} |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
375 else: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
376 self.lattrs = {'orig_be_name':('orig_be_name', 'active', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
377 'mountpoint', 'space_used', 'policy', 'date')} |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
378 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
379 class DatasetList(listBootEnvironment): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
380 """ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
381 specify header and attribute information for dataset output, |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
382 -d option |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
383 """ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
384 def __init__(self, ddh): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
385 """Init function for the class.""" |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
386 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
387 self.hdr = \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
388 ('BE/Dataset','Active','Mountpoint','Space','Policy','Created'), \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
389 ('----------','------','----------','-----','------','-------') |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
390 if ddh: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
391 self.lattrs = { \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
392 'orig_be_name':('orig_be_name', 'root_ds', 'active', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
393 'mountpoint', 'space_used', 'policy', 'date'), \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
394 'dataset':('dataset', 'dash', 'mountpoint', 'space_used', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
395 'policy', 'date')} |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
396 else: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
397 self.lattrs = { \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
398 'orig_be_name':('root_ds', 'active', 'mountpoint', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
399 'space_used', 'policy', 'date'), \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
400 'dataset':('dataset', 'dash', 'mountpoint', 'space_used', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
401 'policy', 'date')} |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
402 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
403 class SnapshotList(listBootEnvironment): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
404 """ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
405 specify header and attribute information for snapshot output, |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
406 -s option |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
407 """ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
408 def __init__(self, ddh): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
409 """Init function for the class.""" |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
410 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
411 self.hdr = \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
412 ('BE/Snapshot','Space','Policy','Created'), \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
413 ('-----------','-----','------','-------') |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
414 self.lattrs = {'snap_name':('snap_name', 'space_used', 'policy', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
415 'date')} |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
416 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
417 class CompleteList(listBootEnvironment): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
418 """ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
419 specify header and attribute information for BE and/or dataset and/or |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
420 snapshot output, |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
421 -a or -ds options |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
422 """ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
423 def __init__(self, ddh): |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
424 """Init function for the class.""" |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
425 |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
426 self.hdr = \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
427 ('BE/Dataset/Snapshot','Active','Mountpoint','Space','Policy','Created'), \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
428 ('-------------------','------','----------','-----','------','-------') |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
429 if ddh: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
430 self.lattrs = { \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
431 'orig_be_name':('orig_be_name', 'root_ds', 'active', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
432 'mountpoint', 'space_used', 'policy', 'date'), |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
433 'dataset':('dataset', 'dash', 'mountpoint', 'space_used', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
434 'policy', 'date'), |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
435 'snap_name':('snap_name', 'dash', 'dash', 'space_used', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
436 'policy', 'date')} |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
437 else: |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
438 self.lattrs = { \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
439 'orig_be_name':('root_ds', 'active', 'mountpoint', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
440 'space_used', 'policy', 'date'), \ |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
441 'dataset':('dataset', 'dash', 'mountpoint', 'space_used', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
442 'policy', 'date'), |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
443 'snap_name':('snap_name', 'dash', 'dash', 'space_used', |
3c7681e3e323
PSARC 2010/059 SNAP BE Management
Glenn Lagasse <glenn.lagasse@oracle.com>
parents:
diff
changeset
|
444 'policy', 'date')} |