This project is mirrored from https://gitee.com/cowcomic/pixie.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
  1. 05 Oct, 2021 1 commit
    • Vihang Mehta's avatar
      Use k8s informers to watch resources instead of ListWatchers · f84c3d38
      Vihang Mehta authored
      
      Summary:
      We have seen multiple reports of our operator monitoring failing on
      the k8s watcher and restarting the watcher also fails since the RV is too old.
      
      On further investigation, it seems like we should be using informers to handle
      resource watching, so switch to informers
      
      Test Plan: skaffold deploy the operator with some additional logging
      
      Reviewers: michelle, philkuz
      
      Reviewed By: philkuz
      
      JIRA Issues: PP-3066
      Signed-off-by: default avatarVihang Mehta <vihang@pixielabs.ai>
      
      Differential Revision: https://phab.corp.pixielabs.ai/D9899
      
      GitOrigin-RevId: 1f776f63db89e527d45d688d2d7d9be2b9a0eae0
      f84c3d38
  2. 19 Sep, 2021 1 commit
    • Vihang Mehta's avatar
      Remove extraneous blank imports · 3b72179b
      Vihang Mehta authored
      Summary:
      A lot of these blank imports were seemingly copy-pastaed.
      vizier + operator work on many different kubernetes engines  and likely don't
      need to rely on GCP auth.
      We are also trying to ensure that pixie cloud works on a variety of environments
      and should probably just import the entire auth package where needed.
      
      Test Plan:
      Ran a dev cloud + dev vizier + dev operator on my cluster.
      Also tested a bazel built `px` cli
      
      Reviewers: michelle, philkuz, zasgar
      
      Reviewed By: zasgar
      
      Differential Revision: https://phab.corp.pixielabs.ai/D9798
      
      GitOrigin-RevId: fa747111015fb4c15e94fb7c3aa2e1e1e9d7fd84
      3b72179b
  3. 15 Sep, 2021 1 commit
  4. 07 Sep, 2021 2 commits
    • Vihang Mehta's avatar
      Move operator apis to location expected by most tooling · 780b74a3
      Vihang Mehta authored
      Summary:
      Using `client-gen` requires apis to be in `<groupname>/<versionname>`
      This is the folder structure used by most CRDs (I looked at etcd, jaeger, nats)
      and so let's follow the same.
      
      Test Plan: N/A. Moving files around.
      
      Reviewers: michelle, philkuz
      
      Reviewed By: michelle
      
      Differential Revision: https://phab.corp.pixielabs.ai/D9693
      
      GitOrigin-RevId: b693de36f511936ca6569509cb770da675470d76
      780b74a3
    • Vihang Mehta's avatar
      Move PVC watcher to a push model · 1f676209
      Vihang Mehta authored
      Summary:
      Switches over from poll to push just like the node watcher.
      Note that status aggregation currently causes a fetch on the vizier CRD. There's
      room for improvment in the design there.
      
      Test Plan: Existing tests + skaffold vizier
      
      Reviewers: michelle, philkuz
      
      Reviewed By: philkuz
      
      Differential Revision: https://phab.corp.pixielabs.ai/D9695
      
      GitOrigin-RevId: 046018a63a5a2011c2d9459667e138a94a56fc72
      1f676209
  5. 03 Sep, 2021 1 commit
  6. 02 Sep, 2021 1 commit
    • Michelle Nguyen's avatar
      PP-2963 Vizier is in degraded state if majority of nodes have incompatible kernel version · 636df90c
      Michelle Nguyen authored
      Summary:
      this diff adds the nodeWatcher, which follows the potential new channel/status aggregation scheme discussed.
      the nodeWatcher runs in a separate goroutine and separately tracks its status from the monitor itself. the status only updates when there is a node update, and the update is published to the monitor through a channel.
      currently the monitor has a separate goroutine which loops through the updateChannels and tracks the last status for each.
      
      Test Plan: deployed on skaffold, ran unit test
      
      Reviewers: vihang, philkuz
      
      Reviewed By: vihang
      
      JIRA Issues: PP-2963
      
      Differential Revision: https://phab.corp.pixielabs.ai/D9648
      
      GitOrigin-RevId: 116652a3c20bd6faf85d83352d11e9e7587374ee
      636df90c
  7. 01 Sep, 2021 1 commit
    • Michelle Nguyen's avatar
      PP-2961 Report vizier state when version is too old · 44b639c8
      Michelle Nguyen authored
      Summary: we do not plan to support viziers that are 1+ minor versions too old. when the user's vizier is too old, we should let them know they are in a degraded state and that they should not expect all functionality to work.
      
      Test Plan: unit test
      
      Reviewers: philkuz, vihang
      
      Reviewed By: philkuz
      
      JIRA Issues: PP-2961
      
      Differential Revision: https://phab.corp.pixielabs.ai/D9636
      
      GitOrigin-RevId: c936fa211c30bf494103f2d3a6be4907b1b89045
      44b639c8
  8. 31 Aug, 2021 1 commit
  9. 28 Aug, 2021 1 commit
    • Phillip Kuznetsov's avatar
      PP-2957: Add Metadata PVC detector in operator state · 88d63842
      Phillip Kuznetsov authored
      Summary:
      Add data pipeline, detector, and tests for metadata PVC. Currently checks to see if the PVC is stucking Pending mode because StorageClass doesn't exist.
      Another option we had for this particular check was to look at events and regex match the occurring event, or check the reason. I found my chosen option easier to evaluate and more stable, but open to suggestions.
      
      Only checks metadata pvc if etcd is not used.
      
      Test Plan: Added tests for logic, test on skaffold by forcing a broken pvc
      
      Reviewers: michelle, vihang, zasgar
      
      Reviewed By: michelle
      
      JIRA Issues: PP-2957
      
      Differential Revision: https://phab.corp.pixielabs.ai/D9606
      
      GitOrigin-RevId: 6399f3c02d8dea2c04087907e6d7a29d9133b7e4
      88d63842
  10. 26 Aug, 2021 1 commit
    • Phillip Kuznetsov's avatar
      Clean up operator monitoring code · 2e782772
      Phillip Kuznetsov authored
      Summary:
      Cleaning up the operator monitoring code in preparation for knocking out PP-2874.
      A summary of changes ->
      1. Added some types that were previously missing (VizierPhase on api defs, new VizierReason type in vzstatus.go)
      2. Separate out ReconcileStatus into two functions (1 - gets a reason from a specific subcomponent, 2 -converts the more specific reason to a Phase)
          * the Reason will be used for a healer
          * Showed proof of concept of different components providing data (GetCloudConnState).
      
      Test Plan: Ran tests and they work, will try to deploy operator. Most worried about the VizierPhase type addition in the api defs.
      
      Reviewers: michelle, vihang, zasgar
      
      Reviewed By: michelle
      
      JIRA Issues: PP-2874
      
      Differential Revision: https://phab.corp.pixielabs.ai/D9589
      
      GitOrigin-RevId: d3bac97662c050b583f6e71959663800f5e940dc
      2e782772
  11. 18 Aug, 2021 1 commit
    • Michelle Nguyen's avatar
      PP-2875 Add monitor in operator for tracking k8s API and pinging statusz · 5ac3e55f
      Michelle Nguyen authored
      Summary:
      the operator's monitor is responsible for:
      1. watching the K8s API for tracking the latest pod statuses. we keep a version of this in memory since the # of vizier pods is small. the retry watcher code is mostly borrowed from the vizier metadata's retry watcher code.
      2. periodically pinging the statusz endpoints of the vizier pods to determine the latest state. for now, this logic is very simple and we only look at whether the cloudConnector can run basic queries (this is the status quo). once the entire pipeline is more built out, we can make this even smarter.
      
      Test Plan: skaffold deployed vizier and operator. played around with cloudconn status to make sure the CRD status gets updated to reflect its new state.
      
      Reviewers: vihang, nserrino, zasgar
      
      Reviewed By: vihang
      
      JIRA Issues: PP-2875
      
      Differential Revision: https://phab.corp.pixielabs.ai/D9466
      
      GitOrigin-RevId: 8482820e17982959bb47615068bfdd98a6ddbb0b
      5ac3e55f
  12. 21 Jul, 2021 1 commit
  13. 05 Jun, 2021 1 commit
    • Michelle Nguyen's avatar
      PP-2793 Move cert-provisioner to operator · ed1d519f
      Michelle Nguyen authored
      Summary:
      we used to rely on the cert-provisioner job to generate certs for a vizier when it starts up for the first time.
      we can now do this in the operator. this code is mostly a copy from the current cert-provisioner job. once the operator migration is done, we can finally remove the cert provisioner job. for now, it will still start up, but be a no-op.
      
      Test Plan: run operator, deploy new vizier CRD. confirm that vizier starts up properly
      
      Reviewers: vihang, vjain, zasgar, nserrino
      
      Reviewed By: vihang
      
      JIRA Issues: PP-2793
      
      Differential Revision: https://phab.corp.pixielabs.ai/D8870
      
      GitOrigin-RevId: 0201df55b6db1f0bafac9d872a838dd66f25d91a
      ed1d519f
  14. 04 Jun, 2021 1 commit
    • Michelle Nguyen's avatar
      PP-2653 Operator: implement updateResourceConfiguration · c5283da5
      Michelle Nguyen authored
      Summary:
      before deploying vizier to a user's cluster, we need to update the configuration to add the user's custom labels, annotations, and resource requirements.
      this diff adds the implementation for the functions which add the configurations to the k8s resources.
      unfortunately, its not the prettiest since everything is an unstructured object consisting of maps of interfaces. most of the code is checking the map and casting. any suggestions for making this look nicer are appreciated...
      
      `addKeyValueMapToResource` is an exact copy of code that we had before we had templates.
      
      Test Plan: deployed CRD with operator running. confirm that the deployed vizier pods had the annotations and resource requirements
      
      Reviewers: vihang, zasgar, nserrino
      
      Reviewed By: vihang
      
      JIRA Issues: PP-2653
      
      Differential Revision: https://phab.corp.pixielabs.ai/D8823
      
      GitOrigin-RevId: eca0c501ace2e2b3c6d8225d148247668947a579
      c5283da5
  15. 03 Jun, 2021 1 commit
    • Michelle Nguyen's avatar
      PP-2653 Operator: implement vizier deployment · 3e6fb12c
      Michelle Nguyen authored
      Summary:
      This diff implements the Vizier deployment flow in the operator.
      there are two main components still missing from this flow:
      1. Marking the vizier status as "running" once everything has started up and is healthy. we can borrow from the CLI deploy logic for this.
      2. Populating the vizier YAMLs with custom annotations/labels and resource requirements.
      these changes will come in a follow up diff.
      
      with the changes in this diff, the operator properly deploys a running version of Vizier when the CRD applied
      
      Test Plan: ran skaffold, deployed CRD, watch namespace to ensure vizier starts up properly
      
      Reviewers: zasgar, vihang, nserrino
      
      Reviewed By: vihang
      
      JIRA Issues: PP-2653
      
      Differential Revision: https://phab.corp.pixielabs.ai/D8820
      
      GitOrigin-RevId: 2c47d701fdbb03b35d29b0a92f7f65a627b37b3d
      3e6fb12c
  16. 02 Jun, 2021 1 commit
    • Michelle Nguyen's avatar
      PP-2653 Operator: set up reconcilation flow · 4e190361
      Michelle Nguyen authored
      Summary:
      this sets up the basic flow in the operator's reconcile phase. following diffs will actually implement each of these functions. the implementation of these functions will be heavily borrowed from our current deploy/update/delete in the CLI/updater job.
      1. deletion: if the reconciler was triggered with a CRD that no longer exists
      2. creation: if the reconciler was triggered with a CRD that has no known status.
      3. update: if the reconciler is triggered with a CRD that does have a known status/deployed vizier.
      
      Test Plan: ran skaffold, created a CRD with no version
      
      Reviewers: vihang, zasgar, nserrino
      
      Reviewed By: vihang
      
      JIRA Issues: PP-2653
      
      Differential Revision: https://phab.corp.pixielabs.ai/D8809
      
      GitOrigin-RevId: d35e5286c599b5fe5d7907f70517dc9544b65f2f
      4e190361
  17. 23 Apr, 2021 1 commit
    • Michelle Nguyen's avatar
      PP-2650 Add initial boilerplate for operator · dc17199f
      Michelle Nguyen authored
      Summary:
      Adding initial boilerplate for our Vizier operator, based off of the generated kubebuilder project.
      kubebuilder generated:
      - contents of operator directory
      - k8s/operator/crd
      I heavily modified the contents of the operator directory to remove the additional items we didnt need and made it work with our build system. removed most of the items in the Makefile except for the commands that help generate the k8s crd yaml and generated go files.
      
      Test Plan: deployed the crd, deployed the operator, and deployed an instance of the Vizier custom resource. verified that the operator detected the change and triggered the "Reconcile" function.
      
      Reviewers: zasgar, vihang, #third_party_approvers
      
      Reviewed By: vihang, #third_party_approvers
      
      JIRA Issues: PP-2650
      
      Differential Revision: https://phab.corp.pixielabs.ai/D8367
      
      GitOrigin-RevId: 2c0ae0e45c97309258f083eea5d33acb2fc15578
      dc17199f
  18. 18 Apr, 2021 1 commit
  19. 16 Apr, 2021 1 commit
  20. 07 Apr, 2021 2 commits
  21. 29 Dec, 2020 1 commit
  22. 09 Mar, 2020 1 commit
  23. 05 Mar, 2020 1 commit
    • Zain Asgar's avatar
      Add analytics to the CLI · d6c513ea
      Zain Asgar authored
      Summary: Adds segment analytics to the CLI. Also introduces config to the CLI that we can use to track other things like cloud_addr, etc.
      
      Test Plan: Tested manually.
      
      Reviewers: michelle, #engineering
      
      Reviewed By: michelle, #engineering
      
      JIRA Issues: PL-1549
      
      Differential Revision: https://phab.corp.pixielabs.ai/D3758
      
      GitOrigin-RevId: 82de5c34348c320ff4101f9785e3ea098b977e45
      d6c513ea
  24. 02 Oct, 2019 1 commit
  25. 01 Oct, 2019 1 commit
  26. 26 Sep, 2019 1 commit
  27. 23 Sep, 2019 1 commit
  28. 12 Aug, 2019 1 commit
    • Michelle Nguyen's avatar
      Script to generate certs · 5c3992e6
      Michelle Nguyen authored
      Summary:
      We need a way to generate certs on all of our customer's clusters.
      This script creates a CA (or loads a CA from a given path), and generates the server and client crts/keys.
      
      Test Plan: generated certs using the script, loaded them as secrets into minikube, ran skaffold to make sure all of our services could talk to each other.
      
      Reviewers: zasgar, #engineering
      
      Reviewed By: zasgar, #engineering
      
      Differential Revision: https://phab.corp.pixielabs.ai/D1493
      
      GitOrigin-RevId: 1ee51bb4c95dc32ce67da5e21385f6636b3ce2f4
      5c3992e6