forked from uncloud/uncloud
prefix is renamed to base_prefix, uncloud now respects base_prefix and put things under it
This commit is contained in:
parent
6046015c3d
commit
5a646aeac9
5 changed files with 21 additions and 48 deletions
|
@ -1,7 +1,7 @@
|
||||||
[etcd]
|
[etcd]
|
||||||
url = localhost
|
url = localhost
|
||||||
port = 2379
|
port = 2379
|
||||||
prefix = /
|
base_prefix = /
|
||||||
ca_cert
|
ca_cert
|
||||||
cert_cert
|
cert_cert
|
||||||
cert_key
|
cert_key
|
||||||
|
|
|
@ -59,7 +59,7 @@ class CreateVM(Resource):
|
||||||
macs = [generate_mac() for _ in range(len(data['network']))]
|
macs = [generate_mac() for _ in range(len(data['network']))]
|
||||||
tap_ids = [
|
tap_ids = [
|
||||||
counters.increment_etcd_counter(
|
counters.increment_etcd_counter(
|
||||||
shared.etcd_client, '/v1/counter/tap'
|
shared.etcd_client, settings['etcd']['counter']['tap']
|
||||||
)
|
)
|
||||||
for _ in range(len(data['network']))
|
for _ in range(len(data['network']))
|
||||||
]
|
]
|
||||||
|
@ -470,7 +470,7 @@ class CreateNetwork(Resource):
|
||||||
|
|
||||||
network_entry = {
|
network_entry = {
|
||||||
'id': counters.increment_etcd_counter(
|
'id': counters.increment_etcd_counter(
|
||||||
shared.etcd_client, '/v1/counter/vxlan'
|
shared.etcd_client, settings['etcd']['counter']['vxlan']
|
||||||
),
|
),
|
||||||
'type': data['type'],
|
'type': data['type'],
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,15 +36,15 @@ class Settings(object):
|
||||||
|
|
||||||
self.config_parser = CustomConfigParser(allow_no_value=True)
|
self.config_parser = CustomConfigParser(allow_no_value=True)
|
||||||
self.config_parser.add_section('etcd')
|
self.config_parser.add_section('etcd')
|
||||||
self.config_parser.set('etcd', 'prefix', '/')
|
self.config_parser.set('etcd', 'base_prefix', '/')
|
||||||
|
|
||||||
self.config_key = join_path(self['etcd']['prefix'], '/uncloud/config/')
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.config_parser.read(self.config_file)
|
self.config_parser.read(self.config_file)
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
logger.error('%s', err)
|
logger.error('%s', err)
|
||||||
|
|
||||||
|
self.config_key = join_path(self['etcd']['base_prefix'] + 'uncloud/config/')
|
||||||
|
|
||||||
self.read_internal_values()
|
self.read_internal_values()
|
||||||
|
|
||||||
def get_etcd_client(self):
|
def get_etcd_client(self):
|
||||||
|
@ -78,18 +78,22 @@ class Settings(object):
|
||||||
return wrapper
|
return wrapper
|
||||||
|
|
||||||
def read_internal_values(self):
|
def read_internal_values(self):
|
||||||
prefix = self['etcd']['prefix']
|
base_prefix = self['etcd']['base_prefix']
|
||||||
self.config_parser.read_dict(
|
self.config_parser.read_dict(
|
||||||
{
|
{
|
||||||
'etcd': {
|
'etcd': {
|
||||||
'file_prefix': join_path(prefix, '/files/'),
|
'file_prefix': join_path(base_prefix, 'files/'),
|
||||||
'host_prefix': join_path(prefix, '/hosts/'),
|
'host_prefix': join_path(base_prefix, 'hosts/'),
|
||||||
'image_prefix': join_path(prefix, '/images/'),
|
'image_prefix': join_path(base_prefix, 'images/'),
|
||||||
'image_store_prefix': join_path(prefix, '/imagestore/'),
|
'image_store_prefix': join_path(base_prefix, 'imagestore/'),
|
||||||
'network_prefix': join_path(prefix, '/networks/'),
|
'network_prefix': join_path(base_prefix, 'networks/'),
|
||||||
'request_prefix': join_path(prefix, '/requests/'),
|
'request_prefix': join_path(base_prefix, 'requests/'),
|
||||||
'user_prefix': join_path(prefix, '/users/'),
|
'user_prefix': join_path(base_prefix, 'users/'),
|
||||||
'vm_prefix': join_path(prefix, '/vms/'),
|
'vm_prefix': join_path(base_prefix, 'vms/'),
|
||||||
|
'counter': {
|
||||||
|
'vxlan': join_path(base_prefix, 'counters/vxlan'),
|
||||||
|
'tap': join_path(base_prefix, 'counters/tap')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -40,18 +40,14 @@ ceph_storage_parser.add_argument('--ceph-image-pool', required=True)
|
||||||
|
|
||||||
|
|
||||||
def update_config(section, kwargs):
|
def update_config(section, kwargs):
|
||||||
uncloud_config = shared.etcd_client.get(
|
uncloud_config = shared.etcd_client.get(settings.config_key, value_in_json=True)
|
||||||
settings.config_key, value_in_json=True
|
|
||||||
)
|
|
||||||
if not uncloud_config:
|
if not uncloud_config:
|
||||||
uncloud_config = {}
|
uncloud_config = {}
|
||||||
else:
|
else:
|
||||||
uncloud_config = uncloud_config.value
|
uncloud_config = uncloud_config.value
|
||||||
|
|
||||||
uncloud_config[section] = kwargs
|
uncloud_config[section] = kwargs
|
||||||
shared.etcd_client.put(
|
shared.etcd_client.put(settings.config_key, uncloud_config, value_in_json=True)
|
||||||
settings.config_key, uncloud_config, value_in_json=True
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def main(**kwargs):
|
def main(**kwargs):
|
||||||
|
|
|
@ -84,33 +84,6 @@ class Root(Resource):
|
||||||
data.value["metadata"]["ssh-keys"] += user_personal_ssh_keys
|
data.value["metadata"]["ssh-keys"] += user_personal_ssh_keys
|
||||||
return data.value["metadata"], 200
|
return data.value["metadata"], 200
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def post():
|
|
||||||
return {"message": "Previous Implementation is deprecated."}
|
|
||||||
# data = etcd_client.get("/v1/metadata/{}".format(request.remote_addr), value_in_json=True)
|
|
||||||
# print(data)
|
|
||||||
# if data:
|
|
||||||
# for k in request.json:
|
|
||||||
# if k not in data.value:
|
|
||||||
# data.value[k] = request.json[k]
|
|
||||||
# if k.endswith("-list"):
|
|
||||||
# data.value[k] = [request.json[k]]
|
|
||||||
# else:
|
|
||||||
# if k.endswith("-list"):
|
|
||||||
# data.value[k].append(request.json[k])
|
|
||||||
# else:
|
|
||||||
# data.value[k] = request.json[k]
|
|
||||||
# etcd_client.put("/v1/metadata/{}".format(request.remote_addr),
|
|
||||||
# data.value, value_in_json=True)
|
|
||||||
# else:
|
|
||||||
# data = {}
|
|
||||||
# for k in request.json:
|
|
||||||
# data[k] = request.json[k]
|
|
||||||
# if k.endswith("-list"):
|
|
||||||
# data[k] = [request.json[k]]
|
|
||||||
# etcd_client.put("/v1/metadata/{}".format(request.remote_addr),
|
|
||||||
# data, value_in_json=True)
|
|
||||||
|
|
||||||
|
|
||||||
api.add_resource(Root, "/")
|
api.add_resource(Root, "/")
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue