diff --git a/deploy/docker-compose/template/client.template.yaml b/deploy/docker-compose/template/client.template.yaml index 9a4908fb59b..ae5f96d47d3 100644 --- a/deploy/docker-compose/template/client.template.yaml +++ b/deploy/docker-compose/template/client.template.yaml @@ -7,13 +7,14 @@ log: # host is the host configuration for dfdaemon. host: - ## idc is the idc of the host. + # idc is the idc of the host. idc: '' - ## location is the location of the host. + # location is the location of the host. location: '' - ## hostname is the hostname of the host. - # hostname: "" - ## ip is the advertise ip of the host. +# # hostname is the hostname of the host. +# hostname: "" +# + # ip is the advertise ip of the host. ip: __IP__ server: @@ -37,17 +38,38 @@ upload: server: # port is the port to the grpc server. port: 4000 - ## ip is the listen ip of the grpc server. - # ip: "" + # # ip is the listen ip of the grpc server. + # ip: "" + # # CA certificate file path for mTLS. + # caCert: /etc/ssl/certs/ca.crt + # # GRPC server certificate file path for mTLS. + # cert: /etc/ssl/certs/server.crt + # # GRPC server key file path for mTLS. + # key: /etc/ssl/private/server.pem + # +# # Client configuration for remote peer's upload server. +# client: +# # CA certificate file path for mTLS. +# caCert: /etc/ssl/certs/ca.crt +# # GRPC client certificate file path for mTLS. +# cert: /etc/ssl/certs/client.crt +# # GRPC client key file path for mTLS. +# key: /etc/ssl/private/client.pem +# # disableShared indicates whether disable to share data for other peers. disableShared: false # rateLimit is the default rate limit of the upload speed in KiB/MiB/GiB per second, default is 10GiB/s. rateLimit: 10GiB manager: - # addrs is manager addresses. - addrs: - - http://__IP__:65003 + # addr is manager addresses. + addr: http://__IP__:65003 +# # CA certificate file path for mTLS. +# caCert: /etc/ssl/certs/ca.crt +# # GRPC client certificate file path for mTLS. +# cert: /etc/ssl/certs/client.crt +# # GRPC client key file path for mTLS. +# key: /etc/ssl/private/client.pem scheduler: # announceInterval is the interval to announce peer to the scheduler. @@ -61,6 +83,12 @@ scheduler: maxScheduleCount: 5 # enableBackToSource indicates whether enable back-to-source download, when the scheduling failed. enableBackToSource: true +# # CA certificate file path for mTLS. +# caCert: /etc/ssl/certs/ca.crt +# # GRPC client certificate file path for mTLS. +# cert: /etc/ssl/certs/client.crt +# # GRPC client key file path for mTLS. +# key: /etc/ssl/private/client.pem dynconfig: # refreshInterval is the interval to refresh dynamic configuration from manager. @@ -93,26 +121,29 @@ proxy: server: # port is the port to the proxy server. port: 4001 - ## ip is the listen ip of the proxy server. - # ip: "" - ## caCert is the root CA cert path with PEM format for the proxy server to generate the server cert. - ## If ca_cert is empty, proxy will generate a smaple CA cert by rcgen::generate_simple_self_signed. - ## When client requests via the proxy, the client should not verify the server cert and set - ## insecure to true. If ca_cert is not empty, proxy will sign the server cert with the CA cert. If openssl is installed, - ## you can use openssl to generate the root CA cert and make the system trust the root CA cert. - ## Then set the ca_cert and ca_key to the root CA cert and key path. Dfdaemon generates the server cert - ## and key, and signs the server cert with the root CA cert. When client requests via the proxy, - ## the proxy can intercept the request by the server cert. - # caCert: "" - ## caKey is the root CA key path with PEM format for the proxy server to generate the server cert. - ## If ca_key is empty, proxy will generate a smaple CA key by rcgen::generate_simple_self_signed. - ## When client requests via the proxy, the client should not verify the server cert and set - ## insecure to true. If ca_key is not empty, proxy will sign the server cert with the CA cert. If openssl is installed, - ## you can use openssl to generate the root CA cert and make the system trust the root CA cert. - ## Then set the ca_cert and ca_key to the root CA cert and key path. Dfdaemon generates the server cert - ## and key, and signs the server cert with the root CA cert. When client requests via the proxy, - ## the proxy can intercept the request by the server cert. - # caKey: "" + # # ip is the listen ip of the proxy server. + # ip: "" + # + # # caCert is the root CA cert path with PEM format for the proxy server to generate the server cert. + # # If ca_cert is empty, proxy will generate a smaple CA cert by rcgen::generate_simple_self_signed. + # # When client requests via the proxy, the client should not verify the server cert and set + # # insecure to true. If ca_cert is not empty, proxy will sign the server cert with the CA cert. If openssl is installed, + # # you can use openssl to generate the root CA cert and make the system trust the root CA cert. + # # Then set the ca_cert and ca_key to the root CA cert and key path. Dfdaemon generates the server cert + # # and key, and signs the server cert with the root CA cert. When client requests via the proxy, + # # the proxy can intercept the request by the server cert. + # caCert: "" + # + # # caKey is the root CA key path with PEM format for the proxy server to generate the server cert. + # # If ca_key is empty, proxy will generate a smaple CA key by rcgen::generate_simple_self_signed. + # # When client requests via the proxy, the client should not verify the server cert and set + # # insecure to true. If ca_key is not empty, proxy will sign the server cert with the CA cert. If openssl is installed, + # # you can use openssl to generate the root CA cert and make the system trust the root CA cert. + # # Then set the ca_cert and ca_key to the root CA cert and key path. Dfdaemon generates the server cert + # # and key, and signs the server cert with the root CA cert. When client requests via the proxy, + # # the proxy can intercept the request by the server cert. + # caKey: "" + # # rules is the list of rules for the proxy server. # regex is the regex of the request url. # useTLS indicates whether use tls for the proxy backend. @@ -136,10 +167,11 @@ proxy: # configuration to pull the image. The `X-Dragonfly-Registry` header can instead of the default address # of registry mirror. addr: https://index.docker.io - ## certs is the client certs path with PEM format for the registry. - ## If registry use self-signed cert, the client should set the - ## cert for the registry mirror. - # certs: "" + # # cert is the client cert path with PEM format for the registry. + # # If registry use self-signed cert, the client should set the + # # cert for the registry mirror. + # cert: "" + # # disableBackToSource indicates whether disable to download back-to-source when download failed. disableBackToSource: false # prefetch pre-downloads full of the task when download with range request. @@ -147,18 +179,14 @@ proxy: # readBufferSize is the buffer size for reading piece from disk, default is 32KB. readBufferSize: 32768 -security: - # enable indicates whether enable security. - enable: false - metrics: server: # port is the port to the metrics server. port: 4002 - ## ip is the listen ip of the metrics server. - # ip: "" + # # ip is the listen ip of the metrics server. + # ip: "" -## tracing is the tracing configuration for dfdaemon. +# # tracing is the tracing configuration for dfdaemon. # tracing: -## addr is the address to report tracing log. -# addr: "" +# # addr is the address to report tracing log. +# addr: "" diff --git a/deploy/docker-compose/template/manager.template.yaml b/deploy/docker-compose/template/manager.template.yaml index 407c6a35a72..a0a58610538 100644 --- a/deploy/docker-compose/template/manager.template.yaml +++ b/deploy/docker-compose/template/manager.template.yaml @@ -7,10 +7,20 @@ server: advertiseIP: __IP__ # # Listen ip. # listenIP: 0.0.0.0 + # # Listen port. port: start: 65003 end: 65003 + # # GRPC server tls configuration. + # tls: + # # CA certificate file path for mTLS. + # caCert: /etc/ssl/certs/ca.crt + # # Certificate file path for mTLS. + # cert: /etc/ssl/certs/server.crt + # # Key file path for mTLS. + # key: /etc/ssl/private/server.pem + # # REST server configure rest: # REST server address @@ -20,6 +30,7 @@ server: # cert: /etc/ssl/certs/server.crt # # Key file path. # key: /etc/ssl/private/server.pem + # # logDir is the log directory. # In linux, default value is /var/log/dragonfly. # In macos(just for testing), default value is /Users/$USER/.dragonfly/logs. @@ -70,6 +81,7 @@ database: # ca: /etc/ssl/certs/ca.pem # # Whether a client verifies the server's certificate chain and hostname. # insecureSkipVerify: true + # # Redis configure. redis: # Redis addresses. @@ -142,34 +154,6 @@ metrics: # Enable peer gauge metrics. enablePeerGauge: true -# Security configuration. -security: - # autoIssueCert indicates to issue client certificates for all grpc call. - # If AutoIssueCert is false, any other option in Security will be ignored. - autoIssueCert: false - # caCert is the CA certificate for all grpc tls handshake, it can be path or PEM format string. - caCert: '' - # caKey is the CA private key, it can be path or PEM format string. - caKey: '' - # tlsPolicy controls the grpc shandshake behaviors: - # force: both ClientHandshake and ServerHandshake are only support tls - # prefer: ServerHandshake supports tls and insecure (non-tls), ClientHandshake will only support tls - # default: ServerHandshake supports tls and insecure (non-tls), ClientHandshake will only support insecure (non-tls) - # Notice: If the drgaonfly service has been deployed, a two-step upgrade is required. - # The first step is to set tlsPolicy to default, and then upgrade the dragonfly services. - # The second step is to set tlsPolicy to prefer, and then completely upgrade the dragonfly services. - tlsPolicy: 'prefer' - certSpec: - # dnsNames is a list of dns names be set on the certificate. - dnsNames: - - 'dragonfly-manager' - - 'dragonfly-manager.dragonfly-system.svc' - - 'dragonfly-manager.dragonfly-system.svc.cluster.local' - # ipAddresses is a list of ip addresses be set on the certificate. - ipAddresses: - # validityPeriod is the validity period of certificate. - validityPeriod: 87600h - # Network configuration. network: # Enable ipv6. diff --git a/deploy/docker-compose/template/scheduler.template.yaml b/deploy/docker-compose/template/scheduler.template.yaml index 9dbdad5565b..178dd1ff71f 100644 --- a/deploy/docker-compose/template/scheduler.template.yaml +++ b/deploy/docker-compose/template/scheduler.template.yaml @@ -3,15 +3,26 @@ server: # # Access ip for other services, # # when local ip is different with access ip, advertiseIP should be set. advertiseIP: __IP__ - # # Access port for other services, - # # when local ip is different with access port, advertisePort should be set. - # advertisePort: 8002 - # # Listen ip. - # listenIP: 0.0.0.0 +# # Access port for other services, +# # when local ip is different with access port, advertisePort should be set. +# advertisePort: 8002 +# # Listen ip. +# listenIP: 0.0.0.0 +# # Port is the ip and port scheduler server listens on. port: 8002 +# # GRPC server tls configuration. +# tls: +# # CA certificate file path for mTLS. +# caCert: /etc/ssl/certs/ca.crt +# # Certificate file path for mTLS. +# cert: /etc/ssl/certs/server.crt +# # Key file path for mTLS. +# key: /etc/ssl/private/server.pem +# # # Server host. # host: localhost + # # logDir is the log directory. # In linux, default value is /var/log/dragonfly. # In macos(just for testing), default value is /Users/$USER/.dragonfly/logs. @@ -83,22 +94,6 @@ database: # Redis backend DB. backendDB: 2 -# Resource configuration. -resource: - # Task configuration. - task: - # downloadTiny is the configuration of downloading tiny task by scheduler. - downloadTiny: - # scheme is download tiny task scheme. - scheme: http - # Timeout is http request timeout. - timeout: 1m - # tls is download tiny task TLS configuration. - tls: - # insecureSkipVerify controls whether a client verifies the - # server's certificate chain and hostname. - insecureSkipVerify: true - # Dynamic data configuration. dynConfig: # Dynamic config refresh interval. @@ -121,6 +116,14 @@ manager: keepAlive: # KeepAlive interval. interval: 5s +# # GRPC client tls configuration. +# tls: +# # CA certificate file path for mTLS. +# caCert: /etc/ssl/certs/ca.crt +# # Certificate file path for mTLS. +# cert: /etc/ssl/certs/client.crt +# # Key file path for mTLS. +# key: /etc/ssl/private/client.pem # Seed peer configuration. seedPeer: @@ -128,6 +131,14 @@ seedPeer: # if the value is false, P2P network will not be back-to-source through # seed peer but by peer and preheat feature does not work. enable: true +# # GRPC client tls configuration. +# tls: +# # CA certificate file path for mTLS. +# caCert: /etc/ssl/certs/ca.crt +# # Certificate file path for mTLS. +# cert: /etc/ssl/certs/client.crt +# # Key file path for mTLS. +# key: /etc/ssl/private/client.pem # Machinery async job configuration, # see https://github.com/RichardKnop/machinery. @@ -160,33 +171,6 @@ metrics: # Enable host metrics. enableHost: false -security: - # autoIssueCert indicates to issue client certificates for all grpc call. - # If AutoIssueCert is false, any other option in Security will be ignored. - autoIssueCert: false - # caCert is the root CA certificate for all grpc tls handshake, it can be path or PEM format string. - caCert: '' - # tlsVerify indicates to verify certificates. - tlsVerify: false - # tlsPolicy controls the grpc shandshake behaviors: - # force: both ClientHandshake and ServerHandshake are only support tls - # prefer: ServerHandshake supports tls and insecure (non-tls), ClientHandshake will only support tls - # default: ServerHandshake supports tls and insecure (non-tls), ClientHandshake will only support insecure (non-tls) - # Notice: If the drgaonfly service has been deployed, a two-step upgrade is required. - # The first step is to set tlsPolicy to default, and then upgrade the dragonfly services. - # The second step is to set tlsPolicy to prefer, and then completely upgrade the dragonfly services. - tlsPolicy: 'prefer' - certSpec: - # dnsNames is a list of dns names be set on the certificate. - dnsNames: - - 'dragonfly-scheduler' - - 'dragonfly-scheduler.dragonfly-system.svc' - - 'dragonfly-scheduler.dragonfly-system.svc.cluster.local' - # ipAddresses is a list of ip addresses be set on the certificate. - ipAddresses: - # validityPeriod is the validity period of certificate. - validityPeriod: 4320h - network: # Enable ipv6. enableIPv6: false diff --git a/deploy/docker-compose/template/seed-client.template.yaml b/deploy/docker-compose/template/seed-client.template.yaml index 46d30165dda..e0f2e58a5ff 100644 --- a/deploy/docker-compose/template/seed-client.template.yaml +++ b/deploy/docker-compose/template/seed-client.template.yaml @@ -7,13 +7,14 @@ log: # host is the host configuration for dfdaemon. host: - ## idc is the idc of the host. + # idc is the idc of the host. idc: '' - ## location is the location of the host. + # location is the location of the host. location: '' - ## hostname is the hostname of the host. - # hostname: "" - ## ip is the advertise ip of the host. +# # hostname is the hostname of the host. +# hostname: "" +# + # ip is the advertise ip of the host. ip: __IP__ server: @@ -37,17 +38,38 @@ upload: server: # port is the port to the grpc server. port: 4010 - ## ip is the listen ip of the grpc server. - # ip: "" + # # ip is the listen ip of the grpc server. + # ip: "" + # # CA certificate file path for mTLS. + # caCert: /etc/ssl/certs/ca.crt + # # GRPC server certificate file path for mTLS. + # cert: /etc/ssl/certs/server.crt + # # GRPC server key file path for mTLS. + # key: /etc/ssl/private/server.pem + # +# # Client configuration for remote peer's upload server. +# client: +# # CA certificate file path for mTLS. +# caCert: /etc/ssl/certs/ca.crt +# # GRPC client certificate file path for mTLS. +# cert: /etc/ssl/certs/client.crt +# # GRPC client key file path for mTLS. +# key: /etc/ssl/private/client.pem +# # disableShared indicates whether disable to share data for other peers. disableShared: false # rateLimit is the default rate limit of the upload speed in KiB/MiB/GiB per second, default is 10GiB/s. rateLimit: 10GiB manager: - # addrs is manager addresses. - addrs: - - http://__IP__:65003 + # addr is manager addresses. + addr: http://__IP__:65003 +# # CA certificate file path for mTLS. +# caCert: /etc/ssl/certs/ca.crt +# # GRPC client certificate file path for mTLS. +# cert: /etc/ssl/certs/client.crt +# # GRPC client key file path for mTLS. +# key: /etc/ssl/private/client.pem scheduler: # announceInterval is the interval to announce peer to the scheduler. @@ -61,6 +83,12 @@ scheduler: maxScheduleCount: 5 # enableBackToSource indicates whether enable back-to-source download, when the scheduling failed. enableBackToSource: true +# # CA certificate file path for mTLS. +# caCert: /etc/ssl/certs/ca.crt +# # GRPC client certificate file path for mTLS. +# cert: /etc/ssl/certs/client.crt +# # GRPC client key file path for mTLS. +# key: /etc/ssl/private/client.pem seedPeer: # enable indicates whether enable seed peer. @@ -103,26 +131,29 @@ proxy: server: # port is the port to the proxy server. port: 4011 - ## ip is the listen ip of the proxy server. - # ip: "" - ## caCert is the root CA cert path with PEM format for the proxy server to generate the server cert. - ## If ca_cert is empty, proxy will generate a smaple CA cert by rcgen::generate_simple_self_signed. - ## When client requests via the proxy, the client should not verify the server cert and set - ## insecure to true. If ca_cert is not empty, proxy will sign the server cert with the CA cert. If openssl is installed, - ## you can use openssl to generate the root CA cert and make the system trust the root CA cert. - ## Then set the ca_cert and ca_key to the root CA cert and key path. Dfdaemon generates the server cert - ## and key, and signs the server cert with the root CA cert. When client requests via the proxy, - ## the proxy can intercept the request by the server cert. - # caCert: "" - ## caKey is the root CA key path with PEM format for the proxy server to generate the server cert. - ## If ca_key is empty, proxy will generate a smaple CA key by rcgen::generate_simple_self_signed. - ## When client requests via the proxy, the client should not verify the server cert and set - ## insecure to true. If ca_key is not empty, proxy will sign the server cert with the CA cert. If openssl is installed, - ## you can use openssl to generate the root CA cert and make the system trust the root CA cert. - ## Then set the ca_cert and ca_key to the root CA cert and key path. Dfdaemon generates the server cert - ## and key, and signs the server cert with the root CA cert. When client requests via the proxy, - ## the proxy can intercept the request by the server cert. - # caKey: "" + # # ip is the listen ip of the proxy server. + # ip: "" + # + # # caCert is the root CA cert path with PEM format for the proxy server to generate the server cert. + # # If ca_cert is empty, proxy will generate a smaple CA cert by rcgen::generate_simple_self_signed. + # # When client requests via the proxy, the client should not verify the server cert and set + # # insecure to true. If ca_cert is not empty, proxy will sign the server cert with the CA cert. If openssl is installed, + # # you can use openssl to generate the root CA cert and make the system trust the root CA cert. + # # Then set the ca_cert and ca_key to the root CA cert and key path. Dfdaemon generates the server cert + # # and key, and signs the server cert with the root CA cert. When client requests via the proxy, + # # the proxy can intercept the request by the server cert. + # caCert: "" + # + # # caKey is the root CA key path with PEM format for the proxy server to generate the server cert. + # # If ca_key is empty, proxy will generate a smaple CA key by rcgen::generate_simple_self_signed. + # # When client requests via the proxy, the client should not verify the server cert and set + # # insecure to true. If ca_key is not empty, proxy will sign the server cert with the CA cert. If openssl is installed, + # # you can use openssl to generate the root CA cert and make the system trust the root CA cert. + # # Then set the ca_cert and ca_key to the root CA cert and key path. Dfdaemon generates the server cert + # # and key, and signs the server cert with the root CA cert. When client requests via the proxy, + # # the proxy can intercept the request by the server cert. + # caKey: "" + # # rules is the list of rules for the proxy server. # regex is the regex of the request url. # useTLS indicates whether use tls for the proxy backend. @@ -146,10 +177,11 @@ proxy: # configuration to pull the image. The `X-Dragonfly-Registry` header can instead of the default address # of registry mirror. addr: https://index.docker.io - ## certs is the client certs path with PEM format for the registry. - ## If registry use self-signed cert, the client should set the - ## cert for the registry mirror. - # certs: "" + # # cert is the client cert path with PEM format for the registry. + # # If registry use self-signed cert, the client should set the + # # cert for the registry mirror. + # cert: "" + # # disableBackToSource indicates whether disable to download back-to-source when download failed. disableBackToSource: false # prefetch pre-downloads full of the task when download with range request. @@ -157,18 +189,14 @@ proxy: # readBufferSize is the buffer size for reading piece from disk, default is 32KB. readBufferSize: 32768 -security: - # enable indicates whether enable security. - enable: false - metrics: server: # port is the port to the metrics server. port: 4012 - ## ip is the listen ip of the metrics server. - # ip: "" + # # ip is the listen ip of the metrics server. + # ip: "" -## tracing is the tracing configuration for dfdaemon. +# # tracing is the tracing configuration for dfdaemon. # tracing: -## addr is the address to report tracing log. -# addr: "" +# # addr is the address to report tracing log. +# addr: "" diff --git a/scheduler/config/config.go b/scheduler/config/config.go index a8e0810c0d2..cbf7f1c9a7a 100644 --- a/scheduler/config/config.go +++ b/scheduler/config/config.go @@ -25,7 +25,6 @@ import ( "d7y.io/dragonfly/v2/cmd/dependency/base" "d7y.io/dragonfly/v2/pkg/net/fqdn" "d7y.io/dragonfly/v2/pkg/net/ip" - "d7y.io/dragonfly/v2/pkg/slices" ) type Config struct { @@ -41,9 +40,6 @@ type Config struct { // Database configuration. Database DatabaseConfig `yaml:"database" mapstructure:"database"` - // Resource configuration. - Resource ResourceConfig `yaml:"resource" mapstructure:"resource"` - // Dynconfig configuration. DynConfig DynConfig `yaml:"dynConfig" mapstructure:"dynConfig"` @@ -146,16 +142,6 @@ type DatabaseConfig struct { Redis RedisConfig `yaml:"redis" mapstructure:"redis"` } -type ResourceConfig struct { - // Task resource configuration. - Task TaskConfig `yaml:"task" mapstructure:"task"` -} - -type TaskConfig struct { - // Download tiny task configuration. - DownloadTiny DownloadTinyConfig `yaml:"downloadTiny" mapstructure:"downloadTiny"` -} - type DownloadTinyConfig struct { // Scheme is download tiny task scheme. Scheme string `yaml:"scheme" mapstructure:"scheme"` @@ -359,17 +345,6 @@ func New() *Config { BackendDB: DefaultRedisBackendDB, }, }, - Resource: ResourceConfig{ - Task: TaskConfig{ - DownloadTiny: DownloadTinyConfig{ - Scheme: DefaultResourceTaskDownloadTinyScheme, - Timeout: DefaultResourceTaskDownloadTinyTimeout, - TLS: DownloadTinyTLSClientConfig{ - InsecureSkipVerify: true, - }, - }, - }, - }, DynConfig: DynConfig{ RefreshInterval: DefaultDynConfigRefreshInterval, }, @@ -494,14 +469,6 @@ func (cfg *Config) Validate() error { return errors.New("redis requires parameter backendDB") } - if !slices.Contains([]string{"http", "https"}, cfg.Resource.Task.DownloadTiny.Scheme) { - return errors.New("downloadTiny requires parameter scheme") - } - - if cfg.Resource.Task.DownloadTiny.Timeout == 0 { - return errors.New("downloadTiny requires parameter timeout") - } - if cfg.DynConfig.RefreshInterval <= 0 { return errors.New("dynconfig requires parameter refreshInterval") } diff --git a/scheduler/config/config_test.go b/scheduler/config/config_test.go index 12775f97a74..0e7de8e2c5f 100644 --- a/scheduler/config/config_test.go +++ b/scheduler/config/config_test.go @@ -104,17 +104,6 @@ func TestConfig_Load(t *testing.T) { BackendDB: DefaultRedisBackendDB, }, }, - Resource: ResourceConfig{ - Task: TaskConfig{ - DownloadTiny: DownloadTinyConfig{ - Scheme: DefaultResourceTaskDownloadTinyScheme, - Timeout: DefaultResourceTaskDownloadTinyTimeout, - TLS: DownloadTinyTLSClientConfig{ - InsecureSkipVerify: true, - }, - }, - }, - }, DynConfig: DynConfig{ RefreshInterval: 10 * time.Second, }, @@ -470,34 +459,6 @@ func TestConfig_Validate(t *testing.T) { assert.EqualError(err, "scheduler requires parameter hostGCInterval") }, }, - { - name: "downloadTiny requires parameter scheme", - config: New(), - mock: func(cfg *Config) { - cfg.Manager = mockManagerConfig - cfg.Database.Redis = mockRedisConfig - cfg.Job = mockJobConfig - cfg.Resource.Task.DownloadTiny.Scheme = "" - }, - expect: func(t *testing.T, err error) { - assert := assert.New(t) - assert.EqualError(err, "downloadTiny requires parameter scheme") - }, - }, - { - name: "downloadTiny requires parameter timeout", - config: New(), - mock: func(cfg *Config) { - cfg.Manager = mockManagerConfig - cfg.Database.Redis = mockRedisConfig - cfg.Job = mockJobConfig - cfg.Resource.Task.DownloadTiny.Timeout = 0 - }, - expect: func(t *testing.T, err error) { - assert := assert.New(t) - assert.EqualError(err, "downloadTiny requires parameter timeout") - }, - }, { name: "scheduler requires parameter hostTTL", config: New(), diff --git a/scheduler/config/constants.go b/scheduler/config/constants.go index 2e30cb9ba92..6798833fb7e 100644 --- a/scheduler/config/constants.go +++ b/scheduler/config/constants.go @@ -94,14 +94,6 @@ const ( DefaultCPU = 1 ) -const ( - // DefaultResourceTaskDownloadTinyScheme is default scheme of downloading tiny task. - DefaultResourceTaskDownloadTinyScheme = "http" - - // DefaultResourceTaskDownloadTinyTimeout is default timeout of downloading tiny task. - DefaultResourceTaskDownloadTinyTimeout = 1 * time.Minute -) - const ( // DefaultDynConfigRefreshInterval is default refresh interval for dynamic configuration. DefaultDynConfigRefreshInterval = 1 * time.Minute diff --git a/scheduler/config/testdata/scheduler.yaml b/scheduler/config/testdata/scheduler.yaml index 4c8e7dd4db1..f671f9c0f20 100644 --- a/scheduler/config/testdata/scheduler.yaml +++ b/scheduler/config/testdata/scheduler.yaml @@ -40,14 +40,6 @@ database: brokerDB: 1 backendDB: 2 -resource: - task: - downloadTiny: - scheme: http - timeout: 1m - tls: - insecureSkipVerify: true - dynConfig: refreshInterval: 10s diff --git a/scheduler/resource/standard/host_manager_test.go b/scheduler/resource/standard/host_manager_test.go index 0c6c0e3cb63..e683a0a38e4 100644 --- a/scheduler/resource/standard/host_manager_test.go +++ b/scheduler/resource/standard/host_manager_test.go @@ -539,7 +539,7 @@ func TestHostManager_RunGC(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + mockPeer := NewPeer(mockPeerID, mockTask, mockHost) hostManager, err := newHostManager(mockHostGCConfig, gc) if err != nil { t.Fatal(err) diff --git a/scheduler/resource/standard/host_test.go b/scheduler/resource/standard/host_test.go index 470b612451e..e9b5810ec1f 100644 --- a/scheduler/resource/standard/host_test.go +++ b/scheduler/resource/standard/host_test.go @@ -621,7 +621,7 @@ func TestHost_LoadPeer(t *testing.T) { tc.rawHost.ID, tc.rawHost.IP, tc.rawHost.Hostname, tc.rawHost.Port, tc.rawHost.DownloadPort, tc.rawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, mockTask, host) + mockPeer := NewPeer(mockPeerID, mockTask, host) host.StorePeer(mockPeer) peer, loaded := host.LoadPeer(tc.peerID) @@ -666,7 +666,7 @@ func TestHost_StorePeer(t *testing.T) { tc.rawHost.ID, tc.rawHost.IP, tc.rawHost.Hostname, tc.rawHost.Port, tc.rawHost.DownloadPort, tc.rawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - mockPeer := NewPeer(tc.peerID, mockResourceConfig, mockTask, host) + mockPeer := NewPeer(tc.peerID, mockTask, host) host.StorePeer(mockPeer) peer, loaded := host.LoadPeer(tc.peerID) @@ -712,7 +712,7 @@ func TestHost_DeletePeer(t *testing.T) { tc.rawHost.ID, tc.rawHost.IP, tc.rawHost.Hostname, tc.rawHost.Port, tc.rawHost.DownloadPort, tc.rawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, mockTask, host) + mockPeer := NewPeer(mockPeerID, mockTask, host) host.StorePeer(mockPeer) host.DeletePeer(tc.peerID) @@ -764,7 +764,7 @@ func TestHost_LeavePeers(t *testing.T) { tc.rawHost.ID, tc.rawHost.IP, tc.rawHost.Hostname, tc.rawHost.Port, tc.rawHost.DownloadPort, tc.rawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, mockTask, host) + mockPeer := NewPeer(mockPeerID, mockTask, host) tc.expect(t, host, mockPeer) }) @@ -783,7 +783,7 @@ func TestHost_FreeUploadCount(t *testing.T) { rawHost: mockRawHost, expect: func(t *testing.T, host *Host, mockTask *Task, mockPeer *Peer) { assert := assert.New(t) - mockSeedPeer := NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, host) + mockSeedPeer := NewPeer(mockSeedPeerID, mockTask, host) mockPeer.Task.StorePeer(mockSeedPeer) mockPeer.Task.StorePeer(mockPeer) err := mockPeer.Task.AddPeerEdge(mockSeedPeer, mockPeer) @@ -816,7 +816,7 @@ func TestHost_FreeUploadCount(t *testing.T) { tc.rawHost.ID, tc.rawHost.IP, tc.rawHost.Hostname, tc.rawHost.Port, tc.rawHost.DownloadPort, tc.rawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, mockTask, host) + mockPeer := NewPeer(mockPeerID, mockTask, host) tc.expect(t, host, mockTask, mockPeer) }) diff --git a/scheduler/resource/standard/peer.go b/scheduler/resource/standard/peer.go index bb7e6fa5bff..2a6d6d13cbd 100644 --- a/scheduler/resource/standard/peer.go +++ b/scheduler/resource/standard/peer.go @@ -138,9 +138,6 @@ type Peer struct { // ID is peer id. ID string - // Config is resource config. - Config *config.ResourceConfig - // Range is url range of request. Range *nethttp.Range @@ -200,10 +197,9 @@ type Peer struct { } // New Peer instance. -func NewPeer(id string, cfg *config.ResourceConfig, task *Task, host *Host, options ...PeerOption) *Peer { +func NewPeer(id string, task *Task, host *Host, options ...PeerOption) *Peer { p := &Peer{ ID: id, - Config: cfg, Priority: commonv2.Priority_LEVEL0, Pieces: &sync.Map{}, FinishedPieces: &bitset.BitSet{}, @@ -437,6 +433,7 @@ func (p *Peer) Children() []*Peer { return children } +// Deprecated: Remove the method in the v2 protocol. // DownloadTinyFile downloads tiny file from peer without range. func (p *Peer) DownloadTinyFile() ([]byte, error) { ctx, cancel := context.WithTimeout(context.Background(), downloadTinyFileContextTimeout) @@ -446,7 +443,7 @@ func (p *Peer) DownloadTinyFile() ([]byte, error) { } // Download path: ${host}:${port}/download/${taskIndex}/${taskID}?peerId=${peerID} targetURL := url.URL{ - Scheme: p.Config.Task.DownloadTiny.Scheme, + Scheme: "http", Host: fmt.Sprintf("%s:%d", p.Host.IP, p.Host.DownloadPort), Path: fmt.Sprintf("download/%s/%s", p.Task.ID[:3], p.Task.ID), RawQuery: fmt.Sprintf("peerId=%s", p.ID), @@ -461,9 +458,9 @@ func (p *Peer) DownloadTinyFile() ([]byte, error) { p.Log.Infof("download tiny file %s, header is : %#v", targetURL.String(), req.Header) client := &http.Client{ - Timeout: p.Config.Task.DownloadTiny.Timeout, + Timeout: 30 * time.Second, Transport: &http.Transport{ - TLSClientConfig: &tls.Config{InsecureSkipVerify: p.Config.Task.DownloadTiny.TLS.InsecureSkipVerify}, + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, }, } diff --git a/scheduler/resource/standard/peer_manager_test.go b/scheduler/resource/standard/peer_manager_test.go index d3be985216b..84c1a59b065 100644 --- a/scheduler/resource/standard/peer_manager_test.go +++ b/scheduler/resource/standard/peer_manager_test.go @@ -137,7 +137,7 @@ func TestPeerManager_Load(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + mockPeer := NewPeer(mockPeerID, mockTask, mockHost) peerManager, err := newPeerManager(mockPeerGCConfig, gc) if err != nil { t.Fatal(err) @@ -194,7 +194,7 @@ func TestPeerManager_Store(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + mockPeer := NewPeer(mockPeerID, mockTask, mockHost) peerManager, err := newPeerManager(mockPeerGCConfig, gc) if err != nil { t.Fatal(err) @@ -249,7 +249,7 @@ func TestPeerManager_LoadOrStore(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + mockPeer := NewPeer(mockPeerID, mockTask, mockHost) peerManager, err := newPeerManager(mockPeerGCConfig, gc) if err != nil { t.Fatal(err) @@ -306,7 +306,7 @@ func TestPeerManager_Delete(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + mockPeer := NewPeer(mockPeerID, mockTask, mockHost) peerManager, err := newPeerManager(mockPeerGCConfig, gc) if err != nil { t.Fatal(err) @@ -555,7 +555,7 @@ func TestPeerManager_RunGC(t *testing.T) { peerManager.Store(mockPeer) mockPeer.FSM.SetState(PeerStateSucceeded) for i := 0; i < PeerCountLimitForTask+1; i++ { - peer := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost) + peer := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost) mockPeer.Task.StorePeer(peer) } @@ -579,7 +579,7 @@ func TestPeerManager_RunGC(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + mockPeer := NewPeer(mockPeerID, mockTask, mockHost) peerManager, err := newPeerManager(tc.gcConfig, gc) if err != nil { t.Fatal(err) diff --git a/scheduler/resource/standard/peer_test.go b/scheduler/resource/standard/peer_test.go index d20fd5b9619..bc4bc37f767 100644 --- a/scheduler/resource/standard/peer_test.go +++ b/scheduler/resource/standard/peer_test.go @@ -170,7 +170,7 @@ func TestPeer_NewPeer(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - tc.expect(t, NewPeer(tc.id, mockResourceConfig, mockTask, mockHost, tc.options...), mockTask, mockHost) + tc.expect(t, NewPeer(tc.id, mockTask, mockHost, tc.options...), mockTask, mockHost) }) } } @@ -205,7 +205,7 @@ func TestPeer_AppendPieceCost(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) tc.expect(t, peer) }) @@ -242,7 +242,7 @@ func TestPeer_PieceCosts(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) tc.expect(t, peer) }) @@ -284,7 +284,7 @@ func TestPeer_LoadReportPieceResultStream(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) tc.expect(t, peer, stream) }) } @@ -317,7 +317,7 @@ func TestPeer_StoreReportPieceResultStream(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) tc.expect(t, peer, stream) }) } @@ -350,7 +350,7 @@ func TestPeer_DeleteReportPieceResultStream(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) tc.expect(t, peer, stream) }) } @@ -391,7 +391,7 @@ func TestPeer_LoadAnnouncePeerStream(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) tc.expect(t, peer, stream) }) } @@ -424,7 +424,7 @@ func TestPeer_StoreAnnouncePeerStream(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) tc.expect(t, peer, stream) }) } @@ -457,7 +457,7 @@ func TestPeer_DeleteAnnouncePeerStream(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) tc.expect(t, peer, stream) }) } @@ -513,7 +513,7 @@ func TestPeer_LoadPiece(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) peer.StorePiece(tc.piece) piece, loaded := peer.LoadPiece(tc.pieceNumber) @@ -554,7 +554,7 @@ func TestPeer_StorePiece(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) peer.StorePiece(tc.piece) piece, loaded := peer.LoadPiece(tc.pieceNumber) @@ -599,7 +599,7 @@ func TestPeer_DeletePiece(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) peer.StorePiece(tc.piece) peer.DeletePiece(tc.pieceNumber) @@ -647,8 +647,8 @@ func TestPeer_Parents(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) - seedPeer := NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) + seedPeer := NewPeer(mockSeedPeerID, mockTask, mockHost) tc.expect(t, peer, seedPeer, stream) }) } @@ -693,8 +693,8 @@ func TestPeer_Children(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) - seedPeer := NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) + seedPeer := NewPeer(mockSeedPeerID, mockTask, mockHost) tc.expect(t, peer, seedPeer, stream) }) } @@ -775,7 +775,7 @@ func TestPeer_DownloadTinyFile(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) if tc.mockServer == nil { tc.mockServer = mockServer @@ -927,7 +927,7 @@ func TestPeer_CalculatePriority(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - peer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := NewPeer(mockPeerID, mockTask, mockHost) tc.mock(peer, dynconfig.EXPECT()) tc.expect(t, peer.CalculatePriority(dynconfig)) }) diff --git a/scheduler/resource/standard/resource.go b/scheduler/resource/standard/resource.go index 2cc149aa22b..daea1bf6284 100644 --- a/scheduler/resource/standard/resource.go +++ b/scheduler/resource/standard/resource.go @@ -96,7 +96,7 @@ func New(cfg *config.Config, gc gc.GC, dynconfig config.DynconfigInterface, tran return nil, err } - resource.seedPeer = newSeedPeer(cfg, client, peerManager, hostManager) + resource.seedPeer = newSeedPeer(client, peerManager, hostManager) } return resource, nil diff --git a/scheduler/resource/standard/seed_peer.go b/scheduler/resource/standard/seed_peer.go index c0ce9819a6b..489139e20f2 100644 --- a/scheduler/resource/standard/seed_peer.go +++ b/scheduler/resource/standard/seed_peer.go @@ -37,7 +37,6 @@ import ( "d7y.io/dragonfly/v2/pkg/idgen" "d7y.io/dragonfly/v2/pkg/net/http" "d7y.io/dragonfly/v2/pkg/rpc/common" - "d7y.io/dragonfly/v2/scheduler/config" "d7y.io/dragonfly/v2/scheduler/metrics" ) @@ -65,9 +64,6 @@ type SeedPeer interface { // seedPeer contains content for seed peer. type seedPeer struct { - // config is the config of resource. - config *config.Config - // client is the dynamic client of seed peer. client SeedPeerClient @@ -79,9 +75,8 @@ type seedPeer struct { } // New SeedPeer interface. -func newSeedPeer(cfg *config.Config, client SeedPeerClient, peerManager PeerManager, hostManager HostManager) SeedPeer { +func newSeedPeer(client SeedPeerClient, peerManager PeerManager, hostManager HostManager) SeedPeer { return &seedPeer{ - config: cfg, client: client, peerManager: peerManager, hostManager: hostManager, @@ -250,7 +245,7 @@ func (s *seedPeer) initSeedPeer(ctx context.Context, rg *http.Range, task *Task, } // New and store seed peer without range. - peer = NewPeer(peerID, &s.config.Resource, task, host, options...) + peer = NewPeer(peerID, task, host, options...) s.peerManager.Store(peer) peer.Log.Info("seed peer has been stored") diff --git a/scheduler/resource/standard/task_manager_test.go b/scheduler/resource/standard/task_manager_test.go index a6ba5725152..d61e183fd4b 100644 --- a/scheduler/resource/standard/task_manager_test.go +++ b/scheduler/resource/standard/task_manager_test.go @@ -350,7 +350,7 @@ func TestTaskManager_RunGC(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, WithDigest(mockTaskDigest)) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + mockPeer := NewPeer(mockPeerID, mockTask, mockHost) taskManager, err := newTaskManager(mockTaskGCConfig, gc) if err != nil { t.Fatal(err) diff --git a/scheduler/resource/standard/task_test.go b/scheduler/resource/standard/task_test.go index c05cc06e066..63e0dd2b946 100644 --- a/scheduler/resource/standard/task_test.go +++ b/scheduler/resource/standard/task_test.go @@ -33,7 +33,6 @@ import ( "d7y.io/dragonfly/v2/pkg/digest" "d7y.io/dragonfly/v2/pkg/idgen" "d7y.io/dragonfly/v2/pkg/types" - "d7y.io/dragonfly/v2/scheduler/config" ) var ( @@ -57,22 +56,7 @@ var ( mockTaskFilteredQueryParams = []string{"bar"} mockTaskHeader = map[string]string{"content-length": "100"} mockTaskPieceLength int32 = 2048 - mockConfig = &config.Config{ - Resource: *mockResourceConfig, - } - - mockResourceConfig = &config.ResourceConfig{ - Task: config.TaskConfig{ - DownloadTiny: config.DownloadTinyConfig{ - Scheme: config.DefaultResourceTaskDownloadTinyScheme, - Timeout: config.DefaultResourceTaskDownloadTinyTimeout, - TLS: config.DownloadTinyTLSClientConfig{ - InsecureSkipVerify: true, - }, - }, - }, - } - mockPieceDigest = digest.New(digest.AlgorithmMD5, "ad83a945518a4ef007d8b2db2ef165b3") + mockPieceDigest = digest.New(digest.AlgorithmMD5, "ad83a945518a4ef007d8b2db2ef165b3") ) func TestTask_NewTask(t *testing.T) { @@ -210,7 +194,7 @@ func TestTask_LoadPeer(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) task := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, task, mockHost) + mockPeer := NewPeer(mockPeerID, task, mockHost) task.StorePeer(mockPeer) peer, loaded := task.LoadPeer(tc.peerID) @@ -227,10 +211,10 @@ func TestTask_LoadRandomPeers(t *testing.T) { { name: "load random peers", expect: func(t *testing.T, task *Task, host *Host) { - mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, host) - mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, host) - mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, host) - mockPeerH := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, host) + mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, host) + mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, host) + mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, host) + mockPeerH := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, host) task.StorePeer(mockPeerE) task.StorePeer(mockPeerF) @@ -317,7 +301,7 @@ func TestTask_StorePeer(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) task := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit) - mockPeer := NewPeer(tc.peerID, mockResourceConfig, task, mockHost) + mockPeer := NewPeer(tc.peerID, task, mockHost) task.StorePeer(mockPeer) peer, loaded := task.LoadPeer(tc.peerID) @@ -359,7 +343,7 @@ func TestTask_DeletePeer(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) task := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, task, mockHost) + mockPeer := NewPeer(mockPeerID, task, mockHost) task.StorePeer(mockPeer) task.DeletePeer(tc.peerID) @@ -398,7 +382,7 @@ func TestTask_PeerCount(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) task := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, task, mockHost) + mockPeer := NewPeer(mockPeerID, task, mockHost) tc.expect(t, mockPeer, task) }) @@ -414,9 +398,9 @@ func TestTask_AddPeerEdge(t *testing.T) { name: "add peer edge failed", expect: func(t *testing.T, mockHost *Host, task *Task) { assert := assert.New(t) - mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) + mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) task.StorePeer(mockPeerE) task.StorePeer(mockPeerF) @@ -452,9 +436,9 @@ func TestTask_AddPeerEdge(t *testing.T) { name: "add peer edge", expect: func(t *testing.T, mockHost *Host, task *Task) { assert := assert.New(t) - mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) + mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) task.StorePeer(mockPeerE) task.StorePeer(mockPeerF) @@ -519,9 +503,9 @@ func TestTask_DeletePeerInEdges(t *testing.T) { name: "delete peer inedges", expect: func(t *testing.T, mockHost *Host, task *Task) { assert := assert.New(t) - mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) + mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) task.StorePeer(mockPeerE) task.StorePeer(mockPeerF) @@ -623,9 +607,9 @@ func TestTask_DeletePeerOutEdges(t *testing.T) { name: "delete peer outedges", expect: func(t *testing.T, mockHost *Host, task *Task) { assert := assert.New(t) - mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) + mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) task.StorePeer(mockPeerE) task.StorePeer(mockPeerF) @@ -717,9 +701,9 @@ func TestTask_CanAddPeerEdge(t *testing.T) { name: "peer can not add edge", expect: func(t *testing.T, mockHost *Host, task *Task) { assert := assert.New(t) - mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) + mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) task.StorePeer(mockPeerE) task.StorePeer(mockPeerF) @@ -751,9 +735,9 @@ func TestTask_CanAddPeerEdge(t *testing.T) { name: "peer can add edge", expect: func(t *testing.T, mockHost *Host, task *Task) { assert := assert.New(t) - mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) + mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) task.StorePeer(mockPeerE) task.StorePeer(mockPeerF) @@ -812,9 +796,9 @@ func TestTask_PeerDegree(t *testing.T) { name: "peer get degree", expect: func(t *testing.T, mockHost *Host, task *Task) { assert := assert.New(t) - mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) + mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) task.StorePeer(mockPeerE) task.StorePeer(mockPeerF) @@ -875,9 +859,9 @@ func TestTask_PeerInDegree(t *testing.T) { name: "peer get indegree", expect: func(t *testing.T, mockHost *Host, task *Task) { assert := assert.New(t) - mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) + mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) task.StorePeer(mockPeerE) task.StorePeer(mockPeerF) @@ -938,9 +922,9 @@ func TestTask_PeerOutDegree(t *testing.T) { name: "peer get outdegree", expect: func(t *testing.T, mockHost *Host, task *Task) { assert := assert.New(t) - mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) - mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, task, mockHost) + mockPeerE := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerF := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) + mockPeerG := NewPeer(idgen.PeerIDV1("127.0.0.1"), task, mockHost) task.StorePeer(mockPeerE) task.StorePeer(mockPeerF) @@ -1049,7 +1033,7 @@ func TestTask_HasAvailablePeer(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) task := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, task, mockHost) + mockPeer := NewPeer(mockPeerID, task, mockHost) tc.expect(t, task, mockPeer) }) @@ -1116,8 +1100,8 @@ func TestTask_LoadSeedPeer(t *testing.T) { mockRawSeedHost.ID, mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type) task := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, task, mockHost) - mockSeedPeer := NewPeer(mockSeedPeerID, mockResourceConfig, task, mockSeedHost) + mockPeer := NewPeer(mockPeerID, task, mockHost) + mockSeedPeer := NewPeer(mockSeedPeerID, task, mockSeedHost) tc.expect(t, task, mockPeer, mockSeedPeer) }) @@ -1183,8 +1167,8 @@ func TestTask_IsSeedPeerFailed(t *testing.T) { mockRawSeedHost.ID, mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type) task := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, task, mockHost) - mockSeedPeer := NewPeer(mockSeedPeerID, mockResourceConfig, task, mockSeedHost) + mockPeer := NewPeer(mockPeerID, task, mockHost) + mockSeedPeer := NewPeer(mockSeedPeerID, task, mockSeedHost) tc.expect(t, task, mockPeer, mockSeedPeer) }) @@ -1570,7 +1554,7 @@ func TestTask_ReportPieceResultToPeers(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) task := NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit) - mockPeer := NewPeer(mockPeerID, mockResourceConfig, task, mockHost) + mockPeer := NewPeer(mockPeerID, task, mockHost) task.StorePeer(mockPeer) tc.run(t, task, mockPeer, stream, stream.EXPECT()) }) diff --git a/scheduler/scheduling/evaluator/evaluator_base_test.go b/scheduler/scheduling/evaluator/evaluator_base_test.go index 6d5c47ab534..0fc7ab0a51f 100644 --- a/scheduler/scheduling/evaluator/evaluator_base_test.go +++ b/scheduler/scheduling/evaluator/evaluator_base_test.go @@ -29,7 +29,6 @@ import ( "d7y.io/dragonfly/v2/pkg/digest" "d7y.io/dragonfly/v2/pkg/idgen" "d7y.io/dragonfly/v2/pkg/types" - "d7y.io/dragonfly/v2/scheduler/config" resource "d7y.io/dragonfly/v2/scheduler/resource/standard" ) @@ -142,22 +141,11 @@ var ( mockTaskFilteredQueryParams = []string{"bar"} mockTaskHeader = map[string]string{"content-length": "100"} mockTaskPieceLength int32 = 2048 - mockResourceConfig = &config.ResourceConfig{ - Task: config.TaskConfig{ - DownloadTiny: config.DownloadTinyConfig{ - Scheme: config.DefaultResourceTaskDownloadTinyScheme, - Timeout: config.DefaultResourceTaskDownloadTinyTimeout, - TLS: config.DownloadTinyTLSClientConfig{ - InsecureSkipVerify: true, - }, - }, - }, - } - mockHostID = idgen.HostIDV2("127.0.0.1", "foo") - mockSeedHostID = idgen.HostIDV2("127.0.0.1", "bar") - mockHostLocation = "bas" - mockHostIDC = "baz" - mockPeerID = idgen.PeerIDV2() + mockHostID = idgen.HostIDV2("127.0.0.1", "foo") + mockSeedHostID = idgen.HostIDV2("127.0.0.1", "bar") + mockHostLocation = "bas" + mockHostIDC = "baz" + mockPeerID = idgen.PeerIDV2() ) func TestEvaluatorBase_newEvaluatorBase(t *testing.T) { @@ -193,7 +181,7 @@ func TestEvaluatorBase_EvaluateParents(t *testing.T) { { name: "parents is empty", parents: []*resource.Peer{}, - child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, @@ -210,13 +198,13 @@ func TestEvaluatorBase_EvaluateParents(t *testing.T) { { name: "evaluate single parent", parents: []*resource.Peer{ - resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( mockRawSeedHost.ID, mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type)), }, - child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, @@ -235,33 +223,33 @@ func TestEvaluatorBase_EvaluateParents(t *testing.T) { { name: "evaluate parents with free upload count", parents: []*resource.Peer{ - resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( mockRawSeedHost.ID, mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type)), - resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( "bar", mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type)), - resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( "baz", mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type)), - resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( "bac", mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type)), - resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( "bae", mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type)), }, - child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, @@ -286,33 +274,33 @@ func TestEvaluatorBase_EvaluateParents(t *testing.T) { { name: "evaluate parents with pieces", parents: []*resource.Peer{ - resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( mockRawSeedHost.ID, mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type)), - resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( "bar", mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type)), - resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( "baz", mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type)), - resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( "bac", mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type)), - resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( "bae", mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type)), }, - child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, @@ -356,12 +344,12 @@ func TestEvaluatorBase_evaluate(t *testing.T) { }{ { name: "evaluate parent", - parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( mockRawSeedHost.ID, mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type)), - child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, @@ -376,12 +364,12 @@ func TestEvaluatorBase_evaluate(t *testing.T) { }, { name: "evaluate parent with pieces", - parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( mockRawSeedHost.ID, mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type)), - child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, + child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)), resource.NewHost( mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, @@ -422,8 +410,8 @@ func TestEvaluatorBase_calculatePieceScore(t *testing.T) { }{ { name: "total piece count is zero and child pieces are empty", - parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), - child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), + parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), + child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), totalPieceCount: 0, mock: func(parent *resource.Peer, child *resource.Peer) { parent.FinishedPieces.Set(0) @@ -435,8 +423,8 @@ func TestEvaluatorBase_calculatePieceScore(t *testing.T) { }, { name: "total piece count is zero and parent pieces are empty", - parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), - child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), + parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), + child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), totalPieceCount: 0, mock: func(parent *resource.Peer, child *resource.Peer) { child.FinishedPieces.Set(0) @@ -448,8 +436,8 @@ func TestEvaluatorBase_calculatePieceScore(t *testing.T) { }, { name: "total piece count is zero and child pieces of length greater than parent pieces", - parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), - child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), + parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), + child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), totalPieceCount: 0, mock: func(parent *resource.Peer, child *resource.Peer) { parent.FinishedPieces.Set(0) @@ -463,8 +451,8 @@ func TestEvaluatorBase_calculatePieceScore(t *testing.T) { }, { name: "total piece count is zero and child pieces of length equal than parent pieces", - parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), - child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), + parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), + child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), totalPieceCount: 0, mock: func(parent *resource.Peer, child *resource.Peer) { parent.FinishedPieces.Set(0) @@ -477,8 +465,8 @@ func TestEvaluatorBase_calculatePieceScore(t *testing.T) { }, { name: "total piece count is zero and parent pieces of length greater than child pieces", - parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), - child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), + parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), + child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), totalPieceCount: 0, mock: func(parent *resource.Peer, child *resource.Peer) { parent.FinishedPieces.Set(0) @@ -492,8 +480,8 @@ func TestEvaluatorBase_calculatePieceScore(t *testing.T) { }, { name: "parent pieces are empty", - parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), - child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), + parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), + child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), totalPieceCount: 10, mock: func(parent *resource.Peer, child *resource.Peer) {}, expect: func(t *testing.T, score float64) { @@ -503,8 +491,8 @@ func TestEvaluatorBase_calculatePieceScore(t *testing.T) { }, { name: "parent pieces of length greater than zero", - parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), - child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost), + parent: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), + child: resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost), totalPieceCount: 10, mock: func(parent *resource.Peer, child *resource.Peer) { parent.FinishedPieces.Set(0) @@ -573,7 +561,7 @@ func TestEvaluatorBase_calculatehostUploadSuccessScore(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - mockPeer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, host) + mockPeer := resource.NewPeer(mockPeerID, mockTask, host) e := newEvaluatorBase() tc.mock(host) tc.expect(t, e.(*evaluatorBase).calculateParentHostUploadSuccessScore(mockPeer)) @@ -623,7 +611,7 @@ func TestEvaluatorBase_calculateFreeUploadScore(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - mockPeer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, host) + mockPeer := resource.NewPeer(mockPeerID, mockTask, host) e := newEvaluatorBase() tc.mock(host, mockPeer) tc.expect(t, e.(*evaluatorBase).calculateFreeUploadScore(host)) @@ -675,7 +663,7 @@ func TestEvaluatorBase_calculateHostTypeScore(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) e := newEvaluatorBase() tc.mock(peer) tc.expect(t, e.(*evaluatorBase).calculateHostTypeScore(peer)) @@ -899,7 +887,7 @@ func TestEvaluatorBase_IsBadNode(t *testing.T) { }{ { name: "peer state is PeerStateFailed", - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), totalPieceCount: 1, mock: func(peer *resource.Peer) { peer.FSM.SetState(resource.PeerStateFailed) @@ -911,7 +899,7 @@ func TestEvaluatorBase_IsBadNode(t *testing.T) { }, { name: "peer state is PeerStateLeave", - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), totalPieceCount: 1, mock: func(peer *resource.Peer) { peer.FSM.SetState(resource.PeerStateLeave) @@ -923,7 +911,7 @@ func TestEvaluatorBase_IsBadNode(t *testing.T) { }, { name: "peer state is PeerStatePending", - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), totalPieceCount: 1, mock: func(peer *resource.Peer) { peer.FSM.SetState(resource.PeerStatePending) @@ -935,7 +923,7 @@ func TestEvaluatorBase_IsBadNode(t *testing.T) { }, { name: "peer state is PeerStateReceivedTiny", - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), totalPieceCount: 1, mock: func(peer *resource.Peer) { peer.FSM.SetState(resource.PeerStateReceivedTiny) @@ -947,7 +935,7 @@ func TestEvaluatorBase_IsBadNode(t *testing.T) { }, { name: "peer state is PeerStateReceivedSmall", - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), totalPieceCount: 1, mock: func(peer *resource.Peer) { peer.FSM.SetState(resource.PeerStateReceivedSmall) @@ -959,7 +947,7 @@ func TestEvaluatorBase_IsBadNode(t *testing.T) { }, { name: "peer state is PeerStateReceivedNormal", - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), totalPieceCount: 1, mock: func(peer *resource.Peer) { peer.FSM.SetState(resource.PeerStateReceivedNormal) @@ -971,7 +959,7 @@ func TestEvaluatorBase_IsBadNode(t *testing.T) { }, { name: "download costs does not meet the normal distribution and last cost is twenty times more than mean", - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), totalPieceCount: 1, mock: func(peer *resource.Peer) { peer.FSM.SetState(resource.PeerStateRunning) @@ -985,7 +973,7 @@ func TestEvaluatorBase_IsBadNode(t *testing.T) { }, { name: "download costs does not meet the normal distribution and last cost is twenty times lower than mean", - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), totalPieceCount: 1, mock: func(peer *resource.Peer) { peer.FSM.SetState(resource.PeerStateRunning) @@ -999,7 +987,7 @@ func TestEvaluatorBase_IsBadNode(t *testing.T) { }, { name: "download costs meet the normal distribution and last cost is too long", - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), totalPieceCount: 1, mock: func(peer *resource.Peer) { peer.FSM.SetState(resource.PeerStateRunning) @@ -1015,7 +1003,7 @@ func TestEvaluatorBase_IsBadNode(t *testing.T) { }, { name: "download costs meet the normal distribution and last cost is normal", - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), totalPieceCount: 1, mock: func(peer *resource.Peer) { peer.FSM.SetState(resource.PeerStateRunning) @@ -1031,7 +1019,7 @@ func TestEvaluatorBase_IsBadNode(t *testing.T) { }, { name: "download costs meet the normal distribution and last cost is too short", - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), totalPieceCount: 1, mock: func(peer *resource.Peer) { peer.FSM.SetState(resource.PeerStateRunning) diff --git a/scheduler/scheduling/scheduling_test.go b/scheduler/scheduling/scheduling_test.go index 00c4adaf408..140add6f187 100644 --- a/scheduler/scheduling/scheduling_test.go +++ b/scheduler/scheduling/scheduling_test.go @@ -170,24 +170,13 @@ var ( mockTaskFilteredQueryParams = []string{"bar"} mockTaskHeader = map[string]string{"content-length": "100"} mockTaskPieceLength int32 = 2048 - mockResourceConfig = &config.ResourceConfig{ - Task: config.TaskConfig{ - DownloadTiny: config.DownloadTinyConfig{ - Scheme: config.DefaultResourceTaskDownloadTinyScheme, - Timeout: config.DefaultResourceTaskDownloadTinyTimeout, - TLS: config.DownloadTinyTLSClientConfig{ - InsecureSkipVerify: true, - }, - }, - }, - } - mockHostID = idgen.HostIDV2("127.0.0.1", "foo") - mockSeedHostID = idgen.HostIDV2("127.0.0.1", "bar") - mockHostLocation = "baz" - mockHostIDC = "bas" - mockPeerID = idgen.PeerIDV2() - mockSeedPeerID = idgen.PeerIDV2() - mockPiece = resource.Piece{ + mockHostID = idgen.HostIDV2("127.0.0.1", "foo") + mockSeedHostID = idgen.HostIDV2("127.0.0.1", "bar") + mockHostLocation = "baz" + mockHostIDC = "bas" + mockPeerID = idgen.PeerIDV2() + mockSeedPeerID = idgen.PeerIDV2() + mockPiece = resource.Piece{ Number: 1, ParentID: "foo", Offset: 2, @@ -448,11 +437,11 @@ func TestScheduling_ScheduleCandidateParents(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) mockSeedHost := resource.NewHost( mockRawSeedHost.ID, mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type) - seedPeer := resource.NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, mockSeedHost) + seedPeer := resource.NewPeer(mockSeedPeerID, mockTask, mockSeedHost) blocklist := set.NewSafeSet[string]() tc.mock(cancel, peer, seedPeer, blocklist, stream, stream.EXPECT(), dynconfig.EXPECT()) @@ -718,11 +707,11 @@ func TestScheduling_ScheduleParentAndCandidateParents(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) mockSeedHost := resource.NewHost( mockRawSeedHost.ID, mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type) - seedPeer := resource.NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, mockSeedHost) + seedPeer := resource.NewPeer(mockSeedPeerID, mockTask, mockSeedHost) blocklist := set.NewSafeSet[string]() tc.mock(cancel, peer, seedPeer, blocklist, stream, stream.EXPECT(), dynconfig.EXPECT()) @@ -1046,14 +1035,14 @@ func TestScheduling_FindCandidateParents(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) var mockPeers []*resource.Peer for i := 0; i < 11; i++ { mockHost := resource.NewHost( idgen.HostIDV2("127.0.0.1", uuid.New().String()), mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) - peer := resource.NewPeer(idgen.PeerIDV1(fmt.Sprintf("127.0.0.%d", i)), mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(idgen.PeerIDV1(fmt.Sprintf("127.0.0.%d", i)), mockTask, mockHost) mockPeers = append(mockPeers, peer) } @@ -1363,14 +1352,14 @@ func TestScheduling_FindParentAndCandidateParents(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) var mockPeers []*resource.Peer for i := 0; i < 11; i++ { mockHost := resource.NewHost( idgen.HostIDV2("127.0.0.1", uuid.New().String()), mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) - peer := resource.NewPeer(idgen.PeerIDV1(fmt.Sprintf("127.0.0.%d", i)), mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(idgen.PeerIDV1(fmt.Sprintf("127.0.0.%d", i)), mockTask, mockHost) mockPeers = append(mockPeers, peer) } @@ -1624,14 +1613,14 @@ func TestScheduling_FindSuccessParent(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) var mockPeers []*resource.Peer for i := 0; i < 11; i++ { mockHost := resource.NewHost( idgen.HostIDV2("127.0.0.1", uuid.New().String()), mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) - peer := resource.NewPeer(idgen.PeerIDV1(fmt.Sprintf("127.0.0.%d", i)), mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(idgen.PeerIDV1(fmt.Sprintf("127.0.0.%d", i)), mockTask, mockHost) mockPeers = append(mockPeers, peer) } @@ -1769,7 +1758,7 @@ func TestScheduling_ConstructSuccessNormalTaskResponse(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - candidateParents := []*resource.Peer{resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost, resource.WithRange(nethttp.Range{ + candidateParents := []*resource.Peer{resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost, resource.WithRange(nethttp.Range{ Start: 1, Length: 10, }))} @@ -1820,9 +1809,9 @@ func TestScheduling_ConstructSuccessPeerPacket(t *testing.T) { mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) - parent := resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost) - candidateParents := []*resource.Peer{resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockResourceConfig, mockTask, mockHost)} + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) + parent := resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost) + candidateParents := []*resource.Peer{resource.NewPeer(idgen.PeerIDV1("127.0.0.1"), mockTask, mockHost)} tc.expect(t, ConstructSuccessPeerPacket(peer, parent, candidateParents), parent, candidateParents) }) diff --git a/scheduler/service/service_v1.go b/scheduler/service/service_v1.go index 56097685d7d..5d5317180d7 100644 --- a/scheduler/service/service_v1.go +++ b/scheduler/service/service_v1.go @@ -882,7 +882,7 @@ func (v *V1) storePeer(ctx context.Context, id string, priority commonv1.Priorit } } - peer := resource.NewPeer(id, &v.config.Resource, task, host, options...) + peer := resource.NewPeer(id, task, host, options...) v.resource.PeerManager().Store(peer) peer.Log.Info("create new peer") return peer diff --git a/scheduler/service/service_v1_test.go b/scheduler/service/service_v1_test.go index cac0f77266a..85a4651639a 100644 --- a/scheduler/service/service_v1_test.go +++ b/scheduler/service/service_v1_test.go @@ -192,24 +192,13 @@ var ( mockTaskFilteredQueryParams = []string{"bar"} mockTaskHeader = map[string]string{"Content-Length": "100", "Range": "bytes=0-99"} mockTaskPieceLength int32 = 2048 - mockResourceConfig = &config.ResourceConfig{ - Task: config.TaskConfig{ - DownloadTiny: config.DownloadTinyConfig{ - Scheme: config.DefaultResourceTaskDownloadTinyScheme, - Timeout: config.DefaultResourceTaskDownloadTinyTimeout, - TLS: config.DownloadTinyTLSClientConfig{ - InsecureSkipVerify: true, - }, - }, - }, - } - mockHostID = idgen.HostIDV2("127.0.0.1", "foo") - mockSeedHostID = idgen.HostIDV2("127.0.0.1", "bar") - mockHostLocation = "bas" - mockHostIDC = "baz" - mockPeerID = idgen.PeerIDV2() - mockSeedPeerID = idgen.PeerIDV2() - mockPeerRange = nethttp.Range{ + mockHostID = idgen.HostIDV2("127.0.0.1", "foo") + mockSeedHostID = idgen.HostIDV2("127.0.0.1", "bar") + mockHostLocation = "bas" + mockHostIDC = "baz" + mockPeerID = idgen.PeerIDV2() + mockSeedPeerID = idgen.PeerIDV2() + mockPeerRange = nethttp.Range{ Start: 0, Length: 10, } @@ -921,11 +910,11 @@ func TestServiceV1_RegisterPeerTask(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - mockPeer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + mockPeer := resource.NewPeer(mockPeerID, mockTask, mockHost) mockSeedHost := resource.NewHost( mockRawSeedHost.ID, mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type) - mockSeedPeer := resource.NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, mockSeedHost) + mockSeedPeer := resource.NewPeer(mockSeedPeerID, mockTask, mockSeedHost) tc.mock( tc.req, mockPeer, mockSeedPeer, scheduling, res, hostManager, taskManager, peerManager, @@ -1185,7 +1174,7 @@ func TestServiceV1_ReportPieceResult(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - mockPeer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + mockPeer := resource.NewPeer(mockPeerID, mockTask, mockHost) tc.mock(mockPeer, res, peerManager, res.EXPECT(), peerManager.EXPECT(), stream.EXPECT()) tc.expect(t, mockPeer, svc.ReportPieceResult(stream)) }) @@ -1367,7 +1356,7 @@ func TestServiceV1_ReportPeerResult(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - mockPeer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + mockPeer := resource.NewPeer(mockPeerID, mockTask, mockHost) tc.run(t, mockPeer, tc.req, svc, mockPeer, res, peerManager, res.EXPECT(), peerManager.EXPECT(), storage.EXPECT(), dynconfig.EXPECT()) }) } @@ -1726,7 +1715,7 @@ func TestServiceV1_AnnounceTask(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - mockPeer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + mockPeer := resource.NewPeer(mockPeerID, mockTask, mockHost) tc.mock(mockHost, mockTask, mockPeer, hostManager, taskManager, peerManager, res.EXPECT(), hostManager.EXPECT(), taskManager.EXPECT(), peerManager.EXPECT()) tc.expect(t, mockTask, mockPeer, svc.AnnounceTask(context.Background(), tc.req)) @@ -1923,7 +1912,7 @@ func TestServiceV1_LeaveTask(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockSeedPeerID, mockTask, mockHost) svc := NewV1(&config.Config{Scheduler: mockSchedulerConfig, Metrics: config.MetricsConfig{EnableHost: true}}, res, scheduling, dynconfig, storage) tc.mock(peer, peerManager, scheduling.EXPECT(), res.EXPECT(), peerManager.EXPECT()) @@ -2565,7 +2554,7 @@ func TestServiceV1_LeaveHost(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - mockPeer := resource.NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, host) + mockPeer := resource.NewPeer(mockSeedPeerID, mockTask, host) svc := NewV1(&config.Config{Scheduler: mockSchedulerConfig, Metrics: config.MetricsConfig{EnableHost: true}}, res, scheduling, dynconfig, storage) tc.mock(host, mockPeer, hostManager, scheduling.EXPECT(), res.EXPECT(), hostManager.EXPECT()) @@ -2670,7 +2659,7 @@ func TestServiceV1_prefetchTask(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) task := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, task, mockHost) + peer := resource.NewPeer(mockPeerID, task, mockHost) svc := NewV1(tc.config, res, scheduling, dynconfig, storage) taskManager := resource.NewMockTaskManager(ctl) @@ -3140,8 +3129,8 @@ func TestServiceV1_triggerTask(t *testing.T) { mockRawSeedHost.ID, mockRawSeedHost.IP, mockRawSeedHost.Hostname, mockRawSeedHost.Port, mockRawSeedHost.DownloadPort, mockRawSeedHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - mockPeer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) - mockSeedPeer := resource.NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, mockSeedHost) + mockPeer := resource.NewPeer(mockPeerID, mockTask, mockHost) + mockSeedPeer := resource.NewPeer(mockSeedPeerID, mockTask, mockSeedHost) seedPeer := resource.NewMockSeedPeer(ctl) tc.run(t, svc, mockTask, mockHost, mockPeer, mockSeedPeer, dynconfig, seedPeer, res.EXPECT(), seedPeer.EXPECT(), dynconfig.EXPECT()) }) @@ -3338,7 +3327,7 @@ func TestServiceV1_storePeer(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - mockPeer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + mockPeer := resource.NewPeer(mockPeerID, mockTask, mockHost) gomock.InOrder( mr.PeerManager().Return(peerManager).Times(1), @@ -3461,7 +3450,7 @@ func TestServiceV1_triggerSeedPeerTask(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) task := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, task, mockHost) + peer := resource.NewPeer(mockPeerID, task, mockHost) svc := NewV1(&config.Config{Scheduler: mockSchedulerConfig, SeedPeer: mockSeedPeerConfig}, res, scheduling, dynconfig, storage) tc.mock(task, peer, seedPeer, res.EXPECT(), seedPeer.EXPECT()) @@ -3542,7 +3531,7 @@ func TestServiceV1_handleBeginOfPiece(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV1(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.mock(peer, scheduling.EXPECT()) @@ -3577,7 +3566,7 @@ func TestServiceV1_handlePieceSuccess(t *testing.T) { DownloadCost: 1, }, }, - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), mock: func(peer *resource.Peer, peerManager resource.PeerManager, mr *resource.MockResourceMockRecorder, mp *resource.MockPeerManagerMockRecorder) { peer.FSM.SetState(resource.PeerStateRunning) gomock.InOrder( @@ -3612,7 +3601,7 @@ func TestServiceV1_handlePieceSuccess(t *testing.T) { DownloadCost: 1, }, }, - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), mock: func(peer *resource.Peer, peerManager resource.PeerManager, mr *resource.MockResourceMockRecorder, mp *resource.MockPeerManagerMockRecorder) { peer.FSM.SetState(resource.PeerStateRunning) gomock.InOrder( @@ -3647,7 +3636,7 @@ func TestServiceV1_handlePieceSuccess(t *testing.T) { DownloadCost: 1, }, }, - peer: resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost), + peer: resource.NewPeer(mockPeerID, mockTask, mockHost), mock: func(peer *resource.Peer, peerManager resource.PeerManager, mr *resource.MockResourceMockRecorder, mp *resource.MockPeerManagerMockRecorder) { peer.FSM.SetState(resource.PeerStateBackToSource) }, @@ -3871,8 +3860,8 @@ func TestServiceV1_handlePieceFail(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) - parent := resource.NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) + parent := resource.NewPeer(mockSeedPeerID, mockTask, mockHost) seedPeer := resource.NewMockSeedPeer(ctl) svc := NewV1(tc.config, res, scheduling, dynconfig, storage) @@ -3996,7 +3985,7 @@ func TestServiceV1_handlePeerSuccess(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV1(&config.Config{Scheduler: mockSchedulerConfig, Metrics: config.MetricsConfig{EnableHost: true}}, res, scheduling, dynconfig, storage) tc.mock(peer) @@ -4077,8 +4066,8 @@ func TestServiceV1_handlePeerFail(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, mockHost) - child := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockSeedPeerID, mockTask, mockHost) + child := resource.NewPeer(mockPeerID, mockTask, mockHost) tc.mock(peer, child, scheduling.EXPECT()) svc.handlePeerFailure(context.Background(), peer) diff --git a/scheduler/service/service_v2.go b/scheduler/service/service_v2.go index 2bf6c14ac8a..3f6442bc7a8 100644 --- a/scheduler/service/service_v2.go +++ b/scheduler/service/service_v2.go @@ -1222,7 +1222,7 @@ func (v *V2) handleResource(ctx context.Context, stream schedulerv2.Scheduler_An options = append(options, resource.WithRange(http.Range{Start: int64(download.Range.GetStart()), Length: int64(download.Range.GetLength())})) } - peer = resource.NewPeer(peerID, &v.config.Resource, task, host, options...) + peer = resource.NewPeer(peerID, task, host, options...) v.resource.PeerManager().Store(peer) } diff --git a/scheduler/service/service_v2_test.go b/scheduler/service/service_v2_test.go index 5ef3bf32765..52baef10455 100644 --- a/scheduler/service/service_v2_test.go +++ b/scheduler/service/service_v2_test.go @@ -250,7 +250,7 @@ func TestServiceV2_StatPeer(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, mockHost, resource.WithRange(mockPeerRange)) + peer := resource.NewPeer(mockSeedPeerID, mockTask, mockHost, resource.WithRange(mockPeerRange)) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig, Metrics: config.MetricsConfig{EnableHost: true}}, res, scheduling, dynconfig, storage) tc.mock(peer, peerManager, res.EXPECT(), peerManager.EXPECT()) @@ -321,7 +321,7 @@ func TestServiceV2_DeletePeer(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, mockHost, resource.WithRange(mockPeerRange)) + peer := resource.NewPeer(mockSeedPeerID, mockTask, mockHost, resource.WithRange(mockPeerRange)) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig, Metrics: config.MetricsConfig{EnableHost: true}}, res, scheduling, dynconfig, storage) tc.mock(peer, peerManager, res.EXPECT(), peerManager.EXPECT()) @@ -945,7 +945,7 @@ func TestServiceV2_DeleteHost(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - mockPeer := resource.NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, host) + mockPeer := resource.NewPeer(mockSeedPeerID, mockTask, host) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig, Metrics: config.MetricsConfig{EnableHost: true}}, res, scheduling, dynconfig, storage) tc.mock(host, mockPeer, hostManager, res.EXPECT(), hostManager.EXPECT()) @@ -1246,8 +1246,8 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) - seedPeer := resource.NewPeer(mockSeedPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) + seedPeer := resource.NewPeer(mockSeedPeerID, mockTask, mockHost) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.run(t, svc, tc.req, peer, seedPeer, hostManager, taskManager, peerManager, stream, res.EXPECT(), hostManager.EXPECT(), taskManager.EXPECT(), peerManager.EXPECT(), stream.EXPECT(), scheduling.EXPECT()) @@ -1339,7 +1339,7 @@ func TestServiceV2_handleDownloadPeerStartedRequest(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.run(t, svc, peer, peerManager, res.EXPECT(), peerManager.EXPECT(), dynconfig.EXPECT()) @@ -1431,7 +1431,7 @@ func TestServiceV2_handleDownloadPeerBackToSourceStartedRequest(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.run(t, svc, peer, peerManager, res.EXPECT(), peerManager.EXPECT(), dynconfig.EXPECT()) @@ -1502,7 +1502,7 @@ func TestServiceV2_handleRescheduleRequest(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.run(t, svc, peer, peerManager, res.EXPECT(), peerManager.EXPECT(), scheduling.EXPECT()) @@ -1575,7 +1575,7 @@ func TestServiceV2_handleDownloadPeerFinishedRequest(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.run(t, svc, peer, peerManager, res.EXPECT(), peerManager.EXPECT(), dynconfig.EXPECT()) @@ -1774,7 +1774,7 @@ func TestServiceV2_handleDownloadPeerBackToSourceFinishedRequest(t *testing.T) { mockHost.DownloadPort = int32(port) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.run(t, svc, tc.req, peer, peerManager, res.EXPECT(), peerManager.EXPECT(), dynconfig.EXPECT()) @@ -1846,7 +1846,7 @@ func TestServiceV2_handleDownloadPeerFailedRequest(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.run(t, svc, peer, peerManager, res.EXPECT(), peerManager.EXPECT(), dynconfig.EXPECT()) @@ -1965,7 +1965,7 @@ func TestServiceV2_handleDownloadPeerBackToSourceFailedRequest(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.run(t, svc, peer, peerManager, res.EXPECT(), peerManager.EXPECT(), dynconfig.EXPECT()) @@ -2123,7 +2123,7 @@ func TestServiceV2_handleDownloadPieceFinishedRequest(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.run(t, svc, tc.req, peer, peerManager, res.EXPECT(), peerManager.EXPECT()) @@ -2248,7 +2248,7 @@ func TestServiceV2_handleDownloadPieceBackToSourceFinishedRequest(t *testing.T) mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.run(t, svc, tc.req, peer, peerManager, res.EXPECT(), peerManager.EXPECT()) @@ -2358,7 +2358,7 @@ func TestServiceV2_handleDownloadPieceFailedRequest(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.run(t, svc, tc.req, peer, peerManager, res.EXPECT(), peerManager.EXPECT()) @@ -2423,7 +2423,7 @@ func TestServiceV2_handleDownloadPieceBackToSourceFailedRequest(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.run(t, svc, tc.req, peer, peerManager, res.EXPECT(), peerManager.EXPECT()) @@ -2636,7 +2636,7 @@ func TestServiceV2_handleResource(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - mockPeer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + mockPeer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV2(&config.Config{Scheduler: mockSchedulerConfig}, res, scheduling, dynconfig, storage) tc.run(t, svc, tc.download, stream, mockHost, mockTask, mockPeer, hostManager, taskManager, peerManager, res.EXPECT(), hostManager.EXPECT(), taskManager.EXPECT(), peerManager.EXPECT()) @@ -2912,7 +2912,7 @@ func TestServiceV2_downloadTaskBySeedPeer(t *testing.T) { mockRawHost.ID, mockRawHost.IP, mockRawHost.Hostname, mockRawHost.Port, mockRawHost.DownloadPort, mockRawHost.Type) mockTask := resource.NewTask(mockTaskID, mockTaskURL, mockTaskTag, mockTaskApplication, commonv2.TaskType_STANDARD, mockTaskFilteredQueryParams, mockTaskHeader, mockTaskBackToSourceLimit, resource.WithDigest(mockTaskDigest), resource.WithPieceLength(mockTaskPieceLength)) - peer := resource.NewPeer(mockPeerID, mockResourceConfig, mockTask, mockHost) + peer := resource.NewPeer(mockPeerID, mockTask, mockHost) svc := NewV2(&tc.config, res, scheduling, dynconfig, storage) tc.run(t, svc, peer, seedPeerClient, res.EXPECT(), seedPeerClient.EXPECT())