Exemplo n.º 1
0
 def deployment_tasks(self, params):
     """Modify deployment_tasks for release.
     fuel rel --rel 1 --deployment-tasks --download
     fuel rel --rel 1 --deployment-tasks --upload
     """
     release = Release(params.release)
     dir_path = self.full_path_directory(
         params.dir, 'release_{0}'.format(params.release))
     full_path = '{0}/deployment_tasks'.format(dir_path)
     if params.download:
         tasks = release.get_deployment_tasks()
         self.serializer.write_to_path(full_path, tasks)
         print("Deployment tasks for release {0} "
               "downloaded into {1}.yaml.".format(release.id, full_path))
     elif params.upload:
         tasks = self.serializer.read_from_file(full_path)
         release.update_deployment_tasks(tasks)
         print("Deployment tasks for release {0}"
               " uploaded from {1}.yaml".format(release.id, dir_path))
Exemplo n.º 2
0
    def sync_deployment_tasks(self, params):
        """Upload tasks for different releases based on directories.
        The string identifier for the release(s) to update is expected to be
        found in the path (see `fuel release`), like:

            /etc/puppet/<release>/
            /etc/puppet/liberty-9.0

        fuel rel --sync-deployment-tasks --dir /etc/puppet/liberty-9.0/
        fuel rel --sync-deployment-tasks --fp '*tasks.yaml'

        In case no directory was provided:

        fuel rel --sync-deployment-tasks

        The current directory will be used
        """
        all_rels = Release.get_all_data()
        real_path = os.path.realpath(params.dir)
        serialized_tasks = defaultdict(list)
        versions = set([r['version'] for r in all_rels])

        for file_name in utils.iterfiles(real_path, params.filepattern):
            for version in versions:
                if version in file_name:
                    serialized_tasks[version].extend(
                        self.serializer.read_from_full_path(file_name))

        for rel in all_rels:
            release = Release(rel['id'])
            data = serialized_tasks.get(rel['version'])
            if data:
                release.update_deployment_tasks(data)
                print("Deployment tasks synchronized for release"
                      " {0} of version {1}".format(rel['name'],
                                                   rel['version']))
            else:
                print("No tasks were synchronized for release {0} "
                      "of version {1}.(Hint: nothing matched "
                      "{2}/{1}/{3})".format(rel['name'],
                                            rel['version'],
                                            real_path,
                                            params.filepattern))
Exemplo n.º 3
0
 def deployment_tasks(self, params):
     """Modify deployment_tasks for release.
     fuel rel --rel 1 --deployment-tasks --download
     fuel rel --rel 1 --deployment-tasks --upload
     """
     release = Release(params.release)
     dir_path = self.full_path_directory(
         params.dir, 'release_{0}'.format(params.release))
     full_path = '{0}/deployment_tasks'.format(dir_path)
     if params.download:
         tasks = release.get_deployment_tasks()
         self.serializer.write_to_path(full_path, tasks)
         print("Deployment tasks for release {0} "
               "downloaded into {1}.yaml.".format(release.id, full_path))
     elif params.upload:
         tasks = self.serializer.read_from_file(full_path)
         release.update_deployment_tasks(tasks)
         print("Deployment tasks for release {0}"
               " uploaded from {1}.yaml".format(release.id, dir_path))
Exemplo n.º 4
0
    def sync_deployment_tasks(self, params):
        """Upload tasks for different releases based on directories.
        The string identifier for the release(s) to update is expected to be
        found in the path (see `fuel release`), like:

            /etc/puppet/<release>/
            /etc/puppet/liberty-9.0

        fuel rel --sync-deployment-tasks --dir /etc/puppet/liberty-9.0/
        fuel rel --sync-deployment-tasks --fp '*tasks.yaml'

        In case no directory was provided:

        fuel rel --sync-deployment-tasks

        The current directory will be used
        """
        all_rels = Release.get_all_data()
        real_path = os.path.realpath(params.dir)
        serialized_tasks = defaultdict(list)
        versions = set([r['version'] for r in all_rels])

        for file_name in utils.iterfiles(real_path, params.filepattern):
            for version in versions:
                if version in file_name:
                    serialized_tasks[version].extend(
                        self.serializer.read_from_full_path(file_name))

        for rel in all_rels:
            release = Release(rel['id'])
            data = serialized_tasks.get(rel['version'])
            if data:
                release.update_deployment_tasks(data)
                print("Deployment tasks synchronized for release"
                      " {0} of version {1}".format(rel['name'],
                                                   rel['version']))
            else:
                print("No tasks were synchronized for release {0} "
                      "of version {1}.(Hint: nothing matched "
                      "{2}/{1}/{3})".format(rel['name'], rel['version'],
                                            real_path, params.filepattern))
Exemplo n.º 5
0
    def sync_deployment_tasks(self, params):
        """Upload tasks for different releases based on directories.
        Unique identifier of the release should in the path, like:

            /etc/puppet/2014.2-6.0/

        fuel rel --sync-deployment-tasks --dir /etc/puppet/2014.2-6.0/
        fuel rel --sync-deployment-tasks --fp '*tasks.yaml'

        In case no directory will be provided:

        fuel rel --sync-deployment-tasks

        Current directory will be used
        """
        all_rels = Release.get_all_data()
        real_path = os.path.realpath(params.dir)
        serialized_tasks = defaultdict(list)
        versions = set([r['version'] for r in all_rels])

        for file_name in utils.iterfiles(real_path, params.filepattern):
            for version in versions:
                if version in file_name:
                    serialized_tasks[version].extend(
                        self.serializer.read_from_full_path(file_name))

        for rel in all_rels:
            release = Release(rel['id'])
            data = serialized_tasks.get(rel['version'])
            if data:
                release.update_deployment_tasks(data)
                print("Deployment tasks syncronized for release"
                      " {0} of version {1}".format(rel['name'],
                                                   rel['version']))
            else:
                print("No tasks found for release {0} "
                      "of version {1}".format(rel['name'], rel['version']))
Exemplo n.º 6
0
    def sync_deployment_tasks(self, params):
        """Upload tasks for different releases based on directories.
        Unique identifier of the release should in the path, like:

            /etc/puppet/2014.2-6.0/

        fuel rel --sync-deployment-tasks --dir /etc/puppet/2014.2-6.0/
        fuel rel --sync-deployment-tasks --fp '*tasks.yaml'

        In case no directory will be provided:

        fuel rel --sync-deployment-tasks

        Current directory will be used
        """
        all_rels = Release.get_all_data()
        real_path = os.path.realpath(params.dir)
        serialized_tasks = defaultdict(list)
        versions = set([r['version'] for r in all_rels])

        for file_name in utils.iterfiles(real_path, params.filepattern):
            for version in versions:
                if version in file_name:
                    serialized_tasks[version].extend(
                        self.serializer.read_from_full_path(file_name))

        for rel in all_rels:
            release = Release(rel['id'])
            data = serialized_tasks.get(rel['version'])
            if data:
                release.update_deployment_tasks(data)
                print("Deployment tasks synchronized for release"
                      " {0} of version {1}".format(rel['name'],
                                                   rel['version']))
            else:
                print("No tasks found for release {0} "
                      "of version {1}".format(rel['name'], rel['version']))