Revision 64303189 snf-cyclades-app/synnefo/api/management/commands/server-list.py
b/snf-cyclades-app/synnefo/api/management/commands/server-list.py | ||
---|---|---|
77 | 77 |
astakos_url = ASTAKOS_BASE_URL |
78 | 78 |
astakos_token = ASTAKOS_TOKEN |
79 | 79 |
|
80 |
def get_public_ip(vm): |
|
81 |
try: |
|
82 |
return vm.nics.all()[0].ipv4 |
|
83 |
except IndexError: |
|
84 |
return None |
|
80 |
def get_ipv4(vm): |
|
81 |
return vm.nics.filter(ips__subnet__ipversion=4)\ |
|
82 |
.values_list("ips__address", flat=True) |
|
83 |
|
|
84 |
def get_ipv6(vm): |
|
85 |
return vm.nics.filter(ips__subnet__ipversion=6)\ |
|
86 |
.values_list("ips__address", flat=True) |
|
85 | 87 |
|
86 | 88 |
def format_vm_state(vm): |
87 | 89 |
if vm.operstate == "BUILD": |
... | ... | |
98 | 100 |
"image.id": ("imageid", "The ID of the server's image"), |
99 | 101 |
"image.name": ("image", "The name of the server's image"), |
100 | 102 |
"state": (format_vm_state, "The current state of the server"), |
101 |
"ip": (get_public_ip, "The public IP of the server"), |
|
103 |
"ipv4": (get_ipv4, "The IPv4 addresses of the server"), |
|
104 |
"ipv6": (get_ipv6, "The IPv6 addresses of the server"), |
|
102 | 105 |
"created": ("created", "The date the server was created"), |
103 | 106 |
"deleted": ("deleted", "Whether the server is deleted or not"), |
104 | 107 |
"suspended": ("suspended", "Whether the server is administratively" |
Also available in: Unified diff