def mutate(self): metadata_file = join(self.work_dir, 'metadata', 'metadata.yml') print 'Importing ' + metadata_file metadata = files.import_yaml(metadata_file) print 'Mutating Metadata' self._mutate_metadata(metadata) print 'Saving Mutated Metadata file' files.export_yaml(metadata_file, metadata)
def test_import_export_yaml_tar(): data = {"pangram": 'Waltz, bad nymph, for quick jigs vex.'} files.export_yaml(TEST_FILE, data) tar_file = join(WORK_DIR, 'test.tgz') files.tar(tar_file, (TEST_FILE, )) output_work_dir = join(WORK_DIR, 'tar') files.create_path(output_work_dir) files.untar(tar_file, output_work_dir) _data = files.import_yaml(join(output_work_dir, TEST_FILE)) assert data == _data
def mutate(self, slug): metadata_file = join(self.work_dir, 'metadata', slug + '.yml') print 'Importing ' + metadata_file metadata = files.import_yaml(metadata_file) print 'Mutating Metadata' self._mutate_metadata(metadata) export_metadata_file = join(self.work_dir, 'metadata', slug + '-' + self.label + '.yml') print 'Exporting Mutated Metadata file' files.export_yaml(export_metadata_file, metadata) print 'Eradicating Old Metadata' unlink(metadata_file)
def mutate(slug, work_dir, label, **kwargs): metadata_file = join(work_dir, 'metadata', slug + '.yml') print 'Importing ' + metadata_file metadata = files.import_yaml(metadata_file) print 'Mutating Metadata' _metadata(metadata, label) if 'mutate_func' in kwargs: kwargs['mutate_func'](metadata) export_metadata_file = join(work_dir, 'metadata', slug + '-' + label + '.yml') print 'Exporting Mutated Metadata file' files.export_yaml(export_metadata_file, metadata) print 'Eradicating Old Metadata' unlink(metadata_file)
def _mutate_release_manifest(self, release_work_dir, sb_sha_256): print 'Mutating Release Manifest' release_manifest_filepath = join(release_work_dir, 'release.MF') release_manifest = files.import_yaml(release_manifest_filepath) # ''' # Given a parsed release_manifest object from releases/release.MF (inside redis-enterprise tarball), # a label and sha256 for the modify service broker tarball # modify the release manifest to have the newly modified info # ''' release_manifest['name'] = release_manifest['name'] + '-' + self.label for job in release_manifest['jobs']: if job['name'] == 'redislabs-service-broker': job['sha1'] = 'sha256:' + sb_sha_256 files.export_yaml(release_manifest_filepath, release_manifest)