[ARVADOS] updated: 1.3.0-1242-g9d4fdb054
Git user
git at public.curoverse.com
Mon Jul 1 18:13:00 UTC 2019
Summary of changes:
apps/workbench/config/arvados_config.rb | 46 +++++++++++++++------------------
build/run-tests.sh | 1 +
cmd/arvados-server/cmd.go | 11 ++++----
lib/config/cmd.go | 31 ++++++++++++++++++++++
lib/config/generated_config.go | 34 ++++++++++++++++++------
5 files changed, 85 insertions(+), 38 deletions(-)
via 9d4fdb054e623e9413775b2c4268d90ceda7d9f3 (commit)
from 34bb7db66cbbf50d7ec81d9ec568a86aaed521da (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 9d4fdb054e623e9413775b2c4268d90ceda7d9f3
Author: Peter Amstutz <pamstutz at veritasgenetics.com>
Date: Mon Jul 1 14:12:44 2019 -0400
14812: Get defaults and config from arvados-server
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz at veritasgenetics.com>
diff --git a/apps/workbench/config/arvados_config.rb b/apps/workbench/config/arvados_config.rb
index c942884c1..d6fdedc10 100644
--- a/apps/workbench/config/arvados_config.rb
+++ b/apps/workbench/config/arvados_config.rb
@@ -17,6 +17,7 @@
require 'config_loader'
require 'config_validators'
+require 'open3'
begin
# If secret_token.rb exists here, we need to load it first.
@@ -26,34 +27,29 @@ rescue LoadError
# configured by application.yml (i.e., here!) instead.
end
-# Load the defaults
-$arvados_config_defaults = ConfigLoader.load "#{::Rails.root.to_s}/config/config.default.yml"
-if $arvados_config_defaults.empty?
- raise "Missing #{::Rails.root.to_s}/config/config.default.yml"
-end
-
-def remove_sample_entries(h)
- return unless h.is_a? Hash
- h.delete("SAMPLE")
- h.each { |k, v| remove_sample_entries(v) }
+# Load the defaults, used by config:migrate and fallback loading
+# legacy application.yml
+Open3.popen2("arvados-server", "config-defaults") do |stdin, stdout, status_thread|
+ confs = YAML.load(stdout, deserialize_symbols: false)
+ clusterID, clusterConfig = confs["Clusters"].first
+ $arvados_config_defaults = clusterConfig
+ $arvados_config_defaults["ClusterID"] = clusterID
end
-remove_sample_entries($arvados_config_defaults)
-
-clusterID, clusterConfig = $arvados_config_defaults["Clusters"].first
-$arvados_config_defaults = clusterConfig
-$arvados_config_defaults["ClusterID"] = clusterID
-
-# Initialize the global config with the defaults
-$arvados_config_global = $arvados_config_defaults.deep_dup
# Load the global config file
-confs = ConfigLoader.load "/etc/arvados/config.yml"
-if !confs.empty?
- clusterID, clusterConfig = confs["Clusters"].first
- $arvados_config_global["ClusterID"] = clusterID
-
- # Copy the cluster config over the defaults
- $arvados_config_global.deep_merge!(clusterConfig)
+Open3.popen2("arvados-server", "config-dump") do |stdin, stdout, status_thread|
+ confs = YAML.load(stdout, deserialize_symbols: false)
+ if confs && !confs.empty?
+ # config-dump merges defaults with user configuration, so every
+ # key should be set.
+ clusterID, clusterConfig = confs["Clusters"].first
+ $arvados_config_global = clusterConfig
+ $arvados_config_global["ClusterID"] = clusterID
+ else
+ # config-dump failed, assume we will be loading from legacy
+ # application.yml, initialize with defaults.
+ $arvados_config_global = $arvados_config_defaults.deep_dup
+ end
end
# Now make a copy
diff --git a/build/run-tests.sh b/build/run-tests.sh
index b9dcd777f..1b9092d3b 100755
--- a/build/run-tests.sh
+++ b/build/run-tests.sh
@@ -616,6 +616,7 @@ initialize() {
export R_LIBS
export GOPATH
+ export PATH=$PATH:$GOPATH/bin
# Jenkins config requires that glob tmp/*.log match something. Ensure
# that happens even if we don't end up running services that set up
diff --git a/cmd/arvados-server/cmd.go b/cmd/arvados-server/cmd.go
index 2506bd2c9..dd34eff7d 100644
--- a/cmd/arvados-server/cmd.go
+++ b/cmd/arvados-server/cmd.go
@@ -21,11 +21,12 @@ var (
"-version": cmd.Version(version),
"--version": cmd.Version(version),
- "cloudtest": cloudtest.Command,
- "config-check": config.CheckCommand,
- "config-dump": config.DumpCommand,
- "controller": controller.Command,
- "dispatch-cloud": dispatchcloud.Command,
+ "cloudtest": cloudtest.Command,
+ "config-check": config.CheckCommand,
+ "config-dump": config.DumpCommand,
+ "config-defaults": config.DumpDefaultsCommand,
+ "controller": controller.Command,
+ "dispatch-cloud": dispatchcloud.Command,
})
)
diff --git a/lib/config/cmd.go b/lib/config/cmd.go
index a41e4b033..b08ca0dec 100644
--- a/lib/config/cmd.go
+++ b/lib/config/cmd.go
@@ -146,3 +146,34 @@ func (pl *plainLogger) Warnf(format string, args ...interface{}) {
pl.used = true
fmt.Fprintf(pl.w, format+"\n", args...)
}
+
+var DumpDefaultsCommand defaultsCommand
+
+type defaultsCommand struct{}
+
+func (defaultsCommand) RunCommand(prog string, args []string, stdin io.Reader, stdout, stderr io.Writer) int {
+ var err error
+ defer func() {
+ if err != nil {
+ fmt.Fprintf(stderr, "%s\n", err)
+ }
+ }()
+
+ var src map[string]interface{}
+ err = yaml.Unmarshal(DefaultYAML, &src)
+ if err != nil {
+ err = fmt.Errorf("loading default config data: %s", err)
+ return 1
+ }
+ removeSampleKeys(src)
+
+ out, err := yaml.Marshal(src)
+ if err != nil {
+ return 1
+ }
+ _, err = stdout.Write(out)
+ if err != nil {
+ return 1
+ }
+ return 0
+}
diff --git a/lib/config/generated_config.go b/lib/config/generated_config.go
index 5e5222d11..87bc64e58 100644
--- a/lib/config/generated_config.go
+++ b/lib/config/generated_config.go
@@ -66,6 +66,14 @@ Clusters:
ExternalURL: ""
WebShell:
InternalURLs: {}
+ # ShellInABox service endpoint URL for a given VM. If empty, do not
+ # offer web shell logins.
+ #
+ # E.g., using a path-based proxy server to forward connections to shell hosts:
+ # https://webshell.uuid_prefix.arvadosapi.com
+ #
+ # E.g., using a name-based proxy server to forward connections to shell hosts:
+ # https://*.webshell.uuid_prefix.arvadosapi.com
ExternalURL: ""
Workbench1:
InternalURLs: {}
@@ -176,6 +184,11 @@ Clusters:
NewUserNotificationRecipients: []
NewInactiveUserNotificationRecipients: []
+ # Set anonymous_user_token to enable anonymous user access. You can get
+ # the token by running "bundle exec ./script/get_anonymous_user_token.rb"
+ # in the directory where your API server is running.
+ AnonymousUserToken: ""
+
AuditLogs:
# Time to keep audit logs, in seconds. (An audit log is a row added
# to the "logs" table in the PostgreSQL database each time an
@@ -619,7 +632,7 @@ Clusters:
Mail:
MailchimpAPIKey: ""
MailchimpListID: ""
- SendUserSetupNotificationEmail: ""
+ SendUserSetupNotificationEmail: true
IssueReporterEmailFrom: ""
IssueReporterEmailTo: ""
SupportEmailAddress: ""
@@ -657,16 +670,20 @@ Clusters:
ArvadosDocsite: https://doc.arvados.org
ArvadosPublicDataDocURL: https://playground.arvados.org/projects/public
ShowUserAgreementInline: false
- SecretToken: ""
SecretKeyBase: ""
RepositoryCache: /var/www/arvados-workbench/current/tmp/git
UserProfileFormFields:
- SAMPLE:
- Type: text
- FormFieldTitle: ""
- FormFieldDescription: ""
- Required: true
+ - SAMPLE:
+ - Type: text
+ FormFieldTitle: ""
+ FormFieldDescription: ""
+ Required: true
UserProfileFormMessage: 'Welcome to Arvados. All <span style="color:red">required fields</span> must be completed before you can proceed.'
+
+ # Mimetypes of applications for which the view icon
+ # would be enabled in a collection's show page.
+ # It is sufficient to list only applications here.
+ # No need to list text and image types.
ApplicationMimetypesWithViewIcon:
cwl: {}
fasta: {}
@@ -692,9 +709,10 @@ Clusters:
RunningJobLogRecordsToFetch: 2000
ShowRecentCollectionsOnDashboard: true
ShowUserNotifications: true
- MultiSiteSearch: false
+ MultiSiteSearch: ""
Repositories: true
SiteName: Arvados Workbench
+ TrustAllContent: false
# Workbench2 configs
VocabularyURL: ""
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list