Exemplo n.º 1
0
def run_helm():
    modulename = "elasticsearch"
    baseutils.configure_logger(logger,
                               file_path='/tmp/' + modulename + '.log',
                               level=logging.INFO)
    module_args = {
        'environments': {
            'type': 'list',
            'required': True
        },
        'charts': {
            'type': 'list',
            'required': True
        },
        'helm_repository_url': {
            'type': 'str',
            'required': True
        },
        'enforce_chart_requirements': {
            'type': 'bool',
            'required': True
        }
    }

    result = {
        'changed': False,
    }

    module = AnsibleModule(argument_spec=module_args, supports_check_mode=True)

    try:
        environments = module.params['environments']
        charts = module.params['charts']
        enforce_chart_requirements = module.params[
            'enforce_chart_requirements']
        helm_repository_url = module.params['helm_repository_url']

        for element in charts:
            name = element['name']
            release = element['release']
            logger.info("release = " + release)
            namespace = element['namespace']
            logger.info("namespace = " + namespace)
            chartVersion = element['chartVersion']
            valuesFile = element['valuesFile']
            helm3.install_chart(name, chartVersion, valuesFile, release,
                                namespace)

    except Exception as e:
        print(e)
        logger.error(str(e), exc_info=True)
    module.exit_json(**result)
Exemplo n.º 2
0
def main():
    baseutils.configure_logger(logger, stream=True)
    parser = OptionParser()
    parser.add_option('--files-dir', dest='files_dir', help='The directory containing the text files. If the names already exist in Vault, they will be overwritten')
    parser.add_option('--upload-path', dest='upload_path', default='secret/ansible/sos/iks/ovpn/files', help='The Vault path to upload the files to (Optional, default: %default)')
    parser.add_option('--vault-url', dest='vault_url', default='https://vaulty.sjc03.dc.local:8200', help='The Vault server upload the files to (Optional, default: %default)')
    parser.add_option('--vault-token', dest='vault_token', help='The token for authenticating with Vault')
    parser.add_option('-d', '--debug', dest='debug', action='store_true', help='Lists the files to upload and authenticates with vault but does not upload any files')
    (options, args) = parser.parse_args()

    if not options.files_dir:
        raise Exception('Command line argument --files-dir not provided.  Execute -h for usage')
    if not options.vault_token:
        raise Exception('Command line argument --vault-token not provided.  Execute -h for usage')

    vault.login(options.vault_url, options.vault_token)
    upload_files(options.files_dir, options.upload_path, options.debug)
Exemplo n.º 3
0
 def test_logger(self):
     logger = logging.getLogger()
     tmpdir = tempfile.mkdtemp()
     try:
         baseutils.configure_logger(logger,
                                    file_path=os.path.join(
                                        tmpdir, 'logfile'),
                                    level=logging.INFO)
         self.assertIsInstance(logger.handlers[0],
                               logging.handlers.RotatingFileHandler)
         self.assertIsInstance(logger.handlers[0].formatter,
                               logging.Formatter)
         self.assertEqual(logging.INFO, logger.level)
         logger.handlers = []
         baseutils.configure_logger(logger,
                                    stream=True,
                                    json_formatter=True,
                                    level=logging.ERROR)
         self.assertIsInstance(logger.handlers[0].formatter,
                               logmatic.JsonFormatter)
         self.assertEqual(logging.ERROR, logger.level)
         logger.handlers = []
         formatter = logging.Formatter(
             '[%(asctime)-15s] [unittests] %(levelname)s %(message)s')
         baseutils.configure_logger(logger,
                                    stream=True,
                                    formatter=formatter)
         self.assertIsInstance(logger.handlers[0], logging.StreamHandler)
         self.assertEqual(formatter, logger.handlers[0].formatter)
         formatter2 = logging.Formatter(
             '[%(asctime)-15s] [unittests2] %(levelname)s %(message)s')
         baseutils.replace_logger_formatter(logger, formatter2)
         self.assertEqual(formatter2, logger.handlers[0].formatter)
     finally:
         shutil.rmtree(tmpdir)