-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clean up sysconfig files and service units #1616
Conversation
@liggitt pulled that one commit we'd discussed into PR and cleaned up other items. Setting CONFIG_FILE in /etc/sysconfig/openshift-node will override the default that's set in the service. I think this mostly gets us to a place where an all in one install requires no modification but will allow us to place config files wherever we please. I'd like to test this after #1611 lands |
I'm also fine with getting rid of the /etc/sysconfig/* files and simply pointing the services at /etc/openshift/{master,node-config.yaml} respectively but I don't think the config files would support that in their current form. |
6da5a77
to
6f9e8b0
Compare
@sdodson lgtm I like the idea of keeping /etc/sysconfig/openshift-{node,master} around, it allows us to be more flexible in where the config files are located. |
Hmm, I just noticed that we're getting away from a situation where you can install the two rpms, start both services, and expect things to work. I think that, along with easily generating custom configuration files and substituting them, should be our primary goal for the RPM packaging. |
@sdodson, what if we generated a failure message if the config file is not present, giving the user some info on how to generate it (or where to look to find out how to generate it)? Better to not start and tell the user how to get going rather than them getting a config that appears to work, but will cause them issues when they try to reconfigure it (Thinking mostly along the lines of things that could be stored in etcd, especially node config info) |
The node will fail to start with this error message so it's clear what's happened, though it doesn't provide any remedy, I think this is probably good to go, we can improve the error messaging in the future.
|
6f9e8b0
to
48ffb8c
Compare
@sosiouxme This moves all configuration to node and master configuration files. Paths to those config files can be updated in /etc/sysconfig/openshift-{master,node} Mind sanity checking and merging? |
Looks fine to me, recommend for [merge]. I'm not super fond of having the location of the file depend on the host/node name (which as we've seen can be fickle). I would prefer at some point that the installer create a symlink e.g. /var/lib/openshift/openshift.local.certificates/node/ or /etc/openshift/node points to /var/lib/openshift/openshift.local.certificates/node-${node-fqdn} and just use a static default. |
I was going to make it point to /etc/openshift/node-config.yaml and leave creating that up to someone else, but I believe as of right now the config file uses relative paths. |
the path to the config file ( file references inside the config file can be relative or absolute (relative paths are resolved relative to the location of the config file) |
I think |
/cc @deads2k |
@liggitt I think we found that not to be the case, but we'll check again and let you know. |
@sdodson please do... the intent of create-node-config was to create a portable config folder |
48ffb8c
to
40f1cee
Compare
@liggitt looks like copying the node directory to /etc/openshift/node and pointing the node to /etc/openshift/node/node-config.yaml works just fine, thanks for clarifying. |
Yeah, you can't just copy the file as the relative refs won't work. copy/symlink the whole directory, or make the references absolute (but best not to tinker with the file so whole directory is best). |
continuous-integration/openshift-jenkins/merge Evaluating for testing |
Origin Action Required: Please contact #openshift-dev to have this pull request manually reviewed and tested |
Reopen if you plan on fixing this still. |
…service-catalog/' changes from d969acde90..b69b4a6c80 b69b4a6c80 origin build: modify hard coded path 527fac4d02 origin build: add origin tooling 545ffdb chart changes for v0.1.5 release (openshift#1709) 4d9be8f Use userInfo for Originating-Identity so extras is correct. (openshift#1702) f358b99 Call destroy function on each storage interface (openshift#1705) 36b5de9 refactor binding reconciliation functions (openshift#1687) 5699360 Change binding_retrievable to bindingRetrievable 0d8bcfe thread through stopCh to DestroyFunc (openshift#1671) 1c45aef Migrate from glide to dep for dependency management (openshift#1670) 1cf0dd9 Add svcat to Makefile (openshift#1683) 45b1013 make verify validates that versioned APIs contain json tags for fields, addresses openshift#1303 (openshift#1480) 0ee8398 Build the integration test binary before running any tests (openshift#1666) 0fe0aa7 Update design.md (openshift#1674) 1280d24 controller requires permission to update secrets (openshift#1663) 129d98e Contribute svcat (openshift#1664) ff9739b Update dependencies to kubernetes-1.9.1 (openshift#1633) 9c36019 chart changes for v0.1.4 release (openshift#1669) 93319f6 move apiserver generation to script and verify (openshift#1662) 385f0da refactor service instance provision/update/poll reconciliation (openshift#1648) e015212 run each integration test individually (openshift#1661) 412e242 Tell people whether we're checking external hrefs (openshift#1659) ae05361 retry failed unbind requests (openshift#1653) 7eae845 doc for setting up Service Catalog with Prometheus metrics (openshift#1654) 0720cf9 minor README copy edit (openshift#1656) 8bd347d run some integration subtests in parallel (openshift#1637) b83800c Use $ and console to indicate multi-command blocks 789c4b2 Use dynamic reaction to fix data race (openshift#1650) f1be763 only check external hrefs on master (openshift#1652) 65c6d20 Controller-manager crash loops if API server is not available on startup (openshift#1376) (openshift#1591) 9225c92 embedded etcd is the way of the future for our tests (openshift#1651) 605c952 Fix required fields in OpenAPI schema (openshift#1602) 899ca21 Revert "Switch to wget for integration apiserver checks (openshift#1384)" (openshift#1585) 2f496ee Update code-of-conduct.md (openshift#1635) c1c69cf Build the e2e binary in CI (openshift#1647) 4e2dcef Wait for successful API discovery (openshift#1646) 5ae6d99 Bump copyright date in generated code (openshift#1645) 8be5b05 Serve OpenAPI spec only when --serve-openapi-spec switch is enabled (openshift#1612) 19fb30e silence go-restful logging output (openshift#1622) fdbabf0 Add walkthrough link back (openshift#1620) 7c73e9a Add link to main k8s docs on service-catalog (openshift#1627) f59adc9 Overhauling the design document (openshift#1619) cd7b633 Updating the install documentation (openshift#1616) f6e5441 fix compilation error from updated util.WaitForBindingCondition() (openshift#1629) (openshift#1631) 54e57af Provide OSB Client proxy to instrument with metrics (openshift#1615) 026b86f Disable test added in 1611 that contains data race (openshift#1626) cb735a6 Add integration tests for ServiceInstances (openshift#1611) 67dbabb Cleaning up the docs README (openshift#1618) 6bddc07 remove email from docker login during Travis deploy (openshift#1614) a604bc3 Use ConfigMaps for leader election (openshift#1599) c6f193a Add controller integration tests for ServiceInstance create and update (openshift#1578) 26cf23b Rename OWNERS assignees: to approvers: (openshift#1508) 1163edc expose Prometheus metrics from Controller (openshift#677) (openshift#1608) 2cd6554 Clean up docs/ folder (openshift#1609) 1d7e96d Adding Service Binding Create Integration Tests (openshift#1580) 6a4c469 Make the maximum polling backoff configurable (openshift#1607) 31bbf55 Rename the imported package to avoid name conflict (openshift#1603) 3cdd556 Add validation for broker spec to SAR admission controller (openshift#1605) a3408ce fix docker volume mount when building with docker under SELinux (openshift#1500) (openshift#1534) 307e747 Remove unneeded vendors of vendors (openshift#1596) 770fc74 Make ups-instance.yaml in walkthrough to demonstrate good practices (openshift#1592) 9112ba1 Add links to docs/README (openshift#1589) 8902648 Add additional service to ups-broker to fix e2e (openshift#1583) 0bcbc7d move instance update logic out of reconcileServiceInstanceDelete (openshift#1584) 7ef5a3e Do not send Parameters field when there are no parameters from sourced secret (openshift#1559) 4c51b25 Remove unneeded code that sets reason for provision/update call failure (openshift#1561) b122cb9 fix bind injection failure not being persisted in API server (openshift#1546) 66421d5 Clear out current operation when starting reconciliation of a delete (openshift#1564) 8cca70a Send an empty object for Parameters when deleting all parameters of a ServiceInstance (openshift#1555) 270426c Add controllerTest type as a helper for running controller integration tests. (openshift#1577) e26c2d7 Ignore .vscode folder in project root (openshift#1579) REVERT: d969acde90 Add additional service to ups-broker to fix e2e (openshift#1583) REVERT: 1bcd53b684 origin build: add origin tooling git-subtree-dir: cmd/service-catalog/go/src/github.com/kubernetes-incubator/service-catalog git-subtree-split: b69b4a6c8003f25d040e3087c7b1b16d1854a9e9
All config values have been moved to configuration files so we're paring these files down considerably.