Skip to content

Implement a Template REST endpoint using the generic store #1040

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

Merged
merged 1 commit into from
Feb 18, 2015

Conversation

smarterclayton
Copy link
Contributor

  • Expose /templates
  • Add a simple describer and get printer for cli
  • Changes /templateConfigs to use a looser validation (only parameters are checked)
  • Makes template parameter "Value" override "Generate" (like Name and GenerateName, and so clients can preserve recorded values)
  • The internal item array on Templates is now called "Objects" to prevent templates from being treated like lists.
  • Switch end-to-end to fetch from the server
  • Tests in test-cmd.sh

@mfojtik / @bparees review the changes being made

@smarterclayton smarterclayton changed the title WIP - Implement a Template REST endpoint using the generic store Implement a Template REST endpoint using the generic store Feb 17, 2015
@smarterclayton
Copy link
Contributor Author

This is code complete, @jwforres as well

@@ -98,6 +98,17 @@ export OPENSHIFT_PROFILE="${CLI_PROFILE-}"
# Begin tests
#

osc get templates
osc create -f examples/sample-app/application-template-dockerbuild.json
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is going to be confusing behavior for users i think. (that you are creating a template object, not creating the things defined in the template). can't immediately think of a way to fix it that retains consistency with the create verb, but it bothers me so i figured i'd note it in case someone else has a thought.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Create shouldn't create the things in the template anyway (otherwise the template isn't providing value) but yes, I agree.

@jwforres
Copy link
Member

I created your examples/sample-app/application-template-dockerbuild.json as an example. The osc get templates output is only saying "3 generated" under parameters but the describe output shows 4 parameters (one of which is not generated).

@jwforres
Copy link
Member

In osc describe template foo the output labels Parameter 1|2|3|etc and Object 1|2|3|etc are really redundant. would be better if it was something like:

Parameters:
    Name:       ADMIN_USERNAME
    Description:    administrator username
    Generated:  expression
    From:       admin[A-Z0-9]{3}

    Name:       ADMIN_PASSWORD
    Description:    administrator password
    Generated:  expression
    From:       [a-zA-Z0-9]{8}

Objects:
    Service             frontend
    Route               route-edge
    ImageRepository     origin-ruby-sample
    ImageRepository     ruby-20-centos

@smarterclayton
Copy link
Contributor Author

@jwforres i agree that's better, we should enforce that across all commands that are doing nesting in a future sprint - @deads2k @ironcladlou @mfojtik

@smarterclayton
Copy link
Contributor Author

@jwforres on the numbers, bens comments are still relevant. How do we convey maximal info about params in minimal space?

Add client functionality and test-cmd.sh
@smarterclayton
Copy link
Contributor Author

Comments addressed

params = fmt.Sprintf("%d (%d generated)", total, generated)
default:
params = fmt.Sprintf("%d (all set)", total)
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still bothers me that you're printing either "blank" or "generated" here, rather than both if both apply.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generated really isn't that important in the grand scheme of things. We can always tweak it later.

----- Original Message -----

  •   }
    
  •   if len(p.Generate) > 0 {
    
  •       generated++
    
  •       continue
    
  •   }
    
  •   empty++
    
  • }
  • params := ""
  • switch {
  • case empty > 0:
  •   params = fmt.Sprintf("%d (%d blank)", total, empty)
    
  • case generated > 0:
  •   params = fmt.Sprintf("%d (%d generated)", total, generated)
    
  • default:
  •   params = fmt.Sprintf("%d (all set)", total)
    
  • }

Still bothers me that you're printing either "blank" or "generated" here,
rather than both if both apply.


Reply to this email directly or view it on GitHub:
https://github.com/openshift/origin/pull/1040/files#r24853632

@smarterclayton
Copy link
Contributor Author

I gets impatient - will take more comments as a follow on [merge]

@openshift-bot
Copy link
Contributor

continuous-integration/openshift-jenkins/merge SUCCESS (https://ci.openshift.redhat.com/jenkins/job/merge_pull_requests_openshift3/953/) (Image: devenv-fedora_824)

@smarterclayton
Copy link
Contributor Author

with feeling, [merge]

@openshift-bot
Copy link
Contributor

Evaluated for origin up to a4e6609

openshift-bot pushed a commit that referenced this pull request Feb 18, 2015
@openshift-bot openshift-bot merged commit 406cb85 into openshift:master Feb 18, 2015
@smarterclayton smarterclayton deleted the add_template_api branch May 18, 2015 02:16
jpeeler pushed a commit to jpeeler/origin that referenced this pull request Aug 17, 2017
…service-catalog/' changes from 8f07b7b..7e650e7

7e650e7 origin build: add origin tooling
f32eec2 unit test for ./pkg/rest/core/fake rest client, addresses openshift#860 Test ready to be reviewed (openshift#1113)
e388aee explicitly always prefer latest OSBAPI Version (openshift#1138)
962429e Merge branch 'pr/1135'
b6ee7ef fix rbac
cb1beb9 Merge branch 'pr/1131'
ecc5c01 Update Code of Conduct (openshift#1137)
e7c5ab3 address one more PR comment
ddcbbad address PR comments
652a83b fix test expectation to match the new error message for missing service class
33417cc address PR comments
565fccf Use the chart name instead of the namespace (openshift#1102)
bc61919 Add new terminal failure binding condition (openshift#1057)
4e642d5 Added more detailed instructions on how to setup the repo (openshift#1114)
bdaea23 update unit tests (openshift#1123)
88a9642 validate the apiserver options (openshift#1116)
b0af5fc fix whitespace in the copyright section
dee796a generated type changes
ef585c4 Rename the directory from default to defaultservicename to conform to go style guide. Wire admission controller into the apiserver
0b5d6c6 add firewall troubleshooting section (openshift#1040)
fd9e6bc Fix Typo in Events Code of Conduct (openshift#1126)
ebe6506 Fix Typo in Terminology (openshift#1128)
0038b1e Merge branch 'pr/1122'
8411f31 make deprovisioning an instance asynchronously not fall-through to synchronous deprovision (openshift#1067)
76c1d93 handle failures from list and test the not ready condition, cleanup
9241296 finish unit tests, passing
ed75774 Minor fixes based on go report card
9911e8d Add GoReport Widget (openshift#1121)
dd24e5c clean up old cruft
08276c6 generated file changes
6489d90 Implement the default plan in admission controller
a6bb576 Code: Instance/Binding parameters from secret (openshift#1079)
10bb148 Update generated files (openshift#1115)
5291e6f v0.0.15 (openshift#1118)
28a1ea6 Merge branch 'pr/1104'
bb4a2d2 Merge branch 'pr/1097'
1c14a90 push all arch images on release tags (openshift#1108)
b587b2c Improve log output for deprovision
8887561 Remove PodPreset embedding from Binding (openshift#1030)
1abdcc8 Adjust helm/tiller installation instructions (openshift#1091)
f636f99 only skip tls verify if not behind the aggregator (openshift#1101)
43b40ab controller_broker unit test bullet-proofing openshift#1077 (openshift#1099)
bb596b8 Use data store instead of database (openshift#1100)
04fa477 Implementation: Support for Bearer token auth between Service Catalog and brokers (openshift#1053)
9e46d3c refactor Jenkins e2e tests (openshift#1082)
1f0a41e remove old/misleading comments about only doing soft delete if it's "our turn--" i.e. only if the finalizer we care about is at the head of the finalizers list.
5c1d9b8 Update OSB client (openshift#1085)
a6e80ea Only do work for instances from a single queue (openshift#1074)
2bd85d6 Merge branch 'pr/1076'
e324287 Tweaks to the walkthrough for local-up-cluster
d8b7899 Add a note to the walkthrough about getting bindings when using the aggregator (openshift#1078)
ea44cf1 msg on Environment Variables to set for e2e (openshift#1070)
d15554a Merge branch 'pr/1017'
faf966e Add comment re: async race condition in integration tests
ed2e096 v0.0.14 (openshift#1071)
fc84ffd more PR feedback
283bed4 Add integration tests and some error checking; PR feedback
903a7a7 Add terminal condition for instance and do not retry failed provisions
REVERT: 8f07b7b origin: add required patches

git-subtree-dir: cmd/service-catalog/go/src/github.com/kubernetes-incubator/service-catalog
git-subtree-split: 7e650e7e39c3fc79a8ecc061cce2a70e899406ff
jpeeler pushed a commit to jpeeler/origin that referenced this pull request Feb 1, 2018
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.

4 participants