Revert "changelog-webapp: Added sysctl value changes"
This reverts commit 4fd7d4c599cb60cd8739d521d77a7905f7025379.
Reason for revert: <INSERT REASONING HERE>
not ready for submit, don't know why it was triggered.
Change-Id: I2633bda7b28428d896c16055c657bdc52d6da702
Reviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/15974
Reviewed-by: Robert Kolchmeyer <rkolchmeyer@google.com>
Tested-by: Robert Kolchmeyer <rkolchmeyer@google.com>
Cloud-Build: Arnav Kansal <rnv@google.com>
diff --git a/src/cmd/changelog-webapp/app.yaml b/src/cmd/changelog-webapp/app.yaml
index 7c40e26..cb2fb49 100644
--- a/src/cmd/changelog-webapp/app.yaml
+++ b/src/cmd/changelog-webapp/app.yaml
@@ -8,13 +8,10 @@
COS_CHANGELOG_CLIENT_SECRET_NAME: "cos-changelog-client-secret"
COS_CHANGELOG_SESSION_SECRET_NAME: "cos-changelog-session-secret"
COS_CHANGELOG_OAUTH_CALLBACK_NAME: "cos-changelog-oauth-callback"
- COS_CHANGELOG_ARTIFACTS_BUCKET_NAME: "cos-changelog-artifacts-bucket"
- COS_CHANGELOG_ARTIFACTS_PATH_SUFFIX_NAME: "cos-changelog-artifacts-path-suffix"
# Webpage configuration
STATIC_BASE_PATH: "src/cmd/changelog-webapp/static/"
CHANGELOG_QUERY_SIZE: "50"
- BOARD_NAME: "lakitu"
# External sources
COS_EXTERNAL_GERRIT_INSTANCE: "https://cos-review.googlesource.com"
diff --git a/src/cmd/changelog-webapp/controllers/pageHandlers.go b/src/cmd/changelog-webapp/controllers/pageHandlers.go
index 90e1975..8f943c8 100644
--- a/src/cmd/changelog-webapp/controllers/pageHandlers.go
+++ b/src/cmd/changelog-webapp/controllers/pageHandlers.go
@@ -46,9 +46,6 @@
externalGoBInstance string
externalManifestRepo string
envQuerySize string
- envBoard string
- artifactsBucket string
- artifactsPathSuffix string
staticBasePath string
indexTemplate *template.Template
@@ -86,20 +83,10 @@
if err != nil {
log.Fatalf("Failed to retrieve secret for CROSLAND_NAME with key name %s\n%v", os.Getenv("CROSLAND_NAME"), err)
}
- artifactsBucket, err = getSecret(client, os.Getenv("COS_CHANGELOG_ARTIFACTS_BUCKET_NAME"))
- if err != nil {
- log.Fatalf("Failed to retrieve secret for COS_CHANGELOG_ARTIFACTS_BUCKET_NAME with key name %s\n%v", os.Getenv("COS_CHANGELOG_ARTIFACTS_BUCKET_NAME"), err)
- }
- artifactsPathSuffix, err = getSecret(client, os.Getenv("COS_CHANGELOG_ARTIFACTS_PATH_SUFFIX_NAME"))
- if err != nil {
- log.Fatalf("Failed to retrieve secret for COS_CHANGELOG_ARTIFACTS_PATH_SUFFIX_NAME with key name %s\n%v", os.Getenv("COS_CHANGELOG_ARTIFACTS_PATH_SUFFIX_NAME"), err)
- }
-
externalGerritInstance = os.Getenv("COS_EXTERNAL_GERRIT_INSTANCE")
externalFallbackGerritInstance = os.Getenv("COS_EXTERNAL_FALLBACK_GERRIT_INSTANCE")
externalGoBInstance = os.Getenv("COS_EXTERNAL_GOB_INSTANCE")
externalManifestRepo = os.Getenv("COS_EXTERNAL_MANIFEST_REPO")
- envBoard = os.Getenv("BOARD_NAME")
envQuerySize = getIntVerifiedEnv("CHANGELOG_QUERY_SIZE")
staticBasePath = os.Getenv("STATIC_BASE_PATH")
indexTemplate = template.Must(template.ParseFiles(staticBasePath + "templates/index.html"))
@@ -119,24 +106,11 @@
}
type changelogPage struct {
- Source string
- Target string
- SourceBoard string
- SourceMilestone string
- TargetBoard string
- TargetMilestone string
- QuerySize string
- RepoTables []*repoTable
- Internal bool
- Sysctl *sysctlChanges
-}
-
-type sysctlChanges struct {
- Added []string
- Changed []string
- Deleted []string
- NotFound string
- NotEmpty bool
+ Source string
+ Target string
+ QuerySize string
+ RepoTables []*repoTable
+ Internal bool
}
type findBuildPage struct {
@@ -336,7 +310,7 @@
}
var err error
if err := r.ParseForm(); err != nil {
- err = changelogTemplate.Execute(w, &changelogPage{QuerySize: envQuerySize, Sysctl: new(sysctlChanges)})
+ err = changelogTemplate.Execute(w, &changelogPage{QuerySize: envQuerySize})
if err != nil {
log.Errorf("error executing findbuild template: %v", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
@@ -345,19 +319,9 @@
}
source := r.FormValue("source")
target := r.FormValue("target")
- sourceMilestone := r.FormValue("source milestone")
- targetMilestone := r.FormValue("target milestone")
- sourceBoard := r.FormValue("source board")
- if sourceBoard == "" {
- sourceBoard = envBoard
- }
- targetBoard := r.FormValue("target board")
- if targetBoard == "" {
- targetBoard = envBoard
- }
// If no source/target values specified in request, display empty changelog page
if source == "" || target == "" {
- err = changelogTemplate.Execute(w, &changelogPage{QuerySize: envQuerySize, Internal: true, Sysctl: new(sysctlChanges)})
+ err = changelogTemplate.Execute(w, &changelogPage{QuerySize: envQuerySize, Internal: true})
if err != nil {
log.Errorf("error executing findbuild template: %v", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
@@ -392,28 +356,6 @@
Removals: removed,
Internal: internal,
})
- page.SourceMilestone = sourceMilestone
- page.SourceBoard = sourceBoard
- page.TargetMilestone = targetMilestone
- page.TargetBoard = targetBoard
-
- page.Sysctl = new(sysctlChanges)
- var foundSource, foundTarget bool
- page.Sysctl.Added, page.Sysctl.Changed, page.Sysctl.Deleted,
- foundSource, foundTarget = changelog.GetSysctlDiff(artifactsBucket, artifactsPathSuffix, sourceBoard,
- sourceMilestone, source, targetBoard, targetMilestone, target)
- page.Sysctl.NotEmpty = false
- if !foundSource {
- page.Sysctl.NotFound += fmt.Sprintf("sysctl file for %s-%s-%s not found.<br>", sourceBoard, sourceMilestone, source)
- page.Sysctl.NotEmpty = true
- }
- if !foundTarget {
- page.Sysctl.NotFound += fmt.Sprintf("sysctl file for %s-%s-%s not found.<br>", targetBoard, targetMilestone, target)
- page.Sysctl.NotEmpty = true
- }
- if len(page.Sysctl.Added) > 0 || len(page.Sysctl.Changed) > 0 || len(page.Sysctl.Deleted) > 0 {
- page.Sysctl.NotEmpty = true
- }
err = changelogTemplate.Execute(w, page)
if err != nil {
log.Errorf("error executing changelog template: %v", err)
diff --git a/src/cmd/changelog-webapp/static/templates/changelog.html b/src/cmd/changelog-webapp/static/templates/changelog.html
index 638184e..aeca7c9 100644
--- a/src/cmd/changelog-webapp/static/templates/changelog.html
+++ b/src/cmd/changelog-webapp/static/templates/changelog.html
@@ -18,7 +18,7 @@
</div>
<div class="main">
<h1>Changelog</h1>
- <p class="feature-info">Retrieve a list of commits and sysctl changes between two
+ <p class="feature-info">Retrieve a list of commits between two
Container-Optimized OS builds.<br>
Example Input: <b>cos-rc-85-13310-1034-0</b> or <b>13310.1034.0</b>
</p>
@@ -43,36 +43,8 @@
<input type="text" class="target" name="target" placeholder="Image Name or Build Number" required>
{{end}}
<input type="hidden" name="n" value={{.QuerySize}}>
- </div>
- <div class="text">
- <label>From </label>
- {{if (ne .SourceMilestone "")}}
- <input type="text" class="source" name="source milestone" placeholder="Milestone Number" value={{.SourceMilestone}} required>
- {{else}}
- <input type="text" class="source" name="source milestone" placeholder="Milestone Number" required>
- {{end}}
- <label> to </label>
- {{if (ne .TargetMilestone "")}}
- <input type="text" class="target" name="target milestone" placeholder="Milestone Number" value={{.TargetMilestone}} required>
- {{else}}
- <input type="text" class="target" name="target milestone" placeholder="Milestone Number" required>
- {{end}}
<input class="submit" type="submit" value="Submit"><br>
</div>
- <div class="text" style="display: none;">
- <label>From </label>
- {{if (ne .SourceBoard "")}}
- <input type="hidden" class="source" name="source board" placeholder="Board Name" value={{.SourceBoard}} required>
- {{else}}
- <input type="hidden" class="source" name="source board" placeholder="Board Name" required>
- {{end}}
- <label> to </label>
- {{if (ne .TargetBoard "")}}
- <input type="hidden" class="target" name="target board" placeholder="Board Name" value={{.TargetBoard}} required>
- {{else}}
- <input type="hidden" class="target" name="target board" placeholder="Board Name" required>
- {{end}}
- </div>
<div class="radio">
{{if .Internal}}
<label>
@@ -174,31 +146,6 @@
</a>
{{end}}
{{end}}
- {{if .Sysctl.NotEmpty}}
- <h2>Runtime Sysctl Changes:</h2>
- <div>{{.Sysctl.NotFound}}</div>
- <table class="repo-table">
- {{range $sysctl := .Sysctl.Added}}
- <tr>
- <td>Added:</td>
- <td>{{$sysctl}}</td>
- </tr>
- {{end}}
- {{range $sysctl := .Sysctl.Changed}}
- <tr>
- <td>Changed:</td>
- <td>{{$sysctl}}</td>
- </tr>
- {{end}}
- {{range $sysctl := .Sysctl.Deleted}}
- <tr>
- <td>Deleted:</td>
- <td>{{$sysctl}}</td>
- </tr>
- {{end}}
- </table>
- {{end}}
- </table>
</div>
</body>
</html>
\ No newline at end of file
diff --git a/src/cmd/changelog-webapp/static/templates/readme.html b/src/cmd/changelog-webapp/static/templates/readme.html
index aef6415..72a3c45 100644
--- a/src/cmd/changelog-webapp/static/templates/readme.html
+++ b/src/cmd/changelog-webapp/static/templates/readme.html
@@ -62,13 +62,6 @@
go/crosland
</a>.
</p>
- <p>
- It also shows the sysctl changes between two builds if milestone
- numbers are correctly provided and sysctl values have been dumped for these builds.
- </p>
- <p>
- Eaxmple: Milestone Number = 89, Build Number = 16108.403.22
- </p>
<h2>Find Build</h2>
<p>
This feature allows you to locate the first build containing a desired
diff --git a/src/pkg/changelog/changelog.go b/src/pkg/changelog/changelog.go
index 81713e4..3d6fea3 100644
--- a/src/pkg/changelog/changelog.go
+++ b/src/pkg/changelog/changelog.go
@@ -15,9 +15,8 @@
// This package generates a changelog based on the commit history between
// two build numbers. The changelog consists of two outputs - the commits
// added to the target build that aren't present in the source build, and the
-// commits in the source build that aren't present in the target build. It
-// also finds the sysctl value changes between two builds by fetch artifacts
-// from GCS. This package uses concurrency to improve performance.
+// commits in the source build that aren't present in the target build. This
+// package uses concurrency to improve performance.
//
// This package uses Gitiles to request information from a Git on Borg instance.
// To generate a changelog, the package first retrieves the the manifest files for
@@ -31,16 +30,11 @@
package changelog
import (
- "context"
"errors"
- "fmt"
- "io/ioutil"
"net/http"
"regexp"
- "sort"
"strings"
- "cloud.google.com/go/storage"
"cos.googlesource.com/cos/tools.git/src/pkg/utils"
"github.com/beevik/etree"
@@ -304,98 +298,7 @@
}
}
outputChan <- additionsResult{Additions: repoCommits}
-}
-
-// getSysctlDiff finds sysctl difference between the two builds.
-func GetSysctlDiff(bucket, pathSuffix, sourceBoard, sourceMilestone, source, targetBoard, targetMilestone, target string) (
- []string, []string, []string, bool, bool) {
- sourceBuildNum, targetBuildNum := resolveImageName(source), resolveImageName(target)
- sourceChan := make(chan map[string]string)
- targetChan := make(chan map[string]string)
- go fetchSysctlToMap(fmt.Sprintf("%s/%s%s/R%s-%s",
- bucket, sourceBoard, pathSuffix, sourceMilestone, sourceBuildNum), sourceChan)
- go fetchSysctlToMap(fmt.Sprintf("%s/%s%s/R%s-%s",
- bucket, targetBoard, pathSuffix, targetMilestone, targetBuildNum), targetChan)
- sourceSysctl := <-sourceChan
- targetSysctl := <-targetChan
- foundSource := false
- foundTarget := false
- // if either one of the sysctl file doesn't exsit,
- // return an empty list.
- if len(sourceSysctl) > 0 {
- foundSource = true
- }
- if len(targetSysctl) > 0 {
- foundTarget = true
- }
- if !foundSource || !foundTarget {
- return []string{}, []string{}, []string{}, foundSource, foundTarget
- }
-
- addList := []string{}
- changeList := []string{}
- deleteList := []string{}
- for newName, newValue := range targetSysctl {
- if oldValue, found := sourceSysctl[newName]; !found {
- addList = append(addList,
- fmt.Sprintf("%s: %s", newName, newValue))
- } else if oldValue != newValue {
- changeList = append(changeList,
- fmt.Sprintf("%s: %s -> %s", newName, oldValue, newValue))
- }
- }
- for oldName, oldValue := range sourceSysctl {
- if _, found := targetSysctl[oldName]; !found {
- deleteList = append(deleteList,
- fmt.Sprintf("%s: %s", oldName, oldValue))
- }
- }
-
- sort.Strings(addList)
- sort.Strings(changeList)
- sort.Strings(deleteList)
-
- return addList, changeList, deleteList, foundSource, foundTarget
-}
-
-// fetchSysctlToMap fetches sysctl file from artifacts in GCS created
-// by build-executor and map each line to a <parameter_name: value>
-// pair.
-func fetchSysctlToMap(path string, outputChan chan map[string]string) {
- outMap := make(map[string]string)
- ctx := context.Background()
- client, err := storage.NewClient(ctx)
- if err != nil {
- log.Errorf("failed to create storage client (error: %s)", err)
- outputChan <- outMap
- return
- }
-
- rc, err := client.Bucket(path).Object("sysctl_a.txt").NewReader(ctx)
- if err != nil {
- log.Errorf("failed to open %s at %s (error:%s)", "sysctl_a.txt", path, err)
- outputChan <- outMap
- return
- }
-
- byteBuf, err := ioutil.ReadAll(rc)
- if err != nil {
- log.Errorf("failed to read sysctl file (error:%s)", err)
- outputChan <- outMap
- return
- }
- separator := " = "
- for _, line := range strings.Split(string(byteBuf), "\n") {
- parts := strings.Split(line, separator)
- // no value for this parameter
- if len(parts) == 1 {
- outMap[parts[0]] = " "
- } else {
- // assume the parameter name is before the first separator.
- outMap[parts[0]] = strings.Join(parts[1:], separator)
- }
- }
- outputChan <- outMap
+ return
}
// Changelog generates a changelog between 2 build numbers
@@ -421,9 +324,6 @@
//
// The second changelog contains all commits that are present in the source build
// but not present in the target build
-//
-// It also finds the sysctl value difference between two builds by comparing
-// sysctl files in GCS.
func Changelog(httpClient *http.Client, source, target, host, repo, croslandURL string, querySize int) (map[string]*RepoLog, map[string]*RepoLog, utils.ChangelogError) {
if httpClient == nil {
log.Error("httpClient is nil")