aboutsummaryrefslogtreecommitdiffstats
path: root/docker
AgeCommit message (Collapse)AuthorFilesLines
2020-03-05Add oauth1 as optional Keystone featuresCédric Ollivier1-2/+3
It was not listed in Keystone which defacto sets it as optional. It may be considered as mandatory in a second step. It should be noted that it's not working in CNTT RI and there is no true plan to update CNTT RI from the time writing. Close cntt-n/CNTT#1253 Change-Id: If7ee4efeafc05638173a51ce997ecbdcaabfc79c Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 13b8fd9d9f54fdac817b99f4506a1171ab0a9481)
2020-03-03Blacklist tests which are not mandatory in CNTTCédric Ollivier2-0/+49
CNTT rally_jobs must conform with CNTT RC whatever the OpenStack version under tests. All tests added by neutron since Hunter must be skipped in conformance. Of course, the IaaS verification part is unchanged as this tests are relevant. Change-Id: I4cfb4ae725e5ce9125f4ed25489dd003e16695f4 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit a0bbd644a0694bee89032f1176d9c60dd7ac7f8d)
2020-03-03Add OVN Controller Gateway agent in neutron_bind_l2_agent_typesCédric Ollivier1-1/+2
It avoids blacklisting NeutronNetworks.create_and_bind_ports in case of OVN. It conforms with the upstream testing [1] and then reverts the previous change [2]. [1] https://github.com/openstack/networking-ovn/blob/master/zuul.d/networking-ovn-jobs.yaml#L299 [2] https://git.opnfv.org/functest/commit/?id=8e297c49c481961959b29c2080cc059fcc84e9ee This reverts commit 8e297c49c481961959b29c2080cc059fcc84e9ee. Change-Id: I95f1b7146e636ae3ebe9f995733e53ad1b276d26 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 397ef4366cb3067c1a25999eab0e928937cc6e04)
2020-02-28Clean former dirsCédric Ollivier1-1/+1
Change-Id: I9d6d2ba6bfdaac26e4c7d6ea6aaf69b000869b2d Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2020-02-21Skip a few tests in tempest_full and tempest_slowCédric Ollivier1-2/+5
It completes the first patch updating neutron-tempest-plugin-api [1]. The same dvr regex is used in tempest_slow, a new one is defined for tempest_full which will be added in CNTT doc (test_network_basic_ops.TestNetworkBasicOps.test_router_rescheduling). Close cntt-n/CNTT#1106 Change-Id: I9fd79c9a82bb1f84a622ccb9ea316b8e43273e2a Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 9ebccf93627d929fbf8738fbc9ce5ddb5f12c649)
2020-02-18Update test case list in neutron-tempest-plugin-apiCédric Ollivier1-3/+20
It takes into account latest changes in CNTT [1] [1] https://github.com/cntt-n/CNTT/pull/1107 Close cntt-n/CNTT#1106 Change-Id: I3212d1b765f7fd657ed603ed520d79fccae80bfa Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit a149d2fa5b8bfcfd1dcd225c0f4bc6f4d949e420)
2020-02-16Exclude vxlan testing in CNTTCédric Ollivier1-1/+5
Close cntt-n/CNTT#1077 Change-Id: If9c0f52138e9f669f17933c42906936e2e196b2a Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 6a67a88d9511226aba749cdd73a4570eab38bfeb)
2020-02-16Set dhcp_agent_scheduler as optionalCédric Ollivier1-3/+5
dhcp_agent_scheduler [1] indirectly forces the Neutron backends as highlighted by OVN testing. [1] https://specs.openstack.org/openstack/neutron-specs/specs/api/agent_schedulers.html Close cntt-n/CNTT#1073 Change-Id: Iafa3ad7f15dc157c0362ffa59eed31b89bf368e7 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 9f06dba2a6b5e4eb22652a5e17947dab612f53a4)
2020-02-16Order regex in neutron-tempest-plugin-api (CNTT)Cédric Ollivier1-5/+5
It mostly adds admin as prefix. Change-Id: Ic2e723b858ff1f3e26478f6037a19db1fd52e4aa Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit a617bcfd4e5754adcf55aa1b69cf8397ed3571cd)
2020-01-26Remove Neutron from upper-constraintsCédric Ollivier1-0/+1
It takes into account the last change in Train upper-constraints.txt [1]. We could also leverage on neutron package instead but only Train is putting this constraint from the time being. [1] https://github.com/openstack/requirements/commit/1d0f6fc806ec197beee808674c57a7aa6b281e81 Change-Id: Icdbf13c2f6aa59ba48baeaf4e8f84cc041659f4f Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2020-01-14Update ODL git commit id (python3 migration)Cédric Ollivier1-1/+1
https://jira.opendaylight.org/browse/INTTEST-65 Co-Authored-By: Alexandru Avadanii <alexandru.avadanii@enea.com> Change-Id: I40c9df7c7d80fc8d9709f0b75dda333d9ed9da12 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit be12a86a0afd2f7943377e1df94cfe00efbece07)
2020-01-09Remove test_server_connectivity_cold_migration_revert from ComplianceCédric Ollivier1-1/+2
It's skipped due to an upstream bug [1] highlighted by Jerma runs [2]. [1] https://launchpad.net/bugs/1836595 [2] http://artifacts.opnfv.org/functest/UXR96KDNMPTP/functest-opnfv-functest-smoke-cntt-jerma-tempest_slow-run-4/tempest_slow/tempest-report.html Change-Id: Ib4cbf0e6e8e010febd39dec8dd8ecd773ad28c3e Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 16a3c9c3cee0701c05168873d8bd8d4c66d0aa51)
2019-12-30Remove test_server_connectivity_cold_migration_revert from exclusion listCédric Ollivier1-2/+1
It has to be part of the Compliance testing Co-Authored-By: Deepanshu Bhatia <deepanshu@voereir.com> Change-Id: I16d35e3c3a14b6b18901b6b27e50fc709ce0559f Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 4cbdef191c5c0f08043291f7c11167cd649880cc)
2019-12-27Set port_security: true in tempest_conf.yamlCédric Ollivier2-2/+5
It allows running test_boot_into_disabled_port_security_network_without_secgroup. It also sets a few default values. Change-Id: I851c5d13705e0419a7e664e05d32eec0efb417c6 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 9e128dcdbf26ace6790e9c0307b7e6e37763f43b)
2019-12-22Fix Vmtp cloneCédric Ollivier1-2/+2
It also selects the last commit [1]. https://opendev.org/x/vmtp/commit/34a82c9f3598ec7f5d8de0a6d5139b92931db4cc Change-Id: Ie2cd33ee6b88dda4779c58c90b1692dbd7699f6b Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-12-07Run tests sequentially in tempest_slowCédric Ollivier2-2/+2
concurrency is set to 2 in the upstream job [1] but it conflicts with serial also passed. As it fails once without any other test in parallel, the number of executors should be decreased [2]. [0] https://799189c1bf6a1aa9c8de-48970bda2a30ee836a70a12e61555969.ssl.cf1.rackcdn.com/694893/1/check/tempest-slow/1bf5851/job-output.txt [1] http://artifacts.opnfv.org/functest/functest-opnfv-functest-smoke-cntt-hunter-tempest_slow-run-7/tempest_slow/tempest-report.html Change-Id: I51bc9a584cf4b32a88b7a84d9387e7b8e90281c2 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 83c3cc3f9b71de33cd1e88c11da4879156be7cf3)
2019-11-26Add tempest_scenario and tempest_slow in smoke-cnttCédric Ollivier1-0/+49
The testcases related to ipv6 are currenty not executed because they cannot be covered by our SUTs. Close cntt-n/CNTT#696 Change-Id: Ic0ca3818011bede965702e778f37752059c86173 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit a1c9756dbf867a6cfacffdecadbaf66c412c129f)
2019-11-26Add functest-benchmarking-cnttCédric Ollivier2-0/+74
It configures Rally to verify the mandatory services asked by CNTT. It also prepares the next benchmarking (API and dataplane) KPIs. Change-Id: Ie8701ddfa1a497f8b1a6f839e6ff7a77849b618c Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 92460cf5330c29eb483d903f3aa659cbad1d58b8)
2019-11-26Complete tempest_full for CNTT ComplianceCédric Ollivier2-5/+31
It forbids skipping any test and counts the testcases executed. It mosly avoids running tests accoring to the upstream skip tests (known bugs), related to nova-network, glance v1, keystone v2 and all features defined as optional by CNTT. It fixes an issue highlighted by yallint. Close cntt-n/CNTT#624 Change-Id: Ib4678cb9e9fc37b16fcf21d8418931eae0f667d0 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 21a0708799bd0fa61e086dc6f1c0f35c1450b55c)
2019-11-26Add tempest_full in ComplianceCédric Ollivier3-0/+108
Change-Id: Ib2898d48d21704a06cf1f4574df81f4f0dae3f52 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 97dffc8fa0c297854d2cb96e10833c40a7c949fe)
2019-11-25Add rally_sanityCédric Ollivier1-1/+23
Gnocchi and Barbican are not currently selected by CNTT. Then they are removed from the optional list. Change-Id: I46d16b2cabd832b2655606b0708a6f43721cb3c5 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit d673cd586a464079c35660e828d81952f2707b4f)
2019-11-24Switch to OPNFV Clearwater repositoryCédric Ollivier1-45/+77
Project Clearwater is backed by Metaswitch Networks [1]. They will therefore not be reinstating the 14.04 Project Clearwater repo server. Then all binaries have been compiled and published on http://artifacts.opnfv.org/functest/clearwater/debian Then it updates sources.list.d/clearwater.list [1] https://www.projectclearwater.org/ Change-Id: I529e59f8aeeafb96bafb7da8a1cce5c4c5a9e031 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 0159c469d752fd41876c81995e113562650f73a0)
2019-11-18Add tempest_keystone in CNTT API ComplianceCédric Ollivier1-0/+18
It excludes test_federated_authentication as federation is currently optional [1]. Close cntt-n/CNTT#624 [1] https://github.com/collivier/CNTT/commit/2e4ae5d0f4ebf4ef4bbc2504ed6cd46388361c09 Change-Id: Ie322e7912c429543c5da92f8afb33de3e8e75c8a Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 8384c497bd55b0e31e971b0e01b2f3744c07eccb)
2019-11-16Update to Xtesting 0.83Cédric Ollivier1-1/+1
It supports mimetypes and then eases reading the reports from browser. Change-Id: Ic38fca9fb05ca1ad76b589800b22bc78882c7806 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 9df8ee861d2161a105598474092e5e83da88a354)
2019-11-16Optimize lxml build if armCédric Ollivier1-0/+1
Else it raises timeouts on travis-ci.org: https://www.travis-ci.org/collivier/functest/builds/612068457 https://www.travis-ci.org/collivier/functest/builds/612116863 https://www.travis-ci.org/collivier/functest/jobs/612116916 Change-Id: Id34144ebcdf3f418d5a07068434eb7aa96b023d2 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 6fd2216a21aad00a0c6fba272f04ee0319fc119a)
2019-11-14Fix regex (qos extension is mandatory in CNTT)Cédric Ollivier1-2/+1
Change-Id: I30eb30a73dda2202035833ac3d9fa2ab472dceb0 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-11-13Fix parent container in smoke-cntt/DockerfileCédric Ollivier1-1/+1
Change-Id: I0c3e30b75ffb43448dcd8b42315603b270689c3c Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-11-13Update neutron-tempest-plugin-api regex (CNTT)Cédric Ollivier1-8/+3
It conforms with the last updates in API [1] adding Neutron QoS and Trunk as mandatory. QosMinimumBandwidthRuleTestJSON is skipped as it's not covered by OpenStack (and Functest) gates. [1] https://github.com/cntt-n/CNTT/pull/463 Change-Id: I54ff5e1fdb9b1e7265c63e3f66dfcf2f10db07d5 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 0c07bc255968d21558d3aec8ac7e4dc7659a69a2)
2019-11-13Add tempest_cinder in complianceCédric Ollivier1-219/+7
It conforms with Cinder Microversions and Feature [1]. It cleans the testcases which require CNTT updates (Keystone, Glance, Nova, etc.) [1] https://github.com/cntt-n/CNTT/pull/577 Closes cntt-n/CNTT#593 Change-Id: I8e719e9f48d70a860c0f879117144bb3ce6f4875 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 91de272c725a9a4d9d5b97381e574802036da8b7)
2019-11-09Publish functest-cntt-smokeCédric Ollivier2-0/+289
It tunes neutron-tempest-plugin-api to avoid skipping any test (conformance as expected by CNTT). Until CNTT clearly defines the optional and mandatory neutron extensions, it selects the OpenStack and Functest gate values as default. The next Neutron extensions are considered as optional (still verified by functest-smoke): - logging - network-segment-range - port-resource-request - qos - trunk - metering - floating-ip-port-forwarding - uplink-status-propagation - dns-domain-ports - dns-integration - router-interface-fip - router-admin-state-down-before-update - extraroute-atomic - subnetpool-prefix-ops The next tests (tempest_full, tempest_slow, tempest_scenario, etc.) will be updated in next changes. Change-Id: I003d1e509cd6dc7bd58261f27676fb53cb79e68c Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 1456f68e90103afab958ae8a305c840e6fa29cf7)
2019-10-29Add keystone-tempest-pluginCédric Ollivier2-2/+23
It adds tempest_keystone which runs the tests proposed by keystone-tempest-plugin [1]. [1] https://opendev.org/openstack/keystone-tempest-plugin Change-Id: I83db584c37fe63a549ccf396b03e034778254b3a Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 22ec0c1008b81f368476d8cea84117a93d15dab2)
2019-10-29Add cinder-tempest-pluginCédric Ollivier2-1/+26
It adds tempest_cinder which runs the tests proposed by cinder-tempest-plugin [1]. test_incremental_backup is disabled because it currently fails vs Functest SUT (under analysis). [1] https://opendev.org/openstack/cinder-tempest-plugin Change-Id: I85b255eb05b9ab1c74c3829148da5230d6c7647e Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit e46aa41172fa1bf63364505fbbf922323788ac98)
2019-10-29Add healthcheck Horizon testsCédric Ollivier2-3/+24
It runs TestDashboardBasicOps as proposed by tempest-horizon [1]. It's skipped if DASHBOARD_URL is unset (default). [1] https://opendev.org/openstack/tempest-horizon Change-Id: I1b6b5609412770609f412da4927641588b173ed6 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 7b03643170974d4307e0f630e4c79340df98e06f)
2019-10-26Update RefStack lists to 2019.06Cédric Ollivier4-3/+12
Change-Id: I9d3abc3996857d8905007640250b94025735809c Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit de7a2d821890f8bf1c5a9215def91ee136e867e4)
2019-10-26Allow checking Tests countCédric Ollivier1-0/+3
It meets CNTT requirements (verifying conformance with a reference implementation) and may protect vs synchronization issues (see gambia refstack_defcore). Change-Id: I842bc4ed91eec6bc545c489e3686d0d41dae7b44 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 7c67624b8ee7f7a9a7fb36bb25e9881a63c982d4)
2019-10-08Publish first Functest Jerma containersCédric Ollivier5-19/+19
It leverages on latest OpenStack Train. Change-Id: I7699c7b6cfe052f29ac74aa4dbf0873a0194c26d Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-09-14Remove any instance quota in tempest_scenarioCédric Ollivier1-1/+1
The next testcase can reach the default limit if lots of computes available [1]. tempest.scenario.test_server_multinode.TestServerMultinode.test_schedule_to_all_nodes [1] http://artifacts.opnfv.org/functest/functest-opnfv-functest-smoke-hunter-tempest_scenario-run-325/results/tempest_scenario/test_raw_list.txt Change-Id: Ibf68e2a367199afee3f6198ebf683be6cd938d94 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-09-12Remove cloudify-rest-client-py3.patchCédric Ollivier1-234/+0
Functest currently installs the active fork via upper-constraints [1]. This patch can be safely removed. [1] https://gerrit.opnfv.org/gerrit/c/functest/+/68264/7/upper-constraints.txt Change-Id: Ib706df261e8450883fa819e1b4e0cc48043621f2 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-08-31Remove Features containersCédric Ollivier4-113/+0
Most the features are stopped and Functest shouldn't host dead code. Functest is a framework (Docker and Python modules) which can be still reused by any third-party (OPNFV Feature or anything else) in its tree and CI. Change-Id: Ia8475ce295b2cdcddbfcfc5b17ea2ab9e51a8afb Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-08-28Merge "Add tempest slow"Cedric Ollivier1-0/+17
2019-08-27Add Octavia testingCédric Ollivier2-2/+27
It integrates Octavia Tempest Plugin. The new testcase octavia currently covers API only [1]. [1] https://logs.opendev.org/46/674846/2/check/octavia-v2-dsvm-noop-api/fe37c58/testr_results.html.gz Change-Id: I2a11a19aa0c43701499dc9e17bd69b9387b53b58 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-08-26Add tempest slowCédric Ollivier1-0/+17
It conforms with tempest-slow-py3 executed in Neutron Gates [1]. [1] https://logs.opendev.org/68/672568/6/check/tempest-slow-py3/49fece6/testr_results.html.gz Change-Id: I0c1c6f7be38c9fcdd1a32e5cfa2bc4d8414885e0 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-08-26Switch to the classical ping (iputils)Cédric Ollivier1-1/+1
Ping provided by busybox doesn't support -M (pmtudisc_opt) which is asked by [1] (part of tempest_slow). [1] tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_mtu_sized_frames Change-Id: I75340f239ae372b56cffe9c30c6242878c06ef74 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-07-27Switch to Python 3.7 and Alpine 3.10Cédric Ollivier6-12/+9
It also allows building docs as doc8 is broken due to latest OpenStack's upper-constraints. pylint is updated to 2.3.1 (lastest py3.7 version) It disables perm as umask is currently false on lf-virtual1. Change-Id: If09d4796d48b7d0591e7926621d3bbf5ca1b6c24 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-07-21Conform with new ODL urlsCédric Ollivier1-1/+1
It now clones https://git.opendaylight.org/gerrit/integration/test Change-Id: Icff918305de1092cf6e985490188d409178273e1 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-07-09Remove functest-tempestCédric Ollivier8-51/+14
Functest Kubernetes directly calls Rally API which force dependencies to rally and its plugins. Then it installs rally, rally-openstack and xrally-kubernetes as Functest dependencies. Change-Id: I18e0c2ba30588707beba1746aa4bfbc1ab7509c6 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-06-28Add Barbican scenario in RallyCédric Ollivier2-0/+2
It doesn't run BarbicanSecrets.create_symmetric_and_delete which is currently failing [1]. Barbican testing is optional as Gnocchi. [1] https://bugs.launchpad.net/rally/+bug/1819285 Change-Id: I9121ce3c9f29ba05069c905325327d4c4d0b9e71 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-06-09Blacklist test_list_metadef_namespaces (Patrole)Cédric Ollivier1-0/+1
It seems dependent on test order (404 if no namespace) and sometimes fails in gates [1][2][3]. It will be enabled as soon it's fixed upstream or if SUT is wrong here. [1] https://build.opnfv.org/ci/job/functest-opnfv-functest-smoke-latest-patrole-run/ [2] https://build.opnfv.org/ci/job/functest-opnfv-functest-smoke-iruya-patrole-run/ [3] https://build.opnfv.org/ci/job/functest-opnfv-functest-smoke-hunter-patrole-run/ Change-Id: I68e71e9b0753089e5620d6689ddff37fe66aeab7 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-06-01Stop installing sfc and bgpvpn tempest pluginsCédric Ollivier2-4/+3
They are being integrated into neutron tempest plugin [1][2]. It will fix our gates [3]. [1] https://github.com/openstack/neutron-tempest-plugin/commit/1a987ecb4d310328cc4c2c5628dc5018dc7afc48 [2] https://github.com/openstack/neutron-tempest-plugin/commit/8dd49aac9fa27166d76755c7d62ea9f0553d8d74 [3] https://build.opnfv.org/ci/job/functest-latest-gate/199/ Change-Id: Iafcfd0cb9b33a271cf37f269d9a3a2086eb67414 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-05-28Remove PyNacl contraints in FeaturesCédric Ollivier7-1/+7
It conforms with "Install PyNaCl via package" [1]. functest-feature may raise timeouts when cross-compiling PyNacl [2]. [1] https://gerrit.opnfv.org/gerrit/#/c/67956/ [2] https://travis-ci.org/collivier/functest/jobs/538119733 Change-Id: I986677b869f62caee6be219ee1de622b7bc20ca4 Signed-off-by: Cédric Ollivier <ollivier.cedric@gmail.com>