~gandelman-a/charms/precise/keystone/swift_redux

« back to all changes in this revision

Viewing changes to hooks/lib/openstack_common.py

  • Committer: Adam Gandelman
  • Date: 2012-11-29 01:04:33 UTC
  • mfrom: (35.2.1 keystone)
  • Revision ID: adamg@canonical.com-20121129010433-03qfgpcry6wqw6ze
Merge fixes for handling of deb source URLs.

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
ubuntu_openstack_release = {
11
11
    'oneiric': 'diablo',
12
12
    'precise': 'essex',
13
 
    'quantal': 'folsom'
 
13
    'quantal': 'folsom',
 
14
    'raring' : 'grizzly'
14
15
}
15
16
 
16
17
 
60
61
        ca_rel = ca_rel.split('%s-' % ubuntu_rel)[1].split('/')[0]
61
62
        return ca_rel
62
63
 
 
64
    # Best guess match based on deb string provided
 
65
    if src.startswith('deb'):
 
66
        for k, v in openstack_codenames.iteritems():
 
67
            if v in src:
 
68
                return v
 
69
 
63
70
def get_os_codename_version(vers):
64
71
    '''Determine OpenStack codename from version number.'''
65
72
    try:
132
139
        return
133
140
    elif rel[:4] == "ppa:":
134
141
        src = rel
135
 
    elif rel[:4] == "deb:":
 
142
        subprocess.check_call(["add-apt-repository", "-y", src])
 
143
    elif rel[:3] == "deb":
136
144
        l = len(rel.split('|'))
137
145
        if l ==  2:
138
146
            src, key = rel.split('|')
142
150
            src = rel
143
151
        else:
144
152
            error_out("Invalid openstack-release: %s" % rel)
 
153
 
 
154
        with open('/etc/apt/sources.list.d/juju_deb.list', 'w') as f:
 
155
            f.write(src)
145
156
    elif rel[:6] == 'cloud:':
146
157
        ubuntu_rel = lsb_release()['DISTRIB_CODENAME']
147
158
        rel = rel.split(':')[1]
174
185
 
175
186
        src = "deb %s %s main" % (CLOUD_ARCHIVE_URL, pocket)
176
187
        _import_key(CLOUD_ARCHIVE_KEY_ID)
 
188
 
 
189
        with open('/etc/apt/sources.list.d/cloud-archive.list', 'w') as f:
 
190
            f.write(src)
177
191
    else:
178
192
        error_out("Invalid openstack-release specified: %s" % rel)
179
193
 
180
 
    subprocess.check_call(["add-apt-repository", "-y", src])