execute charm_helpers_sync.py durante a implantação do charme

0

No momento, estou verificando os charms para um repositório de código sem fazer check-in em lib / charmhelpers. Depois de verificar um charme, preciso executar scripts / charm_helpers_sync.py antes que o charme possa ser implantado em uma máquina para preencher o diretório lib / charm_helpers. Existe uma maneira que eu possa pedir ao juju para fazer isso por mim antes de empacotar e empurrar os arquivos para a máquina?

    
por Matt Dirba 08.05.2015 / 23:53

1 resposta

0

Como você deseja executar charm_helpers_sync.py toda vez que implantar o encanto, suspeito que deseja sempre ter a versão mais recente de python-charmhelpers . Existe uma maneira muito mais fácil de fazer isso:

Instale automaticamente os charmhelpers usando o python-pip

A função a seguir instala os charmhelpers usando o repositório e python-pip.

def install_charmhelpers():
    """
    Install the charmhelpers library, if not present.
    """
    try:
        import charmhelpers  # noqa
    except ImportError:
        import subprocess
        subprocess.check_call(['apt-get', 'install', '-y', 'python-pip'])
        subprocess.check_call(['pip', 'install', 'charmhelpers'])

Chame essa função na parte superior de seus scripts de gancho, acima das importações de charme-ajudante. O modelo de charme python de Juju mostra uma maneira limpa de fazer isso.

Escreva um plugin Juju para fazer o download da fonte charmhelpers

Se você realmente quer que o Juju baixe o código do charmhelpers e o inclua nos charms, você terá que escrever um plugin do Juju.

por Galgalesh 16.05.2015 / 21:48