
Change provisioning to pass all variables to both master and node. Run Salt in a masterless setup on all nodes ala http://docs.saltstack.com/en/latest/topics/tutorials/quickstart.html, which involves ensuring Salt daemon is NOT running after install. Kill Salt master install. And fix push to actually work in this new flow. As part of this, the GCE Salt config no longer has access to the Salt mine, which is primarily obnoxious for two reasons: - The minions can't use Salt to see the master: this is easily fixed by static config. - The master can't see the list of all the minions: this is fixed temporarily by static config in util.sh, but later, by other means (see https://github.com/GoogleCloudPlatform/kubernetes/issues/156, which should eventually remove this direction). As part of it, flatten all of cluster/gce/templates/* into configure-vm.sh, using a single, separate piece of YAML to drive the environment variables, rather than constantly rewriting the startup script.
32 lines
986 B
Python
Executable File
32 lines
986 B
Python
Executable File
#!/usr/bin/python
|
|
|
|
# Copyright 2015 Google Inc. All rights reserved.
|
|
#
|
|
# 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.
|
|
|
|
import os
|
|
import sys
|
|
import yaml
|
|
|
|
def mutate_env(path, var, value):
|
|
# Load the existing arguments
|
|
if os.path.exists(path):
|
|
args = yaml.load(open(path))
|
|
else:
|
|
args = {}
|
|
args[var] = value
|
|
yaml.dump(args, stream=open(path, 'w'), default_flow_style=False)
|
|
|
|
if __name__ == "__main__":
|
|
mutate_env(sys.argv[1], sys.argv[2], sys.argv[3])
|