Add support for generating cloudbase-init configuration sample

This package adds a central place where all the config options
of cloudbase-init can be easily maintained.

Change-Id: Idfc1aea2d637a0124be17c90bcf98450769bc76f
This commit is contained in:
Alexandru Coman
2016-09-02 00:34:21 +03:00
parent b46605f71f
commit 6c6ef0e11a
62 changed files with 760 additions and 461 deletions

49
cloudbaseinit/conf/ec2.py Normal file
View File

@@ -0,0 +1,49 @@
# Copyright 2016 Cloudbase Solutions Srl
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
"""Config options available for the EC2 metadata service."""
from oslo_config import cfg
from cloudbaseinit.conf import base as conf_base
class EC2Options(conf_base.Options):
"""Config options available for the EC2 metadata service."""
def __init__(self, config):
super(EC2Options, self).__init__(config, group="ec2")
self._options = [
cfg.StrOpt(
"metadata_base_url", default="http://169.254.169.254/",
help="The base URL where the service looks for metadata",
deprecated_name="ec2_metadata_base_url",
deprecated_group="DEFAULT"),
cfg.BoolOpt(
"add_metadata_private_ip_route", default=True,
help="Add a route for the metadata ip address to the gateway",
deprecated_name="ec2_add_metadata_private_ip_route",
deprecated_group="DEFAULT"),
]
def register(self):
"""Register the current options to the global ConfigOpts object."""
group = cfg.OptGroup(self.group_name, title='EC2 Options')
self._config.register_group(group)
self._config.register_opts(self._options, group=group)
def list(self):
"""Return a list which contains all the available options."""
return self._options