Exemplo n.º 1
0
def install(module, tserver):
    changed = False
    params = module.params
    name = params['name']
    values = params['values']
    chart = module.params['chart']
    namespace = module.params['namespace']

    chartb = chartbuilder.ChartBuilder(chart)
    r_matches = (x for x in tserver.list_releases()
                 if x.name == name and x.namespace == namespace)
    installed_release = next(r_matches, None)
    if installed_release:
        if installed_release.chart.metadata.version != chart['version']:
            tserver.update_release(chartb.get_helm_chart(),
                                   False,
                                   namespace,
                                   name=name,
                                   values=values)
            changed = True
    else:
        tserver.install_release(chartb.get_helm_chart(),
                                namespace,
                                dry_run=False,
                                name=name,
                                values=values)
        changed = True

    return dict(changed=changed)
    def install(self, tserver=None):
        if not HasPyhelm:
            print(bcolors.FAIL)
            print('*' * 80)
            print('pyhelm is not installed')
            print(bcolors.ENDC)
            return
        if not tserver:
            tserver = self.tserver
        changed = False
        name = self.resource_name
        values = self.values
        chart = self.chart
        namespace = self.namespace

        if chart:
            url, cart_name = chart
            chart_path = chart_versions = from_repo(url, cart_name)
            chart_obj = chartbuilder.ChartBuilder({
                'name': 'mongodb',
                'source': {
                    'type': 'directory',
                    'location': chart_path
                }
            })
            #chartb = chartbuilder.ChartBuilder(chart_path)
            r_matches = (x for x in tserver.list_releases()
                         if x.name == name and x.namespace == namespace)
            installed_release = next(r_matches, None)
            if installed_release:
                if installed_release.chart.metadata.version != chart['version']:
                    tserver.update_release(chartb.get_helm_chart(),
                                           False,
                                           namespace,
                                           name=name,
                                           values=values)
                    changed = True
            else:
                tserver.install_release(chartb.get_helm_chart(),
                                        namespace,
                                        dry_run=False,
                                        name=name,
                                        values=values)
                changed = True

        return changed
Exemplo n.º 3
0
def install(module, tserver):
    changed = False
    params = module.params
    name = params['name']
    values = params['values']
    chart = module.params['chart']
    namespace = module.params['namespace']

    chartb = chartbuilder.ChartBuilder(chart)
    try:
        result = tserver.install_release(chartb.get_helm_chart(),
                                         namespace,
                                         dry_run=False,
                                         name=name,
                                         values=values)
        changed = True
    except grpc._channel._Rendezvous as exc:
        if "already exists" not in str(exc):
            raise exc

    return dict(changed=changed)