diff options
author | Peter Barabas <peter.barabas@ericsson.com> | 2016-01-18 15:03:07 +0100 |
---|---|---|
committer | Stefan Berg <sfb@consultron.com> | 2016-01-29 14:25:53 +0100 |
commit | e411b37291297105770229f06a95edcb3ff4be49 (patch) | |
tree | ba2a4169c6cc9113a12288e4be1b797adc1a5b8e /deploy/deploy.py | |
parent | 19f52239658b8e8b905acf4e8613db51f8d03e02 (diff) |
Uplift deployment code for Fuel 8.0
Change-Id: If784cbd7371133bd35e95004a11e9802660ac332
Signed-off-by: Peter Barabas <peter.barabas@ericsson.com>
(cherry picked from commit 91257ff4ee78f32081af2e652f58a5ba9e834f61)
Diffstat (limited to 'deploy/deploy.py')
-rwxr-xr-x | deploy/deploy.py | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/deploy/deploy.py b/deploy/deploy.py index 8a4bfc40a..7635cedba 100755 --- a/deploy/deploy.py +++ b/deploy/deploy.py @@ -147,12 +147,15 @@ class AutoDeploy(object): log('isolinux.cfg after: %s' % exec_cmd('grep netmask %s' % isolinux)) + iso_label = self.parse_iso_volume_label(self.iso_file) + log('Volume label: %s' % iso_label) + iso_linux_bin = 'isolinux/isolinux.bin' exec_cmd('mkisofs -quiet -r -J -R -b %s ' '-no-emul-boot -boot-load-size 4 ' '-boot-info-table -hide-rr-moved ' - '-x "lost+found:" -o %s .' - % (iso_linux_bin, new_iso)) + '-x "lost+found:" -V %s -o %s .' + % (iso_linux_bin, iso_label, new_iso)) def update_fuel_isolinux(self, file): with io.open(file) as f: @@ -161,9 +164,34 @@ class AutoDeploy(object): pattern = r'%s=[^ ]\S+' % key replace = '%s=%s' % (key, val) data = re.sub(pattern, replace, data) + + netmask = self.fuel_conf['netmask'] + data = self.append_kernel_param(data, 'netmask=%s' % netmask) + with io.open(file, 'w') as f: f.write(data) + def append_kernel_param(self, data, kernel_param): + """Append the specified kernel parameter to a list of kernel + parameters. Do it only if it isn't already there. + """ + data_final = '' + key = re.match(r'(.+?=)', kernel_param).group() + + for line in data.splitlines(): + data_final += line + if (re.search(r'append ', line) and + not re.search(key, line)): + data_final += ' ' + kernel_param + data_final += '\n' + + return data_final + + def parse_iso_volume_label(self, iso_filename): + label_line = exec_cmd('isoinfo -d -i %s | grep -i "Volume id: "' % iso_filename) + # cut leading text: 'Volume id: ' + return label_line[11:] + def deploy_env(self): dep = CloudDeploy(self.dea, self.dha, self.fuel_conf['ip'], self.fuel_username, self.fuel_password, |