summaryrefslogtreecommitdiff
path: root/ec2init/DataSourceEc2.py
diff options
context:
space:
mode:
authorScott Moser <smoser@nelson>2010-01-06 01:40:29 -0500
committerScott Moser <smoser@nelson>2010-01-06 01:40:29 -0500
commit857dab6b5dfc69cf398e6f8f873b4ef472b9e635 (patch)
tree6a223f923c0f3e6776cdf38ec76c27cd99055d22 /ec2init/DataSourceEc2.py
parentd9451ac2d25078dd6b2964bae8a1807474271923 (diff)
downloadvyos-cloud-init-857dab6b5dfc69cf398e6f8f873b4ef472b9e635.tar.gz
vyos-cloud-init-857dab6b5dfc69cf398e6f8f873b4ef472b9e635.zip
support compressed user data, use cPickle instead of pickle
Diffstat (limited to 'ec2init/DataSourceEc2.py')
-rw-r--r--ec2init/DataSourceEc2.py25
1 files changed, 12 insertions, 13 deletions
diff --git a/ec2init/DataSourceEc2.py b/ec2init/DataSourceEc2.py
index c3317272..8ee92d29 100644
--- a/ec2init/DataSourceEc2.py
+++ b/ec2init/DataSourceEc2.py
@@ -5,7 +5,7 @@ import boto.utils
import socket
import urllib2
import time
-import pickle
+import cPickle
class DataSourceEc2(DataSource.DataSource):
api_ver = '2009-04-04'
@@ -26,26 +26,25 @@ class DataSourceEc2(DataSource.DataSource):
self.meta_data_base_url = 'http://169.254.169.254/%s/meta-data' % self.api_ver
self.user_data_base_url = 'http://169.254.169.254/%s/user-data' % self.api_ver
- def get_user_data(self):
- return("hello")
-
def get_data(self):
- print "checking %s" % self.cachedir + "/user-data.pkl"
- udf = open(self.cachedir + "/user-data.pkl")
- self.userdata = pickle.load(udf)
- udf.close()
+ try:
+ udf = open(self.cachedir + "/user-data.pkl")
+ self.userdata_raw = cPickle.load(udf)
+ udf.close()
- mdf = open(self.cachedir + "/meta-data.pkl")
- self.metadata = pickle.load(mdf)
- mdf.close()
+ mdf = open(self.cachedir + "/meta-data.pkl")
+ self.metadata = cPickle.load(mdf)
+ mdf.close()
- return True
+ return True
+ except:
+ pass
try:
if not self.wait_for_metadata_service():
return False
self.metadata = boto.utils.get_instance_userdata(api_ver)
- self.userdata = boto.utils.get_instance_metadata(api_ver)
+ self.userdata_raw = boto.utils.get_instance_metadata(api_ver)
except Exception as e:
print e
return False