Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-57990

Avoid filtering contents without sensible data and do per-content anonymization

    XMLWordPrintable

Details

    • 2.57

    Description

      Change the behavior of the Contents to avoid filtering when it's not needed. And change the way it's anonymized by delegating it to the component to avoid losing the structure of the information.

      Should be filtered

      • NodesContent: include labels and filesystem path
      • AboutUser
      • AgentsConfigFile (secrets encrypted but maybe other sensitive info)
      • BuildQueue: name of the job
      • ConfigFileComponent (secrets encrypted but maybe other sensitive info)
      • EnvironmentVariables
      • JenkinsLogs
      • JVMProcessSystemMetricsContent (environment variables)
      • LoggerManager
      • NetworInterfaces (ips)
      • NodeMonitors (computer name)
      • OtherConfigFilesComponent
      • RoocCAs
      • SlaveLaunchLogs
      • SlaveLogs
      • SystemConfiguration Agents and Master (user running)
      • UpdateCenter (proxy information: urls)
      • SystemProperties

      Shouldn’t be filtered

      • AboutContent
      • AboutBrowser
      • ActivePlugins
      • DisabledPlugins
      • FailedPlugins
      • Dockerfile
      • MasterChecksumsContent
      • NodeChecksumsContent
      • AdministrativeMonitors
      • DeadlockRequestComponent
      • DumpExportTable
      • FileDescriptorLimit
      • GCLogs Out of scope, it needs some refactor of classes. To tackle on another ticket Done because i needed the infra for other components.
      • HeapUsageHistogram
      • ItemsContent
      • LoadStats
      • Metrics
      • RemotingDiagnostics
      • ReverseProxy
      • SlaveCommandStatistics
      • SlowRequestComponent
      • ThreadDumps

      Avoid anonymizing the labels, the structure of the files under the control of the plugin (.md files, and information files). Analyze what values should be anonymized.
      The contents generated on the fly are going to extend the PrefilteredContent by creating a new PrefilteredPrintedContent and they are going to filter the information by themselves.

      The ones that are being filtered and shouldn't to will override the shouldBeFiltered method to avoid that.

      Acceptance criteria

      • The support-core plugin is changed by creating a new PrefilteredPrintedContent that extends PrefilteredContent
      • The contents that don't need to be filtered don't do that by overriding shouldBeFiltered (false)
      • Some tests are implemented for:
        • A content that was filtered and now it's not
        • A content that was filtered affecting the structure (markdown) and now it's not affected
      • The PR in support-core is merged

      Attachments

        Issue Links

          Activity

            mramonleon Ramon Leon added a comment - PR:  https://github.com/jenkinsci/support-core-plugin/pull/174/files
            hchen Henry Chen added a comment - - edited

            I've recently (last week) been seeing my console data being masked as "FILTERED". Is this related to the bug/issue?

             

            Jenkins console displays:

            {:timestamp=>15616234449694, :message=>"[FILTERED]", :ingestion_time=>15616234449694}

            Local displays (should see):
            {:timestamp=>15616234449694, :message=>"[ACTUAL DATA]", :ingestion_time=>15616234449694}

            hchen Henry Chen added a comment - - edited I've recently (last week) been seeing my console data being masked as "FILTERED". Is this related to the bug/issue?   Jenkins console displays: {:timestamp=>15616234449694, :message=>" [FILTERED] ", :ingestion_time=>15616234449694} Local displays (should see): {:timestamp=>15616234449694, :message=>" [ACTUAL DATA] ", :ingestion_time=>15616234449694}
            mramonleon Ramon Leon added a comment -

            I don't think so hchen, it's only related to the logs included in a zip generated by the support-core-plugin. A plugin to create zips with information about the instance to help to diagnose problems on it.

            mramonleon Ramon Leon added a comment - I don't think so hchen , it's only related to the logs included in a zip generated by the support-core-plugin. A plugin to create zips with information about the instance to help to diagnose problems on it.
            hchen Henry Chen added a comment -

            Thank you mramonleon, turns out to be an ruby version issue on my end.

            hchen Henry Chen added a comment - Thank you mramonleon , turns out to be an ruby version issue on my end.
            mramonleon Ramon Leon added a comment -

            mramonleon Ramon Leon added a comment -

            People

              mramonleon Ramon Leon
              mramonleon Ramon Leon
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: