Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch network adapter type to paravirtualized for increased performance #2748

Merged
merged 1 commit into from May 8, 2018

Conversation

hackdna
Copy link
Member

@hackdna hackdna commented May 8, 2018

Increase guest OS network performance by ~100x for faster S3 transfers and provisioning

Copy link
Member

@scottx611x scottx611x left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused:
Do we ever talk to s3 from a local development environment? Re:~100x for faster S3 transfers

@hackdna
Copy link
Member Author

hackdna commented May 8, 2018

We do now.

@scottx611x
Copy link
Member

@hackdna Oh, okay I wasn't aware.

So someone couldn't properly develop locally if their network connection went down?
Does one have to run terraform commands after provisioning a vagrant box?

@codecov
Copy link

codecov bot commented May 8, 2018

Codecov Report

Merging #2748 into develop will decrease coverage by 1.7%.
The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #2748      +/-   ##
===========================================
- Coverage    57.92%   56.21%   -1.71%     
===========================================
  Files          411      411              
  Lines        26570    25692     -878     
  Branches      1250     1250              
===========================================
- Hits         15390    14443     -947     
- Misses       11180    11249      +69
Impacted Files Coverage Δ
...ager/management/commands/process_metadata_table.py 0% <0%> (-88.24%) ⬇️
refinery/file_store/tasks.py 30.5% <0%> (-8.5%) ⬇️
refinery/file_store/models.py 71.87% <0%> (-7.59%) ⬇️
refinery/tool_manager/serializers.py 97.91% <0%> (-2.09%) ⬇️
...nery/data_set_manager/single_file_column_parser.py 79.65% <0%> (-1.17%) ⬇️
refinery/data_set_manager/tasks.py 43.23% <0%> (-0.88%) ⬇️
refinery/tool_manager/models.py 96.64% <0%> (-0.36%) ⬇️
refinery/tool_manager/tests.py 99.82% <0%> (-0.07%) ⬇️
refinery/data_set_manager/tests.py 99.76% <0%> (-0.01%) ⬇️
refinery/data_set_manager/views.py 44.63% <0%> (+0.21%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1d5d55e...fa0f71c. Read the comment docs.

@hackdna
Copy link
Member Author

hackdna commented May 8, 2018

Well, it's not really possible to develop "locally" anymore because a lot of tests require an Internet connection.

Regardless, the file storage backend can be specified using DEFAULT_FILE_STORAGE Django setting. Default is SymlinkedFileSystemStorage (derived from django.core.files.storage.FileSystemStorage) in Vagrant and it does not require an Internet connection.

The only requirement to enable the new functionality in this PR is to run vagrant reload.

@scottx611x
Copy link
Member

scottx611x commented May 8, 2018

Okay sure, I think I was more confused about your comment here: #2748 (comment)... But you're just switching the storage backend to S3Storage to do some file_store specific testing, correct? It's not something we normally do or are required to do, but something we can do if necessary.

Do you think it would be useful to have some notes on how one could configure their Vagrant instance to be able to talk to s3? Its a little more involved than switching the storage backend, no?

Why not just bring up an AWS stack to test such functionality?

@hackdna
Copy link
Member Author

hackdna commented May 8, 2018

The change in this PR is completely backward-compatible and does not require any additional configuration or updates. Once S3 storage backend support is fully functional it will also have all the necessary documentation. Developing on an EC2 instance is a pain for reasons that should be obvious.

Copy link
Member

@scottx611x scottx611x left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. Was just curious from the initial mention of talking to s3 from Vagrant and was trying to learn more.

Still not sure what benefit using the S3 storage backend from a Vagrant environment gives us over using an environment that is more similar to a production one.

@hackdna
Copy link
Member Author

hackdna commented May 8, 2018

Happy to discuss this in depth at the next dev meeting.

@hackdna hackdna merged commit b0f596a into develop May 8, 2018
@hackdna hackdna deleted the hackdna/fix-vm-guest-network branch May 8, 2018 21:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

None yet

2 participants