Hello community, here is the log from the commit of package yomi-formula for openSUSE:Factory checked in at 2019-08-08 14:23:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yomi-formula (Old) and /work/SRC/openSUSE:Factory/.yomi-formula.new.9556 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yomi-formula" Thu Aug 8 14:23:42 2019 rev:3 rq:721565 version:0.0.1+git.1565191883.64eabeb Changes: -------- --- /work/SRC/openSUSE:Factory/yomi-formula/yomi-formula.changes 2019-08-06 15:11:53.735740812 +0200 +++ /work/SRC/openSUSE:Factory/.yomi-formula.new.9556/yomi-formula.changes 2019-08-08 14:23:45.292345850 +0200 @@ -1,0 +2,10 @@ +Wed Aug 07 15:32:14 UTC 2019 - Alberto Planas Dominguez <[email protected]> + +- Update to version 0.0.1+git.1565191883.64eabeb: + * devices.wipe: clean disk information + * pillar: add to MicroOS the new subvols + * pillar: fix services for MicroOS + * partitioned: ignore flags that contains type= + * partitioned: wipefs the new partition + +------------------------------------------------------------------- Old: ---- yomi-0.0.1+git.1565017592.7207cea.obscpio New: ---- yomi-0.0.1+git.1565191883.64eabeb.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yomi-formula.spec ++++++ --- /var/tmp/diff_new_pack.sGHK66/_old 2019-08-08 14:23:45.792345774 +0200 +++ /var/tmp/diff_new_pack.sGHK66/_new 2019-08-08 14:23:45.792345774 +0200 @@ -20,7 +20,7 @@ %define fdir %{_datadir}/salt-formulas Name: yomi-formula -Version: 0.0.1+git.1565017592.7207cea +Version: 0.0.1+git.1565191883.64eabeb Release: 0 Summary: Yomi - Yet one more installer License: Apache-2.0 ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.sGHK66/_old 2019-08-08 14:23:45.828345769 +0200 +++ /var/tmp/diff_new_pack.sGHK66/_new 2019-08-08 14:23:45.828345769 +0200 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/openSUSE/yomi.git</param> - <param name="changesrevision">7207cea9d0a4dd8b82477fa39adc3dd9dc558457</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">64eabebf77b0a0385ef883546ecbff2c390a2301</param></service></servicedata> \ No newline at end of file ++++++ yomi-0.0.1+git.1565017592.7207cea.obscpio -> yomi-0.0.1+git.1565191883.64eabeb.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yomi-0.0.1+git.1565017592.7207cea/docs/use-case-as-a-kubic-worker.md new/yomi-0.0.1+git.1565191883.64eabeb/docs/use-case-as-a-kubic-worker.md --- old/yomi-0.0.1+git.1565017592.7207cea/docs/use-case-as-a-kubic-worker.md 2019-08-05 17:06:32.000000000 +0200 +++ new/yomi-0.0.1+git.1565191883.64eabeb/docs/use-case-as-a-kubic-worker.md 2019-08-07 17:31:23.000000000 +0200 @@ -208,6 +208,28 @@ - installer ``` +### Cleaning the disk + +Yomi try to be careful with the current data stored in the disks. By +default will not remove any partition, nor will make an implicit +decision about the device where the installation will run. + +If we want to remove the data from the device, we can use the provided +`devices.wipe` execution module. + +```bash +# List the partitions +salt worker2 partition.list /dev/sda + +# Make sure that the new modules are in the minion +salt worker2 saltutil.sync_all + +# Remove all the partitions and the filesystem information +salt worker2 devides.wipe /dev/sda +``` + +### Launching Yomi + Finally, to install MicroOS into the new worker, we need to apply the high-state into the node: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yomi-0.0.1+git.1565017592.7207cea/pillar/_storage.sls.microos new/yomi-0.0.1+git.1565191883.64eabeb/pillar/_storage.sls.microos --- old/yomi-0.0.1+git.1565017592.7207cea/pillar/_storage.sls.microos 2019-08-05 17:06:32.000000000 +0200 +++ new/yomi-0.0.1+git.1565191883.64eabeb/pillar/_storage.sls.microos 2019-08-07 17:31:23.000000000 +0200 @@ -62,10 +62,13 @@ subvolumes: prefix: '@' subvolume: - - path: home - - path: opt - path: root - path: tmp + - path: home + - path: opt + - path: srv + - path: boot/writable + - path: usr/local - path: boot/grub2/i386-pc - path: boot/grub2/x86_64-efi {% set next_partition = next_partition + 1 %} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yomi-0.0.1+git.1565017592.7207cea/pillar/installer.sls new/yomi-0.0.1+git.1565191883.64eabeb/pillar/installer.sls --- old/yomi-0.0.1+git.1565017592.7207cea/pillar/installer.sls 2019-08-05 17:06:32.000000000 +0200 +++ new/yomi-0.0.1+git.1565191883.64eabeb/pillar/installer.sls 2019-08-07 17:31:23.000000000 +0200 @@ -72,7 +72,7 @@ services: enabled: -{% if mode in ('microos', 'kubic') %} +{% if mode == 'kubic' %} - crio - kubelet {% endif %} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yomi-0.0.1+git.1565017592.7207cea/salt/_modules/devices.py new/yomi-0.0.1+git.1565191883.64eabeb/salt/_modules/devices.py --- old/yomi-0.0.1+git.1565017592.7207cea/salt/_modules/devices.py 2019-08-05 17:06:32.000000000 +0200 +++ new/yomi-0.0.1+git.1565191883.64eabeb/salt/_modules/devices.py 2019-08-07 17:31:23.000000000 +0200 @@ -137,3 +137,28 @@ } return sorted(devices_udev_key_in-devices_udev_key_ex) + + +def wipe(device): + ''' + Remove all the partitions in the device. + + device + Device name, for example /dev/sda + + Remove all the partitions, labels and flags from the device. + + CLI Example: + + .. code-block:: bash + + salt '*' devices.wipeout /dev/sda + + ''' + + partitions = __salt__['partition.list'](device).get('partitions', []) + for partition in partitions: + # Remove filesystem information the the partition + __salt__['disk.wipe']('{}{}'.format(device, partition)) + __salt__['partition.rm'](device, partition) + return True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yomi-0.0.1+git.1565017592.7207cea/salt/_states/partitioned.py new/yomi-0.0.1+git.1565191883.64eabeb/salt/_states/partitioned.py --- old/yomi-0.0.1+git.1565017592.7207cea/salt/_states/partitioned.py 2019-08-05 17:06:32.000000000 +0200 +++ new/yomi-0.0.1+git.1565191883.64eabeb/salt/_states/partitioned.py 2019-08-07 17:31:23.000000000 +0200 @@ -342,6 +342,13 @@ ''' Return the current list of flags for a partition. ''' + + def _is_valid(flag): + '''Return True if is a valid flag''' + if flag == 'swap' or flag.startswith('type='): + return False + return True + result = [] number = str(number) partitions = __salt__['partition.list'](device)['partitions'] @@ -350,8 +357,7 @@ # situations, so we need to remove values that do not # represent flags flags = partitions[number]['flags'].split(', ') - not_valid = ['swap'] - result = [flag for flag in flags if flag and flag not in not_valid] + result = [flag for flag in flags if flag and _is_valid(flag)] return result @@ -451,6 +457,12 @@ res = __salt__['partition.mkpart'](device, part_type, fs_type, start, end) ret['changes']['output'] = res + + # Wipe the filesystem information from the partition to remove + # old data that was on the disk. As a side effect, this will + # force the mkfs state to happend. + __salt__['disk.wipe']('{}{}'.format(device, number)) + _invalidate_cached_info() _invalidate_cached_partitions() ++++++ yomi.obsinfo ++++++ --- /var/tmp/diff_new_pack.sGHK66/_old 2019-08-08 14:23:45.936345752 +0200 +++ /var/tmp/diff_new_pack.sGHK66/_new 2019-08-08 14:23:45.940345752 +0200 @@ -1,5 +1,5 @@ name: yomi -version: 0.0.1+git.1565017592.7207cea -mtime: 1565017592 -commit: 7207cea9d0a4dd8b82477fa39adc3dd9dc558457 +version: 0.0.1+git.1565191883.64eabeb +mtime: 1565191883 +commit: 64eabebf77b0a0385ef883546ecbff2c390a2301
