Age | Commit message (Collapse) | Author | Files | Lines |
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Install RabitMQ for RPC messaging between processes"
- Install RabitMQ for RPC messaging between processes
In NetworkServices Tescases, the TGs (traffic generators) run the traffic in
a separate process. In order to synchronize the traffic injection and the
runner interval loops, an RPC server is needed to publish/subscribe events.
RabbitMQ is a well supported MQ in Linux (used in OpenStack or collectd)
and supported by Python implemented projects like oslo.messaging [1].
RabbitMQ default configuration:
- Port: 5672
- User/password: yardstick/yardstick
[1]https://github.com/openstack/oslo.messaging
JIRA: YARDSTICK-1068
Change-Id: I15db294ee430fb38e574a59b9ce1bf0f8b651a67
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
* Update docs/submodules/doctor from branch 'master'
- optimize the fault notification test
Change-Id: I47572b4515049c49f9aa04bf7984757779a605f3
Signed-off-by: dongwenjuan <dong.wenjuan@zte.com.cn>
|
|
* Update docs/submodules/functest from branch 'master'
- Update Gambia Challenges presentation
It will be interesting to verify installers via
opnfv/functest-components too.
Change-Id: Ib5da2e35bce5f8a7013ad42b82b2f0e416129863
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
|
|
* Update docs/submodules/releng from branch 'master'
- Merge "create stable/fraser branch for compass"
- create stable/fraser branch for compass
Change-Id: I89834b6662459cdaaecec506e247c5f60302a075
Signed-off-by: wutianwei <wutianwei1@huawei.com>
|
|
* Update docs/submodules/releng from branch 'master'
- Merge "Fix Gerrit URL for Release Automation"
- Fix Gerrit URL for Release Automation
Includes logging more warning to help debug when things fail.
Change-Id: I25e9afc6b9f413d33368613291e718cf8ccd6335
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
|
|
* Update docs/submodules/releng from branch 'master'
- Merge "Restrict Files Release Automation Job Runs Against"
- Restrict Files Release Automation Job Runs Against
The merge job should only run when changes to the release yaml files are
made.
Change-Id: I12d37e465c664b48d4f07223f377a4ff7494ead7
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
|
|
* Update docs/submodules/releng from branch 'master'
- Merge "Fraser branch jobs for basic verification projects"
- Fraser branch jobs for basic verification projects
Most of these projects will not have a stable branch, but for those that
do follow the process they will need these jobs.
Change-Id: Id0e6cfa9716d72882c38b0fcb42b3ab420332a2e
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
|
|
* Update docs/submodules/releng from branch 'master'
- Merge "Remove KUBECONFIG from env_file"
- Remove KUBECONFIG from env_file
We have hardcoded /root/.kube/config as the default config file
inside functest-kubernetes container:
https://gerrit.opnfv.org/gerrit/#/c/53815/
Change-Id: I135f2009c61bb0238fcc3c9eb6d131305603f495
Signed-off-by: Linda Wang <wangwulin@huawei.com>
|
|
* Update docs/submodules/sdnvpn from branch 'master'
- xci: Lowercase ansible variables
Change-Id: I4aa8ca5f8fcd5626e4334fd1217930c065a1dc04
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
* Update docs/submodules/sfc from branch 'master'
- xci: Lowercase ansible variables
Change-Id: I35960abdab146ab2f80a1ad160489ee4877d42e4
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
* Update docs/submodules/releng from branch 'master'
- xci: Run ansible within venv
Change-Id: I20eb3c89c199b09ce839ae4ef6dfdcdd34dc58cf
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
* Update docs/submodules/nfvbench from branch 'master'
- Build docker container with 1.3.0
Change-Id: If8c4612c394990f2f7de73919381a229d8977433
Signed-off-by: ahothan <ahothan@cisco.com>
|
|
* Update docs/submodules/nfvbench from branch 'master'
- [NFVBENCH-77] Config plugin misses config options coming from REST requests
Pass latest config to get_run_spec()
Change-Id: I169f482faa0ba016d266db006da45e3fe0bb4331
Signed-off-by: ahothan <ahothan@cisco.com>
|
|
* Update docs/submodules/nfvbench from branch 'master'
- [NFVBENCH-76] REST API remains in running state in case of exception
catch the exception if result key is missing
Change-Id: Id212497bb760b835b542afd11ffbe149bc3d46e7
Signed-off-by: ahothan <ahothan@cisco.com>
|
|
* Update docs/submodules/releng-xci from branch 'master'
- Merge "xci: playbooks: Fix synchronization of external scenarios"
- xci: playbooks: Fix synchronization of external scenarios
The code was supposed to copy everything from
{{ xci_path }}/{{ scenario.role }} to the XCI roles directory but
external scenarios have their 'role' attribute relative to their
repository whereas internal one have it relative to the {{ xci_path }}.
As such, changes to external scenarios were not copied successfully
to the playbooks directory and their changes where never tested.
This removes the 'xci/scenarios/$scenario' part of the inbound
roles attribute to make all them relative to the
xci/scenarios/$scenario directory.
Change-Id: Id28671b30c8ee4aa6bc186444c0e5a3a3ea3d89b
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
* Update docs/submodules/releng from branch 'master'
- Stable branch for IPv6 Fraser Release
Change-Id: I43142004c2d44914baa8cfe79dd245c3613f465c
Signed-off-by: Bin Hu <bh526r@att.com>
|
|
* Update docs/submodules/functest from branch 'master'
- Add "Gambia Challenges" presentation
Change-Id: I16350b90f8bd8c5db7cad4aa28704b9bc908996c
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
|
|
* Update docs/submodules/nfvbench from branch 'master'
- NFVBENCH-56 Multi-chaining traffic starts may be too early for some runs
Change-Id: I332a53e3dd3e14e9cba4ad9f57bdfd094ffa4d3a
Signed-off-by: Kerim Gokarslan <kgokarsl@cisco.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Test case spec for SDN controller resilience in non-HA config"
- Test case spec for SDN controller resilience in non-HA config
This is the test case specification for verifying the HA capabilities of
a SDN controller running in a non-HA configuration.
JIRA: HA-31
JIRA: YARDSTICK-955
Change-Id: I10f9ce4a2888092c033d2c02bf9a5a950b8b12dc
Signed-off-by: Georg Kunz <georg.kunz@ericsson.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "ansible: disable Extra cloud image kernel stub"
- ansible: disable Extra cloud image kernel stub
JIRA: YARDSTICK-900
Change-Id: Icd3e5333fa30c77fec462dd26b70f0f28b8ca67f
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "use basename to delete yardstick image loop devices"
- use basename to delete yardstick image loop devices
the full path probably isn't matching, so just grep
for the basename
JIRA: YARDSTICK-1096
JIRA: YARDSTICK-1054
Change-Id: I403a7f51310c0856fae0f79d115ba0786b7c417c
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "TC042 bug fix"
- TC042 bug fix
JIRA:YARDSTICK-786
yardstick DPDK image have problems to build.
We will fix this by using nsb image
the pktgen DPDK testcase will use sampleVNF image
Change-Id: I24b7b6a9acfe21ec956fa9c4ee7ebe7ae1787dbb
Signed-off-by: liyin <liyin11@huawei.com>
|
|
* Update docs/submodules/nfvbench from branch 'master'
- NFVBENCH-78 TRex requires at least 16 payload bytes
Change-Id: Iacdafc624857698c8c9ac481daa050a42c1995b6
Signed-off-by: Kerim Gokarslan <kgokarsl@cisco.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Test case description and configuration file for yardstick_tc090:Control Node Openstack Service High Availability - Database Instances"
- Test case description and configuration file for yardstick_tc090:Control
Node Openstack Service High Availability - Database Instances
JIRA: YARDSTICK-960
Change-Id: Ibe47a9b4d1f095971857fcbaee57a3c7f64f9911
Signed-off-by: tjuyinkanglin <14_ykl@tongji.edu.cn>
|
|
* Update docs/submodules/releng-xci from branch 'master'
- Merge "xci: install: Move all pip installations to virtualenv"
- xci: install: Move all pip installations to virtualenv
Now that all pip installations are managed in the same way we can
move them inside a global virtual environment to further isolate the
XCI artifacts from the rest of the system. Moreover, we further simplify
the initial package installation to install everything at once instead
of calling the package manager for every single package that we need.
Change-Id: I6a170d2439fae8b0653f3141e0e8bb8ead67657e
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
* Update docs/submodules/releng-xci from branch 'master'
- Merge "xci: files: install-lib.sh: Hide rsync errors"
- xci: files: install-lib.sh: Hide rsync errors
rsync may fail because the OPNFV VM doesn't exist if we failed quite
early in the process so hide any errors from the remote rsync operation
to avoid confusion.
Change-Id: I43dfb0a527165a186674178d12e6d00ffc61f580
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
* Update docs/submodules/releng-xci from branch 'master'
- xci: infra: bifrost: Set XCI_DISTRO if it's not defined
The XCI_DISTRO variable is normally set from the XCI deployment script.
However, on bifrost jobs, we don't run this script as part of XCI so we
need to ensure that this variable is set properly.
Change-Id: I295b65176bab6ccbdd12aa50449d3c021a88b43d
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
* Update docs/submodules/pharos from branch 'master'
- Merge "[IDF] arm-pod7: Configure hugepages and cpupinning variables for armpod7"
- [IDF] arm-pod7: Configure hugepages and cpupinning variables for armpod7
For non-dpdk scenarios we define as cpu config:
0,1 for OS
2-7 for nova
For dpdk scenarios we define as cpu config:
0,1 for OS,
2,3 for DPDK drivers and processes
4-7 for nova
Dpdk config is also provided for the 3 thunderx nodes which currently
serve as KVM nodes. The config is similar to the config above with
cores 4-47 being used for nova.
JIRA: ARMBAND-364
Change-Id: I761aa8e73935b7180f4f377841cc93c9d81cf4d7
Signed-off-by: Charalampos Kominos <charalampos.kominos@enea.com>
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Added scale-up documentation"
- Added scale-up documentation
Change-Id: I65770a4a879d890c75a2e5774579794fb9b591f6
Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
|
|
* Update docs/submodules/sfc from branch 'master'
- Fix tacker resource collection request
Looks like using tacker_client.get to request a resource collection
causes connection drops and subsequent requests to fail, probably
because of incomplete pagination handling. Use tacker_client.list
instead.
Change-Id: I79ba39759b61f57774e65b5e49686edb6bf05c13
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
|
|
* Update docs/submodules/fuel from branch 'master'
- Apply opendaylight state after ovs host config
* employ GA kernel for baremetal computes as well
* setup/start opendaylight server after ovs host config
Change-Id: Ic772aed544b17be02e6ca9ccd175f2288b2128a8
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
* Update docs/submodules/barometer from branch 'master'
- Merge "[functest] Skip RDT tests if on a virtual node"
- [functest] Skip RDT tests if on a virtual node
* Skip RDT tests if the node is virtual.
* Push fake positive results to try avoid failure
TODO: Get the test passing.
Currently, the individual tests show a pass, however, the overall test shows a failure.
Change-Id: Iedfb125a15ed1b9d41a3d48148a4ac363a89b90b
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
* Update docs/submodules/barometer from branch 'master'
- Merge "[functest] Update tests for Aodh"
- [functest] Update tests for Aodh
* Update the check for timestamp to use state_timestamp instead
state_timestamp indicates the last change in state of the alarm,
timestamp is the last update to the alarm settings. This is not
what we're looking for with aodh tests, so check the state update
instead.
* Trigger an alarm state change before checking whether the alram
was updated. Notification in collectd aren't necessarily updated
at a regular interval, so we have to do some action and check whether
the alarm is updated.
JIRA: BAROMETER-91
Change-Id: I26d9bb1ec7e50e07053e69068d241e4c4cbc30dc
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
* Update docs/submodules/releng from branch 'master'
- Merge "xci: Do not trigger merge jobs for INFO.yaml updates"
- xci: Do not trigger merge jobs for INFO.yaml updates
Change-Id: I16eed2ec0ca1fa659fc449799813c02b19b08174
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
* Update docs/submodules/releng from branch 'master'
- xci: Record promotion time in UTC
Change-Id: Id6ea4f8124bdfe8c4233400d216d503fa101b0cb
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
* Update docs/submodules/availability from branch 'master'
- Modify the folders to include docs for E and F release
Create two new folders for docs in E and F release. Move docs for the
two release into seperate folders
JIRA: HA-35
Change-Id: I1f8071854b50ee3460c411ddcdd824edee3bc6fd
Signed-off-by:fuqiao@chinamobile.com
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Bugfix: 'module' object has no attribute 'UnsupportedExtension'"
- Bugfix: 'module' object has no attribute 'UnsupportedExtension'
JIRA: YARDSTICK-1100
This Error occur when run kuberntes test case:
The Key is the pyopenssl dependency, it seems
YARDSTICK-1032(https://jira.opnfv.org/browse/YARDSTICK-1032) encounter
the same problem. Downgrade requests from 2.18.2 to 2.11.1 would solve
this problem.
Here it is the error log:
Traceback (most recent call last):
File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)
File
"/home/opnfv/repos/yardstick/yardstick/benchmark/core/task.py",
line 301, in atexit_handler
context.undeploy()
File
"/home/opnfv/repos/yardstick/yardstick/benchmark/contexts/kubernetes.py",
line 63, in undeploy
self._delete_ssh_key()
File
"/home/opnfv/repos/yardstick/yardstick/benchmark/contexts/kubernetes.py",
line 133, in _delete_ssh_key
k8s_utils.delete_config_map(self.ssh_key)
File
"/home/opnfv/repos/yardstick/yardstick/common/kubernetes_utils.py",
line 179, in delete_config_map
**kwargs)
File
"/usr/local/lib/python2.7/dist-packages/kubernetes/client/apis/core_v1_api.py",
line 9059, in delete_namespaced_config_map
(data) =
self.delete_namespaced_config_map_with_http_info(name,
namespace, body, **kwargs)
File
"/usr/local/lib/python2.7/dist-packages/kubernetes/client/apis/core_v1_api.py",
line 9159, in delete_namespaced_config_map_with_http_info
collection_formats=collection_formats)
File
"/usr/local/lib/python2.7/dist-packages/kubernetes/client/api_client.py",
line 321, in call_api
_return_http_data_only, collection_formats,
_preload_content,
_request_timeout)
File
"/usr/local/lib/python2.7/dist-packages/kubernetes/client/api_client.py",
line 155, in __call_api
_request_timeout=_request_timeout)
File
"/usr/local/lib/python2.7/dist-packages/kubernetes/client/api_client.py",
line 387, in request
body=body)
File
"/usr/local/lib/python2.7/dist-packages/kubernetes/client/rest.py",
line 256, in DELETE
body=body)
File
"/usr/local/lib/python2.7/dist-packages/kubernetes/client/rest.py",
line 166, in request
headers=headers)
File
"/usr/local/lib/python2.7/dist-packages/urllib3/request.py",
line 66, in request
**urlopen_kw)
File
"/usr/local/lib/python2.7/dist-packages/urllib3/request.py",
line 87, in request_encode_url
return self.urlopen(method, url, **extra_kw)
File
"/usr/local/lib/python2.7/dist-packages/urllib3/poolmanager.py",
line 321, in urlopen
response = conn.urlopen(method, u.request_uri, **kw)
File
"/usr/local/lib/python2.7/dist-packages/urllib3/connectionpool.py",
line 601, in urlopen
chunked=chunked)
File
"/usr/local/lib/python2.7/dist-packages/urllib3/connectionpool.py",
line 346, in _make_request
self._validate_conn(conn)
File
"/usr/local/lib/python2.7/dist-packages/urllib3/connectionpool.py",
line 850, in _validate_conn
conn.connect()
File
"/usr/local/lib/python2.7/dist-packages/urllib3/connection.py",
line 337, in connect
cert = self.sock.getpeercert()
File
"/usr/local/lib/python2.7/dist-packages/urllib3/contrib/pyopenssl.py",
line 348, in getpeercert
'subjectAltName': get_subj_alt_name(x509)
File
"/usr/local/lib/python2.7/dist-packages/urllib3/contrib/pyopenssl.py",
line 202, in get_subj_alt_name
except (x509.DuplicateExtension, x509.UnsupportedExtension,
AttributeError: 'module' object has no attribute 'UnsupportedExtension'
Change-Id: I444dde829c91defb475e045aea094d74fc43e75b
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
* Update docs/submodules/availability from branch 'master'
- Release doc for F: HA scheme analysis for OPNFV
document for Fraser release, including HA schema analysis for OPNFV.
currently mostly focusing on VIM. will extend the content to include
other components
JIRA: HA-34
Change-Id: I50c308357db16eedd501542b2439d5d5311eaa5e
Signed-off-by: fuqiao@chinamobile.com
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Add "Scenario" class wait methods for runners"
- Add "Scenario" class wait methods for runners
"Duration" and "Iteration" runners execute a passive wait during the
execution of the work process. This wait time is done at the end of
the scenario "run" method execution.
This patch adds a pre-run and post-run wait period, which will
depends on the Scenario executed. The wait time will be always the
same, but the execution order (pre-wait time, run method, post-wait
time) will depends on the Scenario.
By default, any Scenario will execute the "run" method and them will
wait the specified time.
NetworkServicesTestCase Scenario will wait the specified time and them
will execute the "run" method to retrieve the KPIs.
JIRA: YARDSTICK-1067
Change-Id: I6ad6bfc6978815b6b2d4df63f2ac2f8815fb5b8a
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
* Update docs/submodules/availability from branch 'master'
- Merge "Add High Availability Analysis Document"
- Add High Availability Analysis Document
JIRA: HA-35
Change-Id: I49d12916f41fa80313384205a334cb7fbfd46cee
Signed-off-by: tjuyinkanglin <14_ykl@tongji.edu.cn>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Make "Scenario" class abstract"
- Make "Scenario" class abstract
All scenario child classes must implement "run" method.
JIRA: YARDSTICK-1065
Change-Id: I35b78e380620967b49cd8cd23777a1aee6dfd140
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
* Update docs/submodules/clover from branch 'master'
- Fix ci deploy job error
Fix issue:
https://build.opnfv.org/ci/view/clover/job/clover-daily-deploy-master/4/consoleFull
+ ssh -i /home/jenkins/opnfv/slave_root/workspace/clover-daily-deploy-master/work/container4nfv/src/vagrant/kubeadm_istio/.vagrant/machines/master/libvirt/private_key vagrant@192.168.121.117 rm -rf clover
Host key verification failed.
Change-Id: I73ea912ca6eb7ef823b1694b9fb090d809f158ee
Signed-off-by: QiLiang <liangqi1@huawei.com>
|
|
* Update docs/submodules/daisy from branch 'master'
- Enlarge hugepage default count
Change-Id: I551388760fc7e0c30d07350fe15ffa0c39cc7881
Signed-off-by: Zhijiang Hu <hu.zhijiang@zte.com.cn>
|
|
* Update docs/submodules/stor4nfv from branch 'master'
- Remove functest_kubernetes from requirements
Change-Id: I05dd6f833716e36d173f0b4e7f6a317d41f1a039
Signed-off-by: Linda Wang <wangwulin@huawei.com>
|
|
* Update docs/submodules/releng from branch 'master'
- Merge "Bugfix: command chown failed because LF POD has no jenkins user"
- Bugfix: command chown failed because LF POD has no jenkins user
Command change the file owner failed on lf-pod1 and lf-pod2
with the reason "chown: invalid user: ‘jenkins:jenkins’".
Make pod.yaml file can be modified by any user.
Change-Id: I1feb108e95c59c228d2aef55862017e9b80bcb73
Signed-off-by: xudan <xudan16@huawei.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "dump CI failures with kpartx and no /dev/loop devices"
- dump CI failures with kpartx and no /dev/loop devices
CI is failing due to unable to find loop device for kpartx
"cmd": [
"kpartx",
"-l",
"/tmp/workspace/yardstick/yardstick-xenial-server.raw"
]
"stderr": "mount: could not find any device /dev/loop#Bad address\ncan't set up loop",
This error occurs when kpartx can't find any loop devices to use
https://build.opnfv.org/ci/job/yardstick-compass-virtual-daily-master/3261/console
JIRA: YARDSTICK-1054
JIRA: YARDSTICK-1096
Change-Id: Ib6131ce29c4f9e81386eb5471dd6107825798620
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
* Update docs/submodules/clover from branch 'master'
- Merge "Create document structure"
- Create document structure
See http://docs.opnfv.org/en/latest/how-to-use-docs/documentation-guide.html
Note the structure stands on the view of whole OPNFV platform.
Change-Id: Id2ac36cb6f30d6d2d54dbda9f6a77b76648aa4b0
Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
|
|
* Update docs/submodules/releng from branch 'master'
- Merge "Fix RegExp issue for sfc scenario"
- Fix RegExp issue for sfc scenario
Change-Id: I345aeed4e11c4f5329251766b1fcf6aa1d852ba1
Signed-off-by: Linda Wang <wangwulin@huawei.com>
|
|
* Update docs/submodules/clover from branch 'master'
- Add clover ci deploy skeleton
- create kubernetes + istio by continer4nfv kubeadm_istio scenario
- add clover real test entry script
- add basic .gitignore
Change-Id: I3b36cdf71d70db4e24a19e386ad39dbb0a71ac2f
Signed-off-by: QiLiang <liangqi1@huawei.com>
|
|
* Update docs/submodules/releng from branch 'master'
- Merge "xci: Record additional promotion metadata for further use"
- xci: Record additional promotion metadata for further use
It would be good to point to the link of the job that promoted
certain scenario and display promotion date/time so we know when
was the last time the scenario has successfully been promoted.
Change-Id: I8099cf48f0ba5000cbf7622aa084f863f123eb15
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|