di-ruby-lvm-attrib 0.0.26 → 0.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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