Cloudify blueprint for provisioning ONAP
[oom.git] / cloudify / scripts / onap / configure_docker_secret_workaround.py
1 from fabric.api import run
2
3 from cloudify import ctx
4 from cloudify.exceptions import NonRecoverableError
5
6
7 def _retrieve_namespace():
8     namespace = ctx.node.properties.get(
9         'namespace',
10         ctx.node.properties
11             .get('options', {})
12             .get('namespace', None)
13     )
14
15     if not namespace:
16         raise NonRecoverableError(
17             'Namespace is not defined (node={})'.format(ctx.node.name)
18         )
19
20     return namespace
21
22
23 def configure_secret():
24     namespace = _retrieve_namespace()
25     ctx.logger.info(
26         'Configuring docker secrets for namespace: {0}'.format(namespace)
27     )
28
29     command = 'kubectl create secret ' \
30               'docker-registry onap-docker-registry-key ' \
31               '--docker-server=nexus3.onap.org:10001 ' \
32               '--docker-username=docker ' \
33               '--docker-password=docker ' \
34               '--docker-email=email@email.com ' \
35               '--namespace={0}'.format(namespace)
36
37     ctx.logger.info('Command "{0}" will be executed'.format(command))
38     run(command)
39
40     ctx.logger.info('Docker secrets configured successfully')