[euca2ools/el5/master] Work around Boto 2.0 + Eucalyptus 2.0 incompatibility [RH:684976]
gholms
gholms at fedoraproject.org
Tue Mar 22 23:13:36 UTC 2011
commit 60fac815635dd5a4715b84d1bd071820a8610943
Author: Garrett Holmstrom <gholms at fedoraproject.org>
Date: Tue Mar 22 16:08:31 2011 -0700
Work around Boto 2.0 + Eucalyptus 2.0 incompatibility [RH:684976]
euca2ools-1.3.1-euca20.patch | 90 ++++++++++++++++++++++++++++++++++++++++++
euca2ools.spec | 8 +++-
2 files changed, 97 insertions(+), 1 deletions(-)
---
diff --git a/euca2ools-1.3.1-euca20.patch b/euca2ools-1.3.1-euca20.patch
new file mode 100644
index 0000000..214072c
--- /dev/null
+++ b/euca2ools-1.3.1-euca20.patch
@@ -0,0 +1,90 @@
+--- euca2ools-1.3.1/bin/euca-authorize.euca20 2011-03-22 15:32:42.534671519 -0700
++++ euca2ools-1.3.1/bin/euca-authorize 2011-03-22 15:48:50.575046474 -0700
+@@ -36,8 +36,10 @@
+ import getopt
+ import sys
+ import os
++import urllib
+ from euca2ools import Euca2ool, AddressValidationError, \
+- ProtocolValidationError, Util, ConnectionFailed
++ ProtocolValidationError, Util, ConnectionFailed,\
++ EC2Connection
+
+ usage_string = \
+ """
+@@ -68,6 +70,30 @@ OPTIONAL PARAMETERS
+
+ """
+
++# Monkey-patch authorize_security_group to get around a change in EC2 request
++# semantics that Eucalyptus 2.0 does not support.
++
++def authorize_security_group(self, group_name, src_security_group_name=None,
++ src_security_group_owner_id=None,
++ ip_protocol=None, from_port=None, to_port=None,
++ cidr_ip=None):
++ params = {'GroupName':group_name}
++ if src_security_group_name:
++ params['SourceSecurityGroupName'] = src_security_group_name
++ if src_security_group_owner_id:
++ params['SourceSecurityGroupOwnerId'] = src_security_group_owner_id
++ if ip_protocol:
++ params['IpProtocol'] = ip_protocol
++ if from_port:
++ params['FromPort'] = from_port
++ if to_port:
++ params['ToPort'] = to_port
++ if cidr_ip:
++ params['CidrIp'] = urllib.quote(cidr_ip)
++ return self.get_status('AuthorizeSecurityGroupIngress', params)
++
++EC2Connection.authorize_security_group = authorize_security_group
++
+
+ def usage(status=1):
+ print usage_string
+--- euca2ools-1.3.1/bin/euca-revoke.euca20 2011-03-22 15:32:42.534671519 -0700
++++ euca2ools-1.3.1/bin/euca-revoke 2011-03-22 15:52:24.714193863 -0700
+@@ -36,8 +36,10 @@
+ import getopt
+ import sys
+ import os
++import urllib
+ from euca2ools import Euca2ool, AddressValidationError, \
+- ProtocolValidationError, Util, ConnectionFailed
++ ProtocolValidationError, Util, ConnectionFailed, \
++ EC2Connection
+
+ usage_string = \
+ """
+@@ -68,6 +70,30 @@ OPTIONAL PARAMETERS
+
+ """
+
++# Monkey-patch revoke_security_group to get around a change in EC2 request
++# semantics that Eucalyptus 2.0 does not support.
++
++def revoke_security_group(self, group_name, src_security_group_name=None,
++ src_security_group_owner_id=None,
++ ip_protocol=None, from_port=None, to_port=None,
++ cidr_ip=None):
++ params = {'GroupName':group_name}
++ if src_security_group_name:
++ params['SourceSecurityGroupName'] = src_security_group_name
++ if src_security_group_owner_id:
++ params['SourceSecurityGroupOwnerId'] = src_security_group_owner_id
++ if ip_protocol:
++ params['IpProtocol'] = ip_protocol
++ if from_port:
++ params['FromPort'] = from_port
++ if to_port:
++ params['ToPort'] = to_port
++ if cidr_ip:
++ params['CidrIp'] = urllib.quote(cidr_ip)
++ return self.get_status('RevokeSecurityGroupIngress', params)
++
++EC2Connection.revoke_security_group = revoke_security_group
++
+
+ def usage(status=1):
+ print usage_string
diff --git a/euca2ools.spec b/euca2ools.spec
index 71ec957..7931554 100644
--- a/euca2ools.spec
+++ b/euca2ools.spec
@@ -8,7 +8,7 @@
Name: euca2ools
Version: 1.3.1
-Release: 8%{?dist}
+Release: 9%{?dist}
Summary: Elastic Utility Computing Architecture Command-Line Tools
Group: Applications/Internet
@@ -56,6 +56,8 @@ Patch18: euca2ools-1.3.1-userdata.patch
Patch19: euca2ools-1.3.1-srcnet.patch
# Boto 2.0 compatibility
Patch20: euca2ools-1.3.1-boto20.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=684976
+Patch21: euca2ools-1.3.1-euca20.patch
Requires: python%{?__python_ver}-m2crypto
Requires: python%{?__python_ver}-boto
@@ -100,6 +102,7 @@ Eucalyptus. These tools are also compatible with Amazon AWS.
%patch18 -p1
%patch19 -p1
%patch20 -p1
+%patch21 -p1
%build
@@ -137,6 +140,9 @@ rm -rf %{buildroot}
%doc README
%changelog
+* Tue Mar 22 2011 Garrett Holmstrom <gholms at fedoraproject.org> - 1.3.1-9
+- Work around Boto 2.0 + Eucalyptus 2.0 incompatibility [RH:684976]
+
* Mon Mar 7 2011 Garrett Holmstrom <gholms at fedoraproject.org> - 1.3.1-8
- Fix Boto 2.0 compatibility
More information about the scm-commits
mailing list