di-ruby-lvm-attrib 0.0.26 → 0.0.27

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,106 @@
1
+ # These are column to object attribute mappings
2
+ # generated by ./bin/generate_field_data based on
3
+ # lvm2/lib/report/columns.h
4
+ ---
5
+ - :method: cache_mode
6
+ :column: cache_mode
7
+ :type_hint: String
8
+ :description: For cache pools
9
+ - :method: cache_policy
10
+ :column: cache_policy
11
+ :type_hint: String
12
+ :description: The cache policy (cached segments only).
13
+ - :method: cache_settings
14
+ :column: cache_settings
15
+ :type_hint: String
16
+ :description: Cache settings/parameters (cached segments only).
17
+ - :method: chunk_size
18
+ :column: chunk_size
19
+ :type_hint: Integer
20
+ :description: For snapshots
21
+ - :method: devices
22
+ :column: devices
23
+ :type_hint: String
24
+ :description: Underlying devices used with starting extent numbers.
25
+ - :method: discards
26
+ :column: discards
27
+ :type_hint: String
28
+ :description: For thin pools
29
+ - :method: lv_uuid
30
+ :column: lv_uuid
31
+ :type_hint: String
32
+ :description: For LogicalVolume to LogicalVolumeSegment relationship.
33
+ - :method: metadata_devices
34
+ :column: metadata_devices
35
+ :type_hint: String
36
+ :description: Underlying metadata devices used with starting extent numbers.
37
+ - :method: region_size
38
+ :column: region_size
39
+ :type_hint: Integer
40
+ :description: For mirrors
41
+ - :method: le_ranges
42
+ :column: seg_le_ranges
43
+ :type_hint: String
44
+ :description: Ranges of Logical Extents of underlying devices in command line format.
45
+ - :method: metadata_le_ranges
46
+ :column: seg_metadata_le_ranges
47
+ :type_hint: String
48
+ :description: Ranges of Logical Extents of underlying metadata devices in command
49
+ line format.
50
+ - :method: monitor
51
+ :column: seg_monitor
52
+ :type_hint: String
53
+ :description: Dmeventd monitoring status of the segment.
54
+ - :method: pe_ranges
55
+ :column: seg_pe_ranges
56
+ :type_hint: String
57
+ :description: Ranges of Physical Extents of underlying devices in command line format
58
+ (deprecated
59
+ - :method: size
60
+ :column: seg_size
61
+ :type_hint: Integer
62
+ :description: Size of segment in current units.
63
+ - :method: size_pe
64
+ :column: seg_size_pe
65
+ :type_hint: Integer
66
+ :description: Size of segment in physical extents.
67
+ - :method: start
68
+ :column: seg_start
69
+ :type_hint: Integer
70
+ :description: Offset within the LV to the start of the segment in current units.
71
+ - :method: start_pe
72
+ :column: seg_start_pe
73
+ :type_hint: Integer
74
+ :description: Offset within the LV to the start of the segment in physical extents.
75
+ - :method: tags
76
+ :column: seg_tags
77
+ :type_hint: String
78
+ :description: Tags
79
+ - :method: segtype
80
+ :column: segtype
81
+ :type_hint: String
82
+ :description: Type of LV segment.
83
+ - :method: stripe_size
84
+ :column: stripe_size
85
+ :type_hint: Integer
86
+ :description: For stripes
87
+ - :method: stripes
88
+ :column: stripes
89
+ :type_hint: Integer
90
+ :description: Number of stripes or mirror legs.
91
+ - :method: thin_count
92
+ :column: thin_count
93
+ :type_hint: Integer
94
+ :description: For thin pools
95
+ - :method: thin_id
96
+ :column: thin_id
97
+ :type_hint: Integer
98
+ :description: For thin volume
99
+ - :method: transaction_id
100
+ :column: transaction_id
101
+ :type_hint: Integer
102
+ :description: For thin pools
103
+ - :method: zero
104
+ :column: zero
105
+ :type_hint: String
106
+ :description: For thin pools and volumes
@@ -0,0 +1,113 @@
1
+ # These are column to object attribute mappings
2
+ # generated by ./bin/generate_field_data based on
3
+ # lvm2/lib/report/columns.h
4
+ ---
5
+ - :method: dev_size
6
+ :column: dev_size
7
+ :type_hint: Integer
8
+ :description: Size of underlying device in current units.
9
+ - :method: pe_start
10
+ :column: pe_start
11
+ :type_hint: Integer
12
+ :description: Offset to the start of data on the underlying device.
13
+ - :method: allocatable
14
+ :column: pv_allocatable
15
+ :type_hint: String
16
+ :description: Set if this device can be used for allocation.
17
+ - :method: attr
18
+ :column: pv_attr
19
+ :type_hint: String
20
+ :description: Various attributes - see man page.
21
+ - :method: ba_size
22
+ :column: pv_ba_size
23
+ :type_hint: Integer
24
+ :description: Size of PV Bootloader Area in current units.
25
+ - :method: ba_start
26
+ :column: pv_ba_start
27
+ :type_hint: Integer
28
+ :description: Offset to the start of PV Bootloader Area on the underlying device
29
+ in current units.
30
+ - :method: duplicate
31
+ :column: pv_duplicate
32
+ :type_hint: String
33
+ :description: Set if PV is an unchosen duplicate.
34
+ - :method: exported
35
+ :column: pv_exported
36
+ :type_hint: String
37
+ :description: Set if this device is exported.
38
+ - :method: ext_vsn
39
+ :column: pv_ext_vsn
40
+ :type_hint: Integer
41
+ :description: PV header extension version.
42
+ - :method: fmt
43
+ :column: pv_fmt
44
+ :type_hint: String
45
+ :description: Type of metadata.
46
+ - :method: free
47
+ :column: pv_free
48
+ :type_hint: Integer
49
+ :description: Total amount of unallocated space in current units.
50
+ - :method: in_use
51
+ :column: pv_in_use
52
+ :type_hint: String
53
+ :description: Set if PV is used.
54
+ - :method: major
55
+ :column: pv_major
56
+ :type_hint: String
57
+ :description: Device major number.
58
+ - :method: mda_count
59
+ :column: pv_mda_count
60
+ :type_hint: Integer
61
+ :description: Number of metadata areas on this device.
62
+ - :method: mda_free
63
+ :column: pv_mda_free
64
+ :type_hint: Integer
65
+ :description: Free metadata area space on this device in current units.
66
+ - :method: mda_size
67
+ :column: pv_mda_size
68
+ :type_hint: Integer
69
+ :description: Size of smallest metadata area on this device in current units.
70
+ - :method: mda_used_count
71
+ :column: pv_mda_used_count
72
+ :type_hint: Integer
73
+ :description: Number of metadata areas in use on this device.
74
+ - :method: minor
75
+ :column: pv_minor
76
+ :type_hint: String
77
+ :description: Device minor number.
78
+ - :method: missing
79
+ :column: pv_missing
80
+ :type_hint: String
81
+ :description: Set if this device is missing in system.
82
+ - :method: name
83
+ :column: pv_name
84
+ :type_hint: String
85
+ :description: Name.
86
+ - :method: pe_alloc_count
87
+ :column: pv_pe_alloc_count
88
+ :type_hint: Integer
89
+ :description: Total number of allocated Physical Extents.
90
+ - :method: pe_count
91
+ :column: pv_pe_count
92
+ :type_hint: Integer
93
+ :description: Total number of Physical Extents.
94
+ - :method: size
95
+ :column: pv_size
96
+ :type_hint: Integer
97
+ :description: Size of PV in current units.
98
+ - :method: tags
99
+ :column: pv_tags
100
+ :type_hint: String
101
+ :description: Tags
102
+ - :method: used
103
+ :column: pv_used
104
+ :type_hint: Integer
105
+ :description: Total amount of allocated space in current units.
106
+ - :method: uuid
107
+ :column: pv_uuid
108
+ :type_hint: String
109
+ :description: Unique identifier.
110
+ - :method: vg_uuid
111
+ :column: vg_uuid
112
+ :type_hint: String
113
+ :description: For VolumeGroup to PhysicalVolume relationship.
@@ -0,0 +1,16 @@
1
+ # These are column to object attribute mappings
2
+ # generated by ./bin/generate_field_data based on
3
+ # lvm2/lib/report/columns.h
4
+ ---
5
+ - :method: pv_uuid
6
+ :column: pv_uuid
7
+ :type_hint: String
8
+ :description: For PhysicalVolume to PhysicalVolumeSegment relationship.
9
+ - :method: size
10
+ :column: pvseg_size
11
+ :type_hint: Integer
12
+ :description: Number of extents in segment.
13
+ - :method: start
14
+ :column: pvseg_start
15
+ :type_hint: Integer
16
+ :description: Physical Extent number of start of segment.
@@ -0,0 +1,136 @@
1
+ # These are column to object attribute mappings
2
+ # generated by ./bin/generate_field_data based on
3
+ # lvm2/lib/report/columns.h
4
+ ---
5
+ - :method: lv_count
6
+ :column: lv_count
7
+ :type_hint: Integer
8
+ :description: Number of LVs.
9
+ - :method: max_lv
10
+ :column: max_lv
11
+ :type_hint: Integer
12
+ :description: Maximum number of LVs allowed in VG or 0 if unlimited.
13
+ - :method: max_pv
14
+ :column: max_pv
15
+ :type_hint: Integer
16
+ :description: Maximum number of PVs allowed in VG or 0 if unlimited.
17
+ - :method: pv_count
18
+ :column: pv_count
19
+ :type_hint: Integer
20
+ :description: Number of PVs in VG.
21
+ - :method: snap_count
22
+ :column: snap_count
23
+ :type_hint: Integer
24
+ :description: Number of snapshots.
25
+ - :method: allocation_policy
26
+ :column: vg_allocation_policy
27
+ :type_hint: String
28
+ :description: VG allocation policy.
29
+ - :method: attr
30
+ :column: vg_attr
31
+ :type_hint: String
32
+ :description: Various attributes - see man page.
33
+ - :method: clustered
34
+ :column: vg_clustered
35
+ :type_hint: String
36
+ :description: Set if VG is clustered.
37
+ - :method: exported
38
+ :column: vg_exported
39
+ :type_hint: String
40
+ :description: Set if VG is exported.
41
+ - :method: extendable
42
+ :column: vg_extendable
43
+ :type_hint: String
44
+ :description: Set if VG is extendable.
45
+ - :method: extent_count
46
+ :column: vg_extent_count
47
+ :type_hint: Integer
48
+ :description: Total number of Physical Extents.
49
+ - :method: extent_size
50
+ :column: vg_extent_size
51
+ :type_hint: Integer
52
+ :description: Size of Physical Extents in current units.
53
+ - :method: fmt
54
+ :column: vg_fmt
55
+ :type_hint: String
56
+ :description: Type of metadata.
57
+ - :method: free
58
+ :column: vg_free
59
+ :type_hint: Integer
60
+ :description: Total amount of free space in current units.
61
+ - :method: free_count
62
+ :column: vg_free_count
63
+ :type_hint: Integer
64
+ :description: Total number of unallocated Physical Extents.
65
+ - :method: lock_args
66
+ :column: vg_lock_args
67
+ :type_hint: String
68
+ :description: Lock args of the VG used by lvmlockd.
69
+ - :method: lock_type
70
+ :column: vg_lock_type
71
+ :type_hint: String
72
+ :description: Lock type of the VG used by lvmlockd.
73
+ - :method: mda_copies
74
+ :column: vg_mda_copies
75
+ :type_hint: Integer
76
+ :description: Target number of in use metadata areas in the VG.
77
+ - :method: mda_count
78
+ :column: vg_mda_count
79
+ :type_hint: Integer
80
+ :description: Number of metadata areas on this VG.
81
+ - :method: mda_free
82
+ :column: vg_mda_free
83
+ :type_hint: Integer
84
+ :description: Free metadata area space for this VG in current units.
85
+ - :method: mda_size
86
+ :column: vg_mda_size
87
+ :type_hint: Integer
88
+ :description: Size of smallest metadata area for this VG in current units.
89
+ - :method: mda_used_count
90
+ :column: vg_mda_used_count
91
+ :type_hint: Integer
92
+ :description: Number of metadata areas in use on this VG.
93
+ - :method: missing_pv_count
94
+ :column: vg_missing_pv_count
95
+ :type_hint: Integer
96
+ :description: Number of PVs in VG which are missing.
97
+ - :method: name
98
+ :column: vg_name
99
+ :type_hint: String
100
+ :description: Name.
101
+ - :method: partial
102
+ :column: vg_partial
103
+ :type_hint: String
104
+ :description: Set if VG is partial.
105
+ - :method: permissions
106
+ :column: vg_permissions
107
+ :type_hint: String
108
+ :description: VG permissions.
109
+ - :method: profile
110
+ :column: vg_profile
111
+ :type_hint: String
112
+ :description: Configuration profile attached to this VG.
113
+ - :method: seqno
114
+ :column: vg_seqno
115
+ :type_hint: Integer
116
+ :description: Revision number of internal metadata. Incremented whenever it changes.
117
+ - :method: size
118
+ :column: vg_size
119
+ :type_hint: Integer
120
+ :description: Total size of VG in current units.
121
+ - :method: sysid
122
+ :column: vg_sysid
123
+ :type_hint: String
124
+ :description: System ID of the VG indicating which host owns it.
125
+ - :method: systemid
126
+ :column: vg_systemid
127
+ :type_hint: String
128
+ :description: System ID of the VG indicating which host owns it.
129
+ - :method: tags
130
+ :column: vg_tags
131
+ :type_hint: String
132
+ :description: Tags
133
+ - :method: uuid
134
+ :column: vg_uuid
135
+ :type_hint: String
136
+ :description: Unique identifier.
@@ -5,7 +5,7 @@
5
5
  # Author: Elan Ruusamäe <glen@delfi.ee>
6
6
  #
7
7
  # Usage:
8
- # - update all versions: ./update-lvm.sh
8
+ # - update all versions: ./update-lvm.sh -a
9
9
  # - update specific version "2.0.102": ./update-lvm.sh v2_02_102
10
10
 
11
11
  # ADDING ATTRIBUTES:
@@ -29,40 +29,99 @@
29
29
  repo_url=git://git.fedorahosted.org/git/lvm2.git
30
30
  refs=refs/heads/master:refs/remotes/origin/master
31
31
  pattern=v2_02_*
32
+ git_dir=lvm2/.git
32
33
 
33
34
  set -e
34
35
 
35
- export GIT_DIR=lvm2/.git
36
+ msg() {
37
+ echo >&2 "$*"
38
+ }
36
39
 
37
- if [ ! -d $GIT_DIR ]; then
38
- install -d $GIT_DIR
39
- git init
40
- git remote add origin $repo_url
41
- git fetch --depth 1 origin $refs --tags
42
- else
43
- git fetch origin $refs --tags
44
- fi
40
+ # do initial clone or update LVM2 repository
41
+ clone_lvm2() {
42
+ if [ ! -d $GIT_DIR ]; then
43
+ msg "Checkout $repo_url"
44
+ install -d $GIT_DIR
45
+ git init
46
+ git remote add origin $repo_url
47
+ git fetch --depth 1 origin $refs --tags
48
+ else
49
+ msg "Update $repo_url"
50
+ git fetch origin $refs --tags
51
+ fi
52
+ }
53
+
54
+ process_lvm2_version() {
55
+ local tag=$1
56
+ msg ""
57
+ msg "Process LVM2 $tag"
45
58
 
46
- # iterate over all tags
47
- for tag in ${@:-$(git tag -l $pattern)}; do
48
59
  # already present in source tree
49
- test -d lib/lvm/attributes/$tag && continue
60
+ if [ -d lib/lvm/attributes/$tag ]; then
61
+ msg "lib/lvm/attributes/$tag already exists, skip"
62
+ return
63
+ fi
50
64
 
51
- echo "Process $tag"
65
+ msg "Checkout LVM2 $tag"
52
66
  cd lvm2
53
- env -u GIT_DIR git checkout $tag
67
+ git checkout $tag
54
68
  cd ..
55
69
 
56
70
  version=$(awk '{print $1}' lvm2/VERSION)
71
+ msg "LVM2 Full Version: $version"
57
72
  # skip old "cvs" releases
58
73
  case "$version" in
59
74
  *-cvs)
60
- continue
75
+ msg "$version is CVS tag, skip"
76
+ return
61
77
  ;;
62
78
  esac
63
79
 
64
80
  # already present locally
65
- test -d $version && continue
81
+ if [ -d $version ]; then
82
+ msg "dir '$version' exists, skip"
83
+ return
84
+ fi
85
+
86
+ # dir where attributes get saved
87
+ lvm_dir=$version
88
+
89
+ # remove -git suffix
90
+ version=${version%-git}
91
+ git_branch=LVM-${version}
92
+
93
+ # check that local branch isn't already created
94
+ if git show-ref --verify --quiet refs/heads/$git_branch; then
95
+ msg "Git branch '$git_branch' already exists; skip"
96
+ return
97
+ fi
98
+
99
+ ./bin/generate_field_data lvm2
100
+
101
+ attr_dir=lib/lvm/attributes/${version}
102
+ if [ -d "$attr_dir" ]; then
103
+ msg "$attr_dir already exists, skip"
104
+ fi
105
+ mv $lvm_dir $attr_dir
106
+
107
+ git add -A $attr_dir
108
+ git checkout -b $git_branch next
109
+ git commit -am "Added $tag attributes"
110
+ }
111
+
112
+
113
+ GIT_DIR=$git_dir clone_lvm2
114
+
115
+ if [ "$1" = "-a" ]; then
116
+ # obtain all versions
117
+ set -- $(GIT_DIR=$git_dir git tag -l $pattern)
118
+ fi
119
+
120
+ # it shouldn't be exported, but somewhy is. unset
121
+ unset GIT_DIR
66
122
 
67
- ./bin/generate_field_data lvm2 || echo FAILED
123
+ # process versions specified on commandline,
124
+ # otherwise iterate over all LVM2 tags
125
+ for tag in "$@"; do
126
+ process_lvm2_version $tag
68
127
  done