Como obter o endereço IP da lista nova

2

De Openstack, eu preciso de saída como nome de host, status e endereço IP apenas, mas eu estou ficando hostname, status e id = ipaddress

    nova list | grep Hostname1 | awk '{print $4,$6,$12}'

    Output : 
         Hostname1   Active net1=10.192.1.22

Eu quero apenas o nome do host, status e ip como abaixo

  Expecting output 1 :
        Hostname1   Active   10.192.1.22

  Expecting output 2:
        Hostname1   Active  net1   10.192.1.22
        Hostname2   Active  net2   10.192.1.23

Agradecimentos antecipados

    
por Beginner 10.06.2016 / 22:02

2 respostas

0

Veja como eu faria isso. Eu não sou especialista em scripts ...

nova list | grep au-dev | awk '{ split($12, v, "="); print $4,$6,v[1],v[2]}'

Saída

   bcollins@home:~/openstack$ nova list | grep au-dev | awk '{ split($12, v, "="); print $4,$6,v[1],v[2]}'
    au-dev ACTIVE bcollins_net 10.10.0.13,
    
por bc2946088 10.06.2016 / 22:34
0

Os novos comandos openstack cli têm boas opções para fazer a maior parte da filtragem para você

openstack server list --help

List servers

optional arguments:
  -h, --help            show this help message and exit
...
  --name <name-regex>   Regular expression to match names
...
output formatters:
  output formatter options

  -f {csv,json,table,value,yaml}, --format {csv,json,table,value,yaml}
                        the output format, defaults to table
  -c COLUMN, --column COLUMN
                        specify the column(s) to include, can be repeated

Então

openstack server list --name '.*webs.*' -f value -c Name -c Status -c Networks

Mas, para obter apenas o IP flutuante, ainda é necessário algum awk ou similar extra:

openstack server list --name '.*webs.*' -f value -c Networks | awk '{print $2}'
    
por KCD 28.03.2018 / 03:37