[PATCH conductor] BZ 790516 - Only accept ipv4, hostname addresses for instances
Matt Wagner
matt.wagner at redhat.com
Mon Feb 20 18:20:05 UTC 2012
On Tue, Feb 14, 2012 at 07:29:49PM -0500, Matt Wagner wrote:
> Deltacloud labels 'vnc' and 'mac' addresses; don't set them as
> instance addresses! (There is no 'ipv6' type currently.)
>
> Resolves https://bugzilla.redhat.com/show_bug.cgi?id=790516
> ---
> src/dbomatic/dbomatic | 17 +++++++++++++----
> 1 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/src/dbomatic/dbomatic b/src/dbomatic/dbomatic
> index 1719d06..1c6c6ee 100755
> --- a/src/dbomatic/dbomatic
> +++ b/src/dbomatic/dbomatic
> @@ -177,6 +177,15 @@ def collect_accounts
> accounts
> end
>
> +# Extract 'ipv4' and 'hostname' addresses from Deltacloud
> +def extract_addresses(address_list)
> + addresses = []
> + address_list.each do |address|
> + addresses << address[:address] if ['ipv4', 'hostname'].include?(address[:type])
> + end
> + addresses
> +end
> +
> def check_one_account(account)
> connection = account.connect
>
> @@ -191,11 +200,11 @@ def check_one_account(account)
>
> # only update the public and private addresses if they are not nil.
> # this prevents us from deleting known information about instances
> - if not api_instance.public_addresses.empty?
> - instance.public_addresses = api_instance.public_addresses.map {|i| i[:address]}.join(',')
> + if (addresses = extract_addresses(api_instance.public_addresses)).present?
> + instance.public_addresses = addresses.join(',')
> end
> - if not api_instance.private_addresses.empty?
> - instance.private_addresses = api_instance.private_addresses.map {|i| i[:address]}.join(',')
> + if (addresses = extract_addresses(api_instance.private_addresses)).present?
> + instance.private_addresses = addresses.join(',')
> end
> # Only update the instance / create an event if anything has changed!
> instance.save! if instance.changed?
> --
> 1.7.6.5
>
Bump -- is anyone able to review this patch?
More information about the aeolus-devel
mailing list