| ... | ... |
@@ -38,6 +38,49 @@ func ReadAndResolveMasterConfig(filename string) (*configapi.MasterConfig, error |
| 38 | 38 |
return masterConfig, nil |
| 39 | 39 |
} |
| 40 | 40 |
|
| 41 |
+func ReadNodeConfig(filename string) (*configapi.NodeConfig, error) {
|
|
| 42 |
+ data, err := ioutil.ReadFile(filename) |
|
| 43 |
+ if err != nil {
|
|
| 44 |
+ return nil, err |
|
| 45 |
+ } |
|
| 46 |
+ |
|
| 47 |
+ config := &configapi.NodeConfig{}
|
|
| 48 |
+ data, err = kyaml.ToJSON(data) |
|
| 49 |
+ if err != nil {
|
|
| 50 |
+ return nil, err |
|
| 51 |
+ } |
|
| 52 |
+ |
|
| 53 |
+ if err := Codec.DecodeInto(data, config); err != nil {
|
|
| 54 |
+ return nil, err |
|
| 55 |
+ } |
|
| 56 |
+ |
|
| 57 |
+ return config, nil |
|
| 58 |
+} |
|
| 59 |
+ |
|
| 60 |
+func ReadAndResolveNodeConfig(filename string) (*configapi.NodeConfig, error) {
|
|
| 61 |
+ nodeConfig, err := ReadNodeConfig(filename) |
|
| 62 |
+ if err != nil {
|
|
| 63 |
+ return nil, err |
|
| 64 |
+ } |
|
| 65 |
+ |
|
| 66 |
+ configapi.ResolveNodeConfigPaths(nodeConfig, path.Dir(filename)) |
|
| 67 |
+ return nodeConfig, nil |
|
| 68 |
+} |
|
| 69 |
+ |
|
| 70 |
+// WriteMaster serializes the config to yaml. |
|
| 71 |
+func WriteMaster(config *configapi.MasterConfig) ([]byte, error) {
|
|
| 72 |
+ json, err := Codec.Encode(config) |
|
| 73 |
+ if err != nil {
|
|
| 74 |
+ return nil, err |
|
| 75 |
+ } |
|
| 76 |
+ |
|
| 77 |
+ content, err := yaml.JSONToYAML(json) |
|
| 78 |
+ if err != nil {
|
|
| 79 |
+ return nil, err |
|
| 80 |
+ } |
|
| 81 |
+ return content, err |
|
| 82 |
+} |
|
| 83 |
+ |
|
| 41 | 84 |
// WriteNode serializes the config to yaml. |
| 42 | 85 |
func WriteNode(config *configapi.NodeConfig) ([]byte, error) {
|
| 43 | 86 |
json, err := Codec.Encode(config) |
| ... | ... |
@@ -13,6 +13,7 @@ import ( |
| 13 | 13 |
utilerrors "github.com/GoogleCloudPlatform/kubernetes/pkg/util/errors" |
| 14 | 14 |
|
| 15 | 15 |
configapi "github.com/openshift/origin/pkg/cmd/server/api" |
| 16 |
+ configapilatest "github.com/openshift/origin/pkg/cmd/server/api/latest" |
|
| 16 | 17 |
"github.com/openshift/origin/pkg/cmd/server/api/validation" |
| 17 | 18 |
) |
| 18 | 19 |
|
| ... | ... |
@@ -361,8 +362,8 @@ func executeAllInOneCommandWithConfigs(args []string) (*MasterArgs, *configapi.M |
| 361 | 361 |
root.SetArgs(argsToUse) |
| 362 | 362 |
root.Execute() |
| 363 | 363 |
|
| 364 |
- masterCfg, masterErr := ReadMasterConfig(fakeMasterConfigFile.Name()) |
|
| 365 |
- nodeCfg, nodeErr := ReadNodeConfig(fakeNodeConfigFile.Name()) |
|
| 364 |
+ masterCfg, masterErr := configapilatest.ReadAndResolveMasterConfig(fakeMasterConfigFile.Name()) |
|
| 365 |
+ nodeCfg, nodeErr := configapilatest.ReadAndResolveNodeConfig(fakeNodeConfigFile.Name()) |
|
| 366 | 366 |
|
| 367 | 367 |
return cfg.MasterArgs, masterCfg, masterErr, cfg.NodeArgs, nodeCfg, nodeErr |
| 368 | 368 |
} |
| ... | ... |
@@ -7,7 +7,6 @@ import ( |
| 7 | 7 |
"strconv" |
| 8 | 8 |
|
| 9 | 9 |
"code.google.com/p/go-uuid/uuid" |
| 10 |
- "github.com/ghodss/yaml" |
|
| 11 | 10 |
"github.com/golang/glog" |
| 12 | 11 |
"github.com/spf13/pflag" |
| 13 | 12 |
|
| ... | ... |
@@ -18,7 +17,6 @@ import ( |
| 18 | 18 |
"github.com/openshift/origin/pkg/cmd/flagtypes" |
| 19 | 19 |
"github.com/openshift/origin/pkg/cmd/server/admin" |
| 20 | 20 |
configapi "github.com/openshift/origin/pkg/cmd/server/api" |
| 21 |
- latestconfigapi "github.com/openshift/origin/pkg/cmd/server/api/latest" |
|
| 22 | 21 |
"github.com/openshift/origin/pkg/cmd/server/bootstrappolicy" |
| 23 | 22 |
cmdutil "github.com/openshift/origin/pkg/cmd/util" |
| 24 | 23 |
) |
| ... | ... |
@@ -566,17 +564,3 @@ func getPort(theURL url.URL) int {
|
| 566 | 566 |
intport, _ := strconv.Atoi(port) |
| 567 | 567 |
return intport |
| 568 | 568 |
} |
| 569 |
- |
|
| 570 |
-// WriteMaster serializes the config to yaml. |
|
| 571 |
-func WriteMaster(config *configapi.MasterConfig) ([]byte, error) {
|
|
| 572 |
- json, err := latestconfigapi.Codec.Encode(config) |
|
| 573 |
- if err != nil {
|
|
| 574 |
- return nil, err |
|
| 575 |
- } |
|
| 576 |
- |
|
| 577 |
- content, err := yaml.JSONToYAML(json) |
|
| 578 |
- if err != nil {
|
|
| 579 |
- return nil, err |
|
| 580 |
- } |
|
| 581 |
- return content, err |
|
| 582 |
-} |
| ... | ... |
@@ -14,7 +14,6 @@ import ( |
| 14 | 14 |
|
| 15 | 15 |
"github.com/openshift/origin/pkg/cmd/server/admin" |
| 16 | 16 |
configapi "github.com/openshift/origin/pkg/cmd/server/api" |
| 17 |
- latestconfigapi "github.com/openshift/origin/pkg/cmd/server/api/latest" |
|
| 18 | 17 |
cmdutil "github.com/openshift/origin/pkg/cmd/util" |
| 19 | 18 |
) |
| 20 | 19 |
|
| ... | ... |
@@ -104,15 +103,6 @@ func (args NodeArgs) BuildSerializeableNodeConfig() (*configapi.NodeConfig, erro |
| 104 | 104 |
return config, nil |
| 105 | 105 |
} |
| 106 | 106 |
|
| 107 |
-// WriteNode serializes the config to yaml. |
|
| 108 |
-func WriteNode(config *configapi.NodeConfig) ([]byte, error) {
|
|
| 109 |
- json, err := latestconfigapi.Codec.Encode(config) |
|
| 110 |
- if err != nil {
|
|
| 111 |
- return nil, err |
|
| 112 |
- } |
|
| 113 |
- return json, err |
|
| 114 |
-} |
|
| 115 |
- |
|
| 116 | 107 |
// defaultHostname returns the default hostname for this system. |
| 117 | 108 |
func defaultHostname() (string, error) {
|
| 118 | 109 |
|
| ... | ... |
@@ -16,7 +16,6 @@ import ( |
| 16 | 16 |
"github.com/GoogleCloudPlatform/kubernetes/pkg/capabilities" |
| 17 | 17 |
"github.com/GoogleCloudPlatform/kubernetes/pkg/client/record" |
| 18 | 18 |
"github.com/GoogleCloudPlatform/kubernetes/pkg/util" |
| 19 |
- kyaml "github.com/GoogleCloudPlatform/kubernetes/pkg/util/yaml" |
|
| 20 | 19 |
|
| 21 | 20 |
"github.com/openshift/origin/pkg/cmd/server/admin" |
| 22 | 21 |
configapi "github.com/openshift/origin/pkg/cmd/server/api" |
| ... | ... |
@@ -180,7 +179,7 @@ func (o MasterOptions) RunMaster() error {
|
| 180 | 180 |
var masterConfig *configapi.MasterConfig |
| 181 | 181 |
var err error |
| 182 | 182 |
if startUsingConfigFile {
|
| 183 |
- masterConfig, err = ReadMasterConfig(o.ConfigFile) |
|
| 183 |
+ masterConfig, err = configapilatest.ReadAndResolveMasterConfig(o.ConfigFile) |
|
| 184 | 184 |
} else {
|
| 185 | 185 |
masterConfig, err = o.MasterArgs.BuildSerializeableMasterConfig() |
| 186 | 186 |
} |
| ... | ... |
@@ -207,7 +206,7 @@ func (o MasterOptions) RunMaster() error {
|
| 207 | 207 |
return err |
| 208 | 208 |
} |
| 209 | 209 |
|
| 210 |
- content, err := WriteMaster(masterConfig) |
|
| 210 |
+ content, err := configapilatest.WriteMaster(masterConfig) |
|
| 211 | 211 |
if err != nil {
|
| 212 | 212 |
return err |
| 213 | 213 |
} |
| ... | ... |
@@ -271,29 +270,6 @@ func (o MasterOptions) CreateCerts() error {
|
| 271 | 271 |
return nil |
| 272 | 272 |
} |
| 273 | 273 |
|
| 274 |
-func ReadMasterConfig(filename string) (*configapi.MasterConfig, error) {
|
|
| 275 |
- data, err := ioutil.ReadFile(filename) |
|
| 276 |
- if err != nil {
|
|
| 277 |
- return nil, err |
|
| 278 |
- } |
|
| 279 |
- |
|
| 280 |
- config := &configapi.MasterConfig{}
|
|
| 281 |
- data, err = kyaml.ToJSON(data) |
|
| 282 |
- if err := configapilatest.Codec.DecodeInto(data, config); err != nil {
|
|
| 283 |
- return nil, err |
|
| 284 |
- } |
|
| 285 |
- |
|
| 286 |
- base, err := cmdutil.MakeAbs(filepath.Dir(filename), "") |
|
| 287 |
- if err != nil {
|
|
| 288 |
- return nil, err |
|
| 289 |
- } |
|
| 290 |
- if err := configapi.ResolveMasterConfigPaths(config, base); err != nil {
|
|
| 291 |
- return nil, err |
|
| 292 |
- } |
|
| 293 |
- |
|
| 294 |
- return config, nil |
|
| 295 |
-} |
|
| 296 |
- |
|
| 297 | 274 |
func StartMaster(openshiftMasterConfig *configapi.MasterConfig) error {
|
| 298 | 275 |
glog.Infof("Starting an OpenShift master, reachable at %s (etcd: %v)", openshiftMasterConfig.ServingInfo.BindAddress, openshiftMasterConfig.EtcdClientInfo.URLs)
|
| 299 | 276 |
glog.Infof("OpenShift master public address is %s", openshiftMasterConfig.AssetConfig.MasterPublicURL)
|
| ... | ... |
@@ -140,7 +140,7 @@ func (o NodeOptions) RunNode() error {
|
| 140 | 140 |
var nodeConfig *configapi.NodeConfig |
| 141 | 141 |
var err error |
| 142 | 142 |
if startUsingConfigFile {
|
| 143 |
- nodeConfig, err = ReadNodeConfig(o.ConfigFile) |
|
| 143 |
+ nodeConfig, err = configapilatest.ReadAndResolveNodeConfig(o.ConfigFile) |
|
| 144 | 144 |
} else {
|
| 145 | 145 |
nodeConfig, err = o.NodeArgs.BuildSerializeableNodeConfig() |
| 146 | 146 |
} |
| ... | ... |
@@ -167,7 +167,7 @@ func (o NodeOptions) RunNode() error {
|
| 167 | 167 |
return err |
| 168 | 168 |
} |
| 169 | 169 |
|
| 170 |
- content, err := WriteNode(nodeConfig) |
|
| 170 |
+ content, err := configapilatest.WriteNode(nodeConfig) |
|
| 171 | 171 |
if err != nil {
|
| 172 | 172 |
return err |
| 173 | 173 |
} |
| ... | ... |
@@ -255,29 +255,6 @@ func (o NodeOptions) CreateCerts() error {
|
| 255 | 255 |
return nil |
| 256 | 256 |
} |
| 257 | 257 |
|
| 258 |
-func ReadNodeConfig(filename string) (*configapi.NodeConfig, error) {
|
|
| 259 |
- data, err := ioutil.ReadFile(filename) |
|
| 260 |
- if err != nil {
|
|
| 261 |
- return nil, err |
|
| 262 |
- } |
|
| 263 |
- |
|
| 264 |
- config := &configapi.NodeConfig{}
|
|
| 265 |
- |
|
| 266 |
- if err := configapilatest.Codec.DecodeInto(data, config); err != nil {
|
|
| 267 |
- return nil, err |
|
| 268 |
- } |
|
| 269 |
- |
|
| 270 |
- base, err := cmdutil.MakeAbs(filepath.Dir(filename), "") |
|
| 271 |
- if err != nil {
|
|
| 272 |
- return nil, err |
|
| 273 |
- } |
|
| 274 |
- if err := configapi.ResolveNodeConfigPaths(config, base); err != nil {
|
|
| 275 |
- return nil, err |
|
| 276 |
- } |
|
| 277 |
- |
|
| 278 |
- return config, nil |
|
| 279 |
-} |
|
| 280 |
- |
|
| 281 | 258 |
func StartNode(config configapi.NodeConfig) error {
|
| 282 | 259 |
nodeConfig, err := kubernetes.BuildKubernetesNodeConfig(config) |
| 283 | 260 |
if err != nil {
|