Skip to content
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

Closed
wants to merge 2 commits into from

Conversation

sdodson
Copy link
Member

@sdodson sdodson commented Apr 6, 2015

All config values have been moved to configuration files so we're paring these files down considerably.

@sdodson
Copy link
Member Author

sdodson commented Apr 6, 2015

@liggitt pulled that one commit we'd discussed into PR and cleaned up other items.
@detiber PTAL

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

@sdodson sdodson changed the title Clean up sysconfig files and service units [WIP] Clean up sysconfig files and service units Apr 6, 2015
@sdodson
Copy link
Member Author

sdodson commented Apr 6, 2015

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.

@sdodson sdodson force-pushed the only-use-nodeconfig branch from 6da5a77 to 6f9e8b0 Compare April 7, 2015 02:06
@detiber
Copy link

detiber commented Apr 7, 2015

@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.

@sdodson
Copy link
Member Author

sdodson commented Apr 7, 2015

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.

@detiber
Copy link

detiber commented Apr 7, 2015

@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)

@sdodson
Copy link
Member Author

sdodson commented Apr 8, 2015

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.

Apr 08 10:25:02 ose3.os1.phx2.redhat.com openshift[17487]: F0408 10:25:02.734561   17487 start_node.go:77] open /var/lib/openshift/openshift.local.certificates/node-ose3.os1.phx2.redhat.com/node-config.yaml: no such file or directory

@sdodson sdodson changed the title [WIP] Clean up sysconfig files and service units Clean up sysconfig files and service units Apr 8, 2015
@sdodson sdodson force-pushed the only-use-nodeconfig branch from 6f9e8b0 to 48ffb8c Compare April 8, 2015 16:58
@sdodson
Copy link
Member Author

sdodson commented Apr 8, 2015

@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?

@sosiouxme
Copy link
Member

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.

@sdodson
Copy link
Member Author

sdodson commented Apr 8, 2015

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.

@liggitt
Copy link
Contributor

liggitt commented Apr 8, 2015

the path to the config file (--config=foo.yaml) can be relative or absolute (relative paths are resolved relative to the working directory)

file references inside the config file can be relative or absolute (relative paths are resolved relative to the location of the config file)

@liggitt
Copy link
Contributor

liggitt commented Apr 8, 2015

I think /etc/openshift/node-config.yaml is a reasonable default. If someone runs create-node-config and copies the resulting directory to /etc/openshift/ on the node, that should work fine

@liggitt
Copy link
Contributor

liggitt commented Apr 8, 2015

/cc @deads2k

@sdodson
Copy link
Member Author

sdodson commented Apr 8, 2015

@liggitt I think we found that not to be the case, but we'll check again and let you know.

@liggitt
Copy link
Contributor

liggitt commented Apr 8, 2015

@sdodson please do... the intent of create-node-config was to create a portable config folder

@sdodson sdodson force-pushed the only-use-nodeconfig branch from 48ffb8c to 40f1cee Compare April 8, 2015 19:18
@sdodson
Copy link
Member Author

sdodson commented Apr 8, 2015

@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.

@sosiouxme
Copy link
Member

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).

@openshift-bot
Copy link
Contributor

continuous-integration/openshift-jenkins/merge Evaluating for testing

@openshift-bot
Copy link
Contributor

Origin Action Required: Please contact #openshift-dev to have this pull request manually reviewed and tested

@smarterclayton
Copy link
Contributor

Reopen if you plan on fixing this still.

jboyd01 pushed a commit to jboyd01/origin that referenced this pull request Feb 6, 2018
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants