Exemple #1
0
    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)
Exemple #2
0
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
Exemple #3
0
    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)
Exemple #4
0
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)
Exemple #5
0
    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)