Obtenha o nome da unidade remota no encanto subordinado

0

No meu modelo de juju, tenho alguns aplicativos em execução e tenho um encanto de subordanite associado a um desses:

Unit                Workload  Agent  Machine  Public address  Ports            Message
mycharm/0*           active    idle   4        192.168.1.34   80/tcp           ready
wordpress/0*         unknown   idle   2        192.168.1.48   80/tcp
  trustysub/0*       active    idle            192.168.1.48                    ready

Agora, quero que meu encanto subordinado trustysub conheça o unit_name da unidade à qual ele está anexado ( wordpress/0 ). Então, quando eu adiciono a relação juju add-relation wordpress trustysub , eu posso escrever o nome da unidade de Wordpress em um arquivo ou algo assim.

@when('myrelation.available')
def write_unit_name():
    # code to get unitname
    f = open('myfile', 'w')
    f.write('unitname')
    f.close()
    status_set('active', 'ready')

my metadata.yml tem esta aparência:

name: trustysub
summary: test charm
maintainer: Sebastien Pattyn <[email protected]>
description: |
  This subordinate charm writes the unitname from the charm it has a relationship with, to a file
tags: ['misc']
subordinate: true
requires:
  subrelation:
    interface: juju-info
    scope: container
series: ['trusty']

Qualquer ideia sobre o que devo adicionar ao meu código para obter o nome da unidade do Wordpress no meu encanto subordinado

    
por SebastienPattyn 17.01.2017 / 14:55

1 resposta

0

O pacote Charmhelpers.core.hookenv tem algumas funções que podem ser usadas para obter informações sobre uma relação. Importar o pacote lhe dará a possibilidade de retornar a unidade Remota usando o método remote_unit() . Isso retornará a Unidade remota específica para a relação atual Gancho.

Você pode usá-lo assim.

from charmhelpers.core.hookenv import remote_unit

@when('myrelation.available')
def write_unit_name():
    f = open('myfile', 'w')
    f.write(remote_unit())
    f.close()
    status_set('active', 'ready')
    
por SebastienPattyn 07.03.2017 / 09:39