chef-ruby-lvm-attrib 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,138 @@
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_metadata_format
6
+ :column: cache_metadata_format
7
+ :type_hint: Integer
8
+ :description: For cache
9
+ - :method: cache_mode
10
+ :column: cache_mode
11
+ :type_hint: String
12
+ :description: For cache
13
+ - :method: cache_policy
14
+ :column: cache_policy
15
+ :type_hint: String
16
+ :description: The cache policy (cached segments only).
17
+ - :method: cache_settings
18
+ :column: cache_settings
19
+ :type_hint: String
20
+ :description: Cache settings/parameters (cached segments only).
21
+ - :method: chunk_size
22
+ :column: chunk_size
23
+ :type_hint: Integer
24
+ :description: For snapshots
25
+ - :method: data_copies
26
+ :column: data_copies
27
+ :type_hint: Integer
28
+ :description: Number of data copies.
29
+ - :method: data_offset
30
+ :column: data_offset
31
+ :type_hint: Integer
32
+ :description: Data offset on each image device.
33
+ - :method: data_stripes
34
+ :column: data_stripes
35
+ :type_hint: Integer
36
+ :description: Number of data stripes or mirror/raid1 legs.
37
+ - :method: devices
38
+ :column: devices
39
+ :type_hint: String
40
+ :description: Underlying devices used with starting extent numbers.
41
+ - :method: discards
42
+ :column: discards
43
+ :type_hint: String
44
+ :description: For thin pools
45
+ - :method: lv_uuid
46
+ :column: lv_uuid
47
+ :type_hint: String
48
+ :description: For LogicalVolume to LogicalVolumeSegment relationship.
49
+ - :method: metadata_devices
50
+ :column: metadata_devices
51
+ :type_hint: String
52
+ :description: Underlying metadata devices used with starting extent numbers.
53
+ - :method: new_data_offset
54
+ :column: new_data_offset
55
+ :type_hint: Integer
56
+ :description: New data offset after any reshape on each image device.
57
+ - :method: parity_chunks
58
+ :column: parity_chunks
59
+ :type_hint: Integer
60
+ :description: Number of (rotating) parity chunks.
61
+ - :method: region_size
62
+ :column: region_size
63
+ :type_hint: Integer
64
+ :description: For mirrors/raids
65
+ - :method: reshape_len
66
+ :column: reshape_len
67
+ :type_hint: Integer
68
+ :description: Size of out-of-place reshape space in current units.
69
+ - :method: reshape_len_le
70
+ :column: reshape_len_le
71
+ :type_hint: Integer
72
+ :description: Size of out-of-place reshape space in logical extents.
73
+ - :method: le_ranges
74
+ :column: seg_le_ranges
75
+ :type_hint: String
76
+ :description: Ranges of Logical Extents of underlying devices in command line format.
77
+ - :method: metadata_le_ranges
78
+ :column: seg_metadata_le_ranges
79
+ :type_hint: String
80
+ :description: Ranges of Logical Extents of underlying metadata devices in command
81
+ line format.
82
+ - :method: monitor
83
+ :column: seg_monitor
84
+ :type_hint: String
85
+ :description: Dmeventd monitoring status of the segment.
86
+ - :method: pe_ranges
87
+ :column: seg_pe_ranges
88
+ :type_hint: String
89
+ :description: Ranges of Physical Extents of underlying devices in command line format
90
+ (deprecated
91
+ - :method: size
92
+ :column: seg_size
93
+ :type_hint: Integer
94
+ :description: Size of segment in current units.
95
+ - :method: size_pe
96
+ :column: seg_size_pe
97
+ :type_hint: Integer
98
+ :description: Size of segment in physical extents.
99
+ - :method: start
100
+ :column: seg_start
101
+ :type_hint: Integer
102
+ :description: Offset within the LV to the start of the segment in current units.
103
+ - :method: start_pe
104
+ :column: seg_start_pe
105
+ :type_hint: Integer
106
+ :description: Offset within the LV to the start of the segment in physical extents.
107
+ - :method: tags
108
+ :column: seg_tags
109
+ :type_hint: String
110
+ :description: Tags
111
+ - :method: segtype
112
+ :column: segtype
113
+ :type_hint: String
114
+ :description: Type of LV segment.
115
+ - :method: stripe_size
116
+ :column: stripe_size
117
+ :type_hint: Integer
118
+ :description: For stripes
119
+ - :method: stripes
120
+ :column: stripes
121
+ :type_hint: Integer
122
+ :description: Number of stripes or mirror/raid1 legs.
123
+ - :method: thin_count
124
+ :column: thin_count
125
+ :type_hint: Integer
126
+ :description: For thin pools
127
+ - :method: thin_id
128
+ :column: thin_id
129
+ :type_hint: Integer
130
+ :description: For thin volume
131
+ - :method: transaction_id
132
+ :column: transaction_id
133
+ :type_hint: Integer
134
+ :description: For thin pools
135
+ - :method: zero
136
+ :column: zero
137
+ :type_hint: String
138
+ :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,140 @@
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: shared
118
+ :column: vg_shared
119
+ :type_hint: String
120
+ :description: Set if VG is shared.
121
+ - :method: size
122
+ :column: vg_size
123
+ :type_hint: Integer
124
+ :description: Total size of VG in current units.
125
+ - :method: sysid
126
+ :column: vg_sysid
127
+ :type_hint: String
128
+ :description: System ID of the VG indicating which host owns it.
129
+ - :method: systemid
130
+ :column: vg_systemid
131
+ :type_hint: String
132
+ :description: System ID of the VG indicating which host owns it.
133
+ - :method: tags
134
+ :column: vg_tags
135
+ :type_hint: String
136
+ :description: Tags
137
+ - :method: uuid
138
+ :column: vg_uuid
139
+ :type_hint: String
140
+ :description: Unique identifier.
@@ -12,9 +12,6 @@
12
12
  # To add attributes:
13
13
  # * Download and extract LVM2 source version from: https://sourceware.org/git/?p=lvm2.git;a=tags
14
14
  # * Fork this repository
15
- # * `git clone your-forked-repo`
16
- # * `cd your-forked-repo`
17
- # * `git checkout -b mybranch`
18
15
  # * `bin/generate_field_data path/to/lvm2-source`
19
16
  # * See missing attribute type note below if there's issues, otherwise will just return "Done."
20
17
  # * `mv LVM_VERSION_FULL lib/lvm/attributes/LVM_VERSION`
@@ -22,13 +19,10 @@
22
19
  # * LVM_VERSION being something like 2.02.86(2) or 2.02.98(2)
23
20
  # * `git commit -am "Added LVM_VERSION attributes"`
24
21
  # * `git push origin mybranch`
25
- # * Submit PR to this repository. **Please make sure to point your pull at the
26
- # `next` branch -- NOT MASTER!**
27
22
  #
28
23
 
29
- repo_url=git://sourceware.org/git/lvm2.git
30
24
  refs=refs/heads/master:refs/remotes/origin/master
31
- pattern=v2_02_*
25
+ pattern=v2_0[23]_*
32
26
  git_dir=lvm2/.git
33
27
 
34
28
  set -e
@@ -38,14 +32,14 @@ msg() {
38
32
  }
39
33
 
40
34
  # do initial clone or update LVM2 repository
41
- clone_lvm2() {
42
- if [ ! -d $GIT_DIR ]; then
43
- msg "Checkout $repo_url"
35
+ update_lvm2_repo() {
36
+ if [ ! -e lvm2/.git ]; then
37
+ msg "Checkout LVM2 repository"
44
38
  git submodule update --init --recursive
45
- else
46
- msg "Update $repo_url"
47
- git submodule update --recursive
48
39
  fi
40
+
41
+ msg "Update LVM2 repository"
42
+ GIT_DIR=$git_dir git fetch origin $refs --tags
49
43
  }
50
44
 
51
45
  process_lvm2_version() {
@@ -60,9 +54,7 @@ process_lvm2_version() {
60
54
  fi
61
55
 
62
56
  msg "Checkout LVM2 $tag"
63
- cd lvm2
64
- git checkout $tag
65
- cd ..
57
+ GIT_DIR=lvm2/.git git checkout $tag
66
58
 
67
59
  version=$(awk '{print $1}' lvm2/VERSION)
68
60
  msg "LVM2 Full Version: $version"
@@ -78,15 +70,12 @@ process_lvm2_version() {
78
70
  version=${version%-git}
79
71
  msg "LVM2 Sanitized Version: $version"
80
72
 
81
- # already present locally
82
- if [ -d $version ]; then
83
- msg "dir '$version' exists, skip"
73
+ attr_dir=lib/lvm/attributes/${version}
74
+ if [ -d "$attr_dir" ]; then
75
+ msg "$attr_dir already exists, skip"
84
76
  return 1
85
77
  fi
86
78
 
87
- # dir where attributes get saved
88
- lvm_dir=$version
89
-
90
79
  git_branch=LVM-${version}
91
80
 
92
81
  # check that local branch isn't already created
@@ -96,32 +85,30 @@ process_lvm2_version() {
96
85
  fi
97
86
 
98
87
  ./bin/generate_field_data lvm2
99
-
100
- attr_dir=lib/lvm/attributes/${version}
101
- if [ -d "$attr_dir" ]; then
102
- msg "$attr_dir already exists, skip"
88
+ if [ ! -d "$attr_dir" ]; then
89
+ msg "Failed to generate $attr_dir"
103
90
  return 1
104
91
  fi
105
- mv $lvm_dir $attr_dir
106
92
 
107
93
  git add -A $attr_dir
108
- git checkout -b $git_branch next
109
- git commit -am "Added $tag attributes"
94
+ git checkout -b $git_branch master
95
+ cat > .git/commit-msg <<-EOF
96
+ Added $tag attributes
97
+
98
+ $(git diff --stat HEAD $attr_dir)
99
+ EOF
100
+ git commit -s -F .git/commit-msg $attr_dir
110
101
 
111
102
  return 0
112
103
  }
113
104
 
114
-
115
- GIT_DIR=$git_dir clone_lvm2
105
+ update_lvm2_repo
116
106
 
117
107
  if [ "$1" = "-a" ]; then
118
108
  # obtain all versions
119
- set -- $(GIT_DIR=$git_dir git tag -l $pattern)
109
+ set -- $(GIT_DIR=lvm2/.git git tag -l $pattern)
120
110
  fi
121
111
 
122
- # it shouldn't be exported, but somewhy is. unset
123
- unset GIT_DIR
124
-
125
112
  # process versions specified on commandline,
126
113
  # otherwise iterate over all LVM2 tags
127
114
  for tag in "$@"; do
@@ -129,6 +116,9 @@ for tag in "$@"; do
129
116
  updated=1
130
117
  done
131
118
 
119
+ # keep the pointer to master branch
120
+ GIT_DIR=lvm2/.git git checkout master
121
+
132
122
  if [ -z "$updated" ]; then
133
123
  echo >&2 "Nothing updated"
134
124
  exit 1