- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1.6k
 
Automate microservices tutorial #8932
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
base: master
Are you sure you want to change the base?
Conversation
| 
           🤔 🐛 You appear to be fixing a bug in Go code, yet your PR doesn't include updates to any test files. Did you forget to add a test? Courtesy of your friendly test nag.  | 
    
| 
           😊 Welcome! This is either your first contribution to the Istio documentation repo, or 
 Thanks for contributing! Courtesy of your friendly welcome wagon.  | 
    
| 
           Mariam, please have a look at the test/lint output so we can move this forward. Thank you!  | 
    
6289619    to
    c68121d      
    Compare
  
    8b91c41    to
    a9a2974      
    Compare
  
    8b4ab12    to
    1bb66f1      
    Compare
  
    This PR tries to automate the microservices tutorial in the example section of the Istio docs.
It consists of 2 parts:
- update to the istio.io test framework to use the same test framework across multiple tests (parent-child relationship)
- added automated tests for the microservices tutorial which has the parent-child relationship
  - Throughout all the tutorials, updated the commands to create resources in the `tutorial` namespace
  - In `setup-kubernetes-cluster`, updated the roles and rolebindings for `istio-system` and `tutorial` namespaces.
    The original RBAC permissions are very broad and allow all verbs on all resources for several Kubernetes API Groups.
    In this PR, we have added a finer grained Kubernetes RBAC Role for read-write access to a participant's namespace.
    Also added a `ClusterRole and `ClusterRoleBinding` to enable manual sidecar injection for pods in the `tutorial`
    namespace [add-istio - `Enable Istio on productpage`].
Updates to the test framework to support this scenario includes added 3 new optional tags to the TestCase object -
- @parent: this is the parent id that will be used to identify the parent test case
- @child: this indicates that the test case if the child of a parent id. The parent id set using the @parent tag will
          be used here.
- @order: this tag will be used to specify the order in which the child tests need to be run
The child tests will be run as a subtest of the parent test.
Fixes istio#8429, istio#7989
    | 
           @craigbox whenever you have some time to take a look at this one. Appreciate it.  | 
    
| 
           @johnma14: PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.  | 
    
| 
           @johnma14: The following tests failed, say  
 Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is still relevant I'd love to get it merged. @johnma14 ?
This PR tries to automate the microservices tutorial in the example section of the Istio docs.
It consists of 2 parts:
tutorialnamespacesetup-kubernetes-cluster, updated the roles and rolebindings foristio-systemandtutorialnamespaces.The original RBAC permissions are very broad and allow all verbs on all resources for several Kubernetes API Groups.
In this PR, we have added a finer grained Kubernetes RBAC Role for read-write access to a participant's namespace.
Also added a
ClusterRole andClusterRoleBindingto enable manual sidecar injection for pods in thetutorialnamespace [add-istio-Enable Istio on productpage`].Updates to the test framework to support this scenario includes added 3 new optional tags to the TestCase object -
be used here.
The child tests will be run as a subtest of the parent test.
Fixes #8429, #7989
[ ] Configuration Infrastructure
[X ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure