[EDP] Validation for binary job name

Bug #1236421 reported by Vadim Rovachev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Sahara
Fix Released
Medium
Trevor McKay

Bug Description

Precondition steps:
created input file in swift
created input and output data sourses

Step 1.
for UI:
   Job binaries -> Create job binary
      name (By example): exa!m ple
For rest api:
   POST v1.1/<tenant-id>/job-binaries
   {
 "name": "exa!m ple",
 "url": <link_to_internal_binary_job>
   }

Actual result:
for UI:
   object is created
for rest api:
   response 202

Expected result:
for UI:
   error message
for rest api:
   response 400

Step 2.
   Create job with job binary from step 1.
   Launch job.

result:

!!!Expected job object is created!!!

AND

2013-10-07 15:24:20.099 5823 ERROR savanna.utils.api [-] Request aborted with status code 500 and message 'Internal Server Error'
2013-10-07 15:24:20.100 5823 ERROR savanna.utils.api [-] Traceback (most recent call last):
  File "/home/ubuntu/savanna-venv/local/lib/python2.7/site-packages/savanna/utils/api.py", line 86, in handler
    return func(**kwargs)
  File "/home/ubuntu/savanna-venv/local/lib/python2.7/site-packages/savanna/service/validation.py", line 79, in handler
    return func(*args, **kwargs)
  File "/home/ubuntu/savanna-venv/local/lib/python2.7/site-packages/savanna/service/validation.py", line 50, in handler
    return func(*args, **kwargs)
  File "/home/ubuntu/savanna-venv/local/lib/python2.7/site-packages/savanna/api/v11.py", line 44, in job_execute
    configs).to_dict())
  File "/home/ubuntu/savanna-venv/local/lib/python2.7/site-packages/savanna/service/edp/api.py", line 38, in execute_job
    return manager.run_job(context.ctx(), job_execution)
  File "/home/ubuntu/savanna-venv/local/lib/python2.7/site-packages/savanna/service/edp/job_manager.py", line 112, in run_job
    upload_job_files(u.get_jobtracker(cluster), wf_dir, job, hdfs_user)
  File "/home/ubuntu/savanna-venv/local/lib/python2.7/site-packages/savanna/service/edp/job_manager.py", line 157, in upload_job_files
    h.put_file_to_hdfs(r, raw_data, main.name, job_dir, hdfs_user)
  File "/home/ubuntu/savanna-venv/local/lib/python2.7/site-packages/savanna/service/edp/hdfs_helper.py", line 20, in put_file_to_hdfs
    hdfs_user)
  File "/home/ubuntu/savanna-venv/local/lib/python2.7/site-packages/savanna/service/edp/hdfs_helper.py", line 30, in move_from_local
    '%s %s" %s' % (source, target, hdfs_user))
  File "/home/ubuntu/savanna-venv/local/lib/python2.7/site-packages/savanna/utils/remote.py", line 202, in execute_command
    raise_when_error)
  File "/home/ubuntu/savanna-venv/local/lib/python2.7/site-packages/savanna/utils/remote.py", line 189, in _run_t
    return self._run(func, *args, **kwargs)
  File "/home/ubuntu/savanna-venv/local/lib/python2.7/site-packages/savanna/utils/remote.py", line 271, in _run
    return procutils.run_in_subprocess(self.proc, func, args, kwargs)
  File "/home/ubuntu/savanna-venv/local/lib/python2.7/site-packages/savanna/utils/procutils.py", line 51, in run_in_subprocess
    raise SubprocessException(result['exception'])

SubprocessException: RemoteCommandException: Error during command execution: "sudo su - -c "hadoop dfs -moveFromLocal /tmp/qw e /user/hadoop/qajob/66e6eede-01bb-4056-9701-285d17874c3e/qw e" hadoop"
Return code: 255
STDERR:
moveFromLocal: `e': specified destination directory does not exist

127.0.0.1 - - [07/Oct/2013 15:24:20] "POST /v1.1/4c18f28bf72843a39d77a5645422c099/jobs/15c442e9-53ae-4d03-aca6-b04f9ef5d8f7/execute HTTP/1.1" 500 228 8.129761

summary: - validation for binary job name
+ Validation for binary job name
Changed in savanna:
milestone: none → 0.3
importance: Undecided → Medium
status: New → Triaged
summary: - Validation for binary job name
+ [EDP] Validation for binary job name
Trevor McKay (tmckay)
Changed in savanna:
assignee: nobody → Trevor McKay (tmckay)
Changed in savanna:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to savanna (master)

Reviewed: https://review.openstack.org/51047
Committed: http://github.com/openstack/savanna/commit/1cb47b68db0c118d335e2556398b15df967da942
Submitter: Jenkins
Branch: master

commit 1cb47b68db0c118d335e2556398b15df967da942
Author: Trevor McKay <email address hidden>
Date: Fri Oct 11 16:00:16 2013 -0400

    Add validations for name fields in all EDP objects

    Change-Id: I14d8ff1e75ab9b3298d2737dc681eade5854c096
    Closes-Bug: #1236421

Changed in savanna:
status: In Progress → Fix Committed
Changed in savanna:
milestone: 0.3 → 0.3-rc3
Changed in savanna:
status: Fix Committed → Fix Released
Changed in savanna:
milestone: 0.3-rc3 → 0.3
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.