rename DataSourceMaaS to DataSourceMAAS, generally use MAAS everywhere
instead of MaaS or Maas, use MAAS consistently. The only non 'MAAS' left are all lower case.
This commit is contained in:
parent
44869b6a25
commit
1b72b1dc47
@ -31,9 +31,9 @@ import time
|
|||||||
MD_VERSION = "2012-03-01"
|
MD_VERSION = "2012-03-01"
|
||||||
|
|
||||||
|
|
||||||
class DataSourceMaaS(DataSource.DataSource):
|
class DataSourceMAAS(DataSource.DataSource):
|
||||||
"""
|
"""
|
||||||
DataSourceMaaS reads instance information from MaaS.
|
DataSourceMAAS reads instance information from MAAS.
|
||||||
Given a config metadata_url, and oauth tokens, it expects to find
|
Given a config metadata_url, and oauth tokens, it expects to find
|
||||||
files under the root named:
|
files under the root named:
|
||||||
instance-id
|
instance-id
|
||||||
@ -44,7 +44,7 @@ class DataSourceMaaS(DataSource.DataSource):
|
|||||||
baseurl = None
|
baseurl = None
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return("DataSourceMaaS[%s]" % self.baseurl)
|
return("DataSourceMAAS[%s]" % self.baseurl)
|
||||||
|
|
||||||
def get_data(self):
|
def get_data(self):
|
||||||
mcfg = self.ds_cfg
|
mcfg = self.ds_cfg
|
||||||
@ -55,9 +55,9 @@ class DataSourceMaaS(DataSource.DataSource):
|
|||||||
self.metadata = metadata
|
self.metadata = metadata
|
||||||
self.baseurl = self.seeddir
|
self.baseurl = self.seeddir
|
||||||
return True
|
return True
|
||||||
except MaasSeedDirNone:
|
except MAASSeedDirNone:
|
||||||
pass
|
pass
|
||||||
except MaasSeedDirMalformed as exc:
|
except MAASSeedDirMalformed as exc:
|
||||||
log.warn("%s was malformed: %s\n" % (self.seeddir, exc))
|
log.warn("%s was malformed: %s\n" % (self.seeddir, exc))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
@ -143,7 +143,7 @@ def read_maas_seed_dir(seed_d):
|
|||||||
md = {}
|
md = {}
|
||||||
|
|
||||||
if not os.path.isdir(seed_d):
|
if not os.path.isdir(seed_d):
|
||||||
raise MaasSeedDirNone("%s: not a directory")
|
raise MAASSeedDirNone("%s: not a directory")
|
||||||
|
|
||||||
for fname in files:
|
for fname in files:
|
||||||
try:
|
try:
|
||||||
@ -195,17 +195,17 @@ def check_seed_contents(content, seed):
|
|||||||
"""Validate if content is Is the content a dict that is valid as a
|
"""Validate if content is Is the content a dict that is valid as a
|
||||||
return for a datasource.
|
return for a datasource.
|
||||||
Either return a (userdata, metadata) tuple or
|
Either return a (userdata, metadata) tuple or
|
||||||
Raise MaasSeedDirMalformed or MaasSeedDirNone
|
Raise MAASSeedDirMalformed or MAASSeedDirNone
|
||||||
"""
|
"""
|
||||||
md_required = ('instance-id', 'local-hostname')
|
md_required = ('instance-id', 'local-hostname')
|
||||||
found = content.keys()
|
found = content.keys()
|
||||||
|
|
||||||
if len(content) == 0:
|
if len(content) == 0:
|
||||||
raise MaasSeedDirNone("%s: no data files found" % seed)
|
raise MAASSeedDirNone("%s: no data files found" % seed)
|
||||||
|
|
||||||
missing = [k for k in md_required if k not in found]
|
missing = [k for k in md_required if k not in found]
|
||||||
if len(missing):
|
if len(missing):
|
||||||
raise MaasSeedDirMalformed("%s: missing files %s" % (seed, missing))
|
raise MAASSeedDirMalformed("%s: missing files %s" % (seed, missing))
|
||||||
|
|
||||||
userdata = content.get('user-data', "")
|
userdata = content.get('user-data', "")
|
||||||
md = {}
|
md = {}
|
||||||
@ -233,16 +233,16 @@ def oauth_headers(url, consumer_key, token_key, token_secret, consumer_secret):
|
|||||||
return(req.to_header())
|
return(req.to_header())
|
||||||
|
|
||||||
|
|
||||||
class MaasSeedDirNone(Exception):
|
class MAASSeedDirNone(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class MaasSeedDirMalformed(Exception):
|
class MAASSeedDirMalformed(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
datasources = [
|
datasources = [
|
||||||
(DataSourceMaaS, (DataSource.DEP_FILESYSTEM, DataSource.DEP_NETWORK)),
|
(DataSourceMAAS, (DataSource.DEP_FILESYSTEM, DataSource.DEP_NETWORK)),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -261,7 +261,7 @@ if __name__ == "__main__":
|
|||||||
import argparse
|
import argparse
|
||||||
import pprint
|
import pprint
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(description='Interact with Maas DS')
|
parser = argparse.ArgumentParser(description='Interact with MAAS DS')
|
||||||
parser.add_argument("--config", metavar="file",
|
parser.add_argument("--config", metavar="file",
|
||||||
help="specify DS config file", default=None)
|
help="specify DS config file", default=None)
|
||||||
parser.add_argument("--ckey", metavar="key",
|
parser.add_argument("--ckey", metavar="key",
|
||||||
@ -292,7 +292,7 @@ if __name__ == "__main__":
|
|||||||
with open(args.config) as fp:
|
with open(args.config) as fp:
|
||||||
cfg = yaml.load(fp)
|
cfg = yaml.load(fp)
|
||||||
if 'datasource' in cfg:
|
if 'datasource' in cfg:
|
||||||
cfg = cfg['datasource']['MaaS']
|
cfg = cfg['datasource']['MAAS']
|
||||||
for key in creds.keys():
|
for key in creds.keys():
|
||||||
if key in cfg and creds[key] == None:
|
if key in cfg and creds[key] == None:
|
||||||
creds[key] = cfg[key]
|
creds[key] = cfg[key]
|
@ -29,7 +29,7 @@ cfg_env_name = "CLOUD_CFG"
|
|||||||
|
|
||||||
cfg_builtin = """
|
cfg_builtin = """
|
||||||
log_cfgs: []
|
log_cfgs: []
|
||||||
datasource_list: ["NoCloud", "ConfigDrive", "OVF", "MaaS", "Ec2", "CloudStack"]
|
datasource_list: ["NoCloud", "ConfigDrive", "OVF", "MAAS", "Ec2", "CloudStack"]
|
||||||
def_log_file: /var/log/cloud-init.log
|
def_log_file: /var/log/cloud-init.log
|
||||||
syslog_fix_perms: syslog:adm
|
syslog_fix_perms: syslog:adm
|
||||||
"""
|
"""
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
user: ubuntu
|
user: ubuntu
|
||||||
disable_root: 1
|
disable_root: 1
|
||||||
preserve_hostname: False
|
preserve_hostname: False
|
||||||
# datasource_list: ["NoCloud", "ConfigDrive", "OVF", "MaaS", "Ec2", "CloudStack"]
|
# datasource_list: ["NoCloud", "ConfigDrive", "OVF", "MAAS", "Ec2", "CloudStack"]
|
||||||
|
|
||||||
cloud_init_modules:
|
cloud_init_modules:
|
||||||
- bootcmd
|
- bootcmd
|
||||||
|
@ -14,7 +14,7 @@ datasource:
|
|||||||
- http://169.254.169.254:80
|
- http://169.254.169.254:80
|
||||||
- http://instance-data:8773
|
- http://instance-data:8773
|
||||||
|
|
||||||
MaaS:
|
MAAS:
|
||||||
timeout : 50
|
timeout : 50
|
||||||
max_wait : 120
|
max_wait : 120
|
||||||
|
|
||||||
|
@ -3,24 +3,24 @@ from shutil import rmtree
|
|||||||
import os
|
import os
|
||||||
from StringIO import StringIO
|
from StringIO import StringIO
|
||||||
from copy import copy
|
from copy import copy
|
||||||
from cloudinit.DataSourceMaaS import (
|
from cloudinit.DataSourceMAAS import (
|
||||||
MaasSeedDirNone,
|
MAASSeedDirNone,
|
||||||
MaasSeedDirMalformed,
|
MAASSeedDirMalformed,
|
||||||
read_maas_seed_dir,
|
read_maas_seed_dir,
|
||||||
read_maas_seed_url,
|
read_maas_seed_url,
|
||||||
)
|
)
|
||||||
from mocker import MockerTestCase
|
from mocker import MockerTestCase
|
||||||
|
|
||||||
|
|
||||||
class TestMaasDataSource(MockerTestCase):
|
class TestMAASDataSource(MockerTestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestMaasDataSource, self).setUp()
|
super(TestMAASDataSource, self).setUp()
|
||||||
# Make a temp directoy for tests to use.
|
# Make a temp directoy for tests to use.
|
||||||
self.tmp = mkdtemp(prefix="unittest_")
|
self.tmp = mkdtemp(prefix="unittest_")
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
super(TestMaasDataSource, self).tearDown()
|
super(TestMAASDataSource, self).tearDown()
|
||||||
# Clean up temp directory
|
# Clean up temp directory
|
||||||
rmtree(self.tmp)
|
rmtree(self.tmp)
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ class TestMaasDataSource(MockerTestCase):
|
|||||||
self.assertFalse(('foo' in metadata))
|
self.assertFalse(('foo' in metadata))
|
||||||
|
|
||||||
def test_seed_dir_invalid(self):
|
def test_seed_dir_invalid(self):
|
||||||
"""Verify that invalid seed_dir raises MaasSeedDirMalformed"""
|
"""Verify that invalid seed_dir raises MAASSeedDirMalformed"""
|
||||||
|
|
||||||
valid = {'instance-id': 'i-instanceid',
|
valid = {'instance-id': 'i-instanceid',
|
||||||
'local-hostname': 'test-hostname', 'user-data': ''}
|
'local-hostname': 'test-hostname', 'user-data': ''}
|
||||||
@ -75,24 +75,24 @@ class TestMaasDataSource(MockerTestCase):
|
|||||||
invalid_data = copy(valid)
|
invalid_data = copy(valid)
|
||||||
del invalid_data['local-hostname']
|
del invalid_data['local-hostname']
|
||||||
populate_dir(my_d, invalid_data)
|
populate_dir(my_d, invalid_data)
|
||||||
self.assertRaises(MaasSeedDirMalformed, read_maas_seed_dir, my_d)
|
self.assertRaises(MAASSeedDirMalformed, read_maas_seed_dir, my_d)
|
||||||
|
|
||||||
# missing 'instance-id'
|
# missing 'instance-id'
|
||||||
my_d = "%s-02" % my_based
|
my_d = "%s-02" % my_based
|
||||||
invalid_data = copy(valid)
|
invalid_data = copy(valid)
|
||||||
del invalid_data['instance-id']
|
del invalid_data['instance-id']
|
||||||
populate_dir(my_d, invalid_data)
|
populate_dir(my_d, invalid_data)
|
||||||
self.assertRaises(MaasSeedDirMalformed, read_maas_seed_dir, my_d)
|
self.assertRaises(MAASSeedDirMalformed, read_maas_seed_dir, my_d)
|
||||||
|
|
||||||
def test_seed_dir_none(self):
|
def test_seed_dir_none(self):
|
||||||
"""Verify that empty seed_dir raises MaasSeedDirNone"""
|
"""Verify that empty seed_dir raises MAASSeedDirNone"""
|
||||||
|
|
||||||
my_d = os.path.join(self.tmp, "valid_empty")
|
my_d = os.path.join(self.tmp, "valid_empty")
|
||||||
self.assertRaises(MaasSeedDirNone, read_maas_seed_dir, my_d)
|
self.assertRaises(MAASSeedDirNone, read_maas_seed_dir, my_d)
|
||||||
|
|
||||||
def test_seed_dir_missing(self):
|
def test_seed_dir_missing(self):
|
||||||
"""Verify that missing seed_dir raises MaasSeedDirNone"""
|
"""Verify that missing seed_dir raises MAASSeedDirNone"""
|
||||||
self.assertRaises(MaasSeedDirNone, read_maas_seed_dir,
|
self.assertRaises(MAASSeedDirNone, read_maas_seed_dir,
|
||||||
os.path.join(self.tmp, "nonexistantdirectory"))
|
os.path.join(self.tmp, "nonexistantdirectory"))
|
||||||
|
|
||||||
def test_seed_url_valid(self):
|
def test_seed_url_valid(self):
|
||||||
@ -133,11 +133,11 @@ class TestMaasDataSource(MockerTestCase):
|
|||||||
valid['meta-data/local-hostname'])
|
valid['meta-data/local-hostname'])
|
||||||
|
|
||||||
def test_seed_url_invalid(self):
|
def test_seed_url_invalid(self):
|
||||||
"""Verify that invalid seed_url raises MaasSeedDirMalformed"""
|
"""Verify that invalid seed_url raises MAASSeedDirMalformed"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def test_seed_url_missing(self):
|
def test_seed_url_missing(self):
|
||||||
"""Verify seed_url with no found entries raises MaasSeedDirNone"""
|
"""Verify seed_url with no found entries raises MAASSeedDirNone"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user