Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Eric Hayes
    @hayesr
    Ok, thanks!
    Stuart Ellis
    @stuartellis

    I have merged PR #857 to master, which adds Docker with a skeleton integration test suite (in the integration/ directory). You will see that the Rake tasks now have a "docker" namespace:

    rake docker:build # Build testing containers with Docker Compose
    rake docker:clean # Remove Docker containers for Backup
    rake docker:clobber # Remove Docker containers and images for Backup
    rake docker:integration # Run RSpec integration tests with Docker Compose
    rake docker:shell # Start a container environment with an interactive shell
    rake docker:spec # Run RSpec unit tests with Docker Compose

    This PR does not change the Travis CI configuration in any way: it just hopefully enables you to run to write and/or run integration tests on a development workstation. I have looked at running Docker on Travis CI, but that is more invasive, so will do a separate PR just for that. PR #832 has ports of a lot of tests to Docker, but I will do another clean PR for those.

    Tom de Bruijn
    @tombruijn
    great work!
    I'm having a look at it now, and may have some suggestion on how to build the docker image. Now it requires a rebuild whever any gem version or certain files change in the project dir.
    Stuart Ellis
    @stuartellis

    Just to let people know - @tombruijn added a number of improvements to the initial Docker support as PR #904, which I have now merged to the master branch. These do not change the integration tests, but it will create new Docker images and behave slightly differently.

    We now have:

    rake docker:clobber # Remove Docker containers and images for Backup
    rake docker:integration # Run RSpec integration tests with Docker Compose
    rake docker:prepare # Prepare the bundle on the Docker machine
    rake docker:shell # Start a container environment with an interactive shell
    rake docker:spec # Run RSpec unit tests with Docker Compose

    First run docker:prepare, which installs the gem dependencies for Backup on the host machine.

    You can then run docker:integration, docker:spec and docker:shell. Each of these tasks now automatically builds and rebuilds Docker images, and will clean up Docker containers on exit.

    This means you do not need to run docker:build or docker:clean. Once a Docker image has been built for testing Backup, there will be always be one backup/test-suite Docker image until you delete it (as the docker:clobber task does).

    You can safely just delete the obsolete containers and images from the first version of Docker support. These used the name ruby_backup_tester.

    Elthariel
    @elthariel
    Hi folks !
    Stuart Ellis
    @stuartellis
    @elthariel - Hello, there! Sorry I missed you. I should be online tomorrow evening, UK time.
    Elthariel
    @elthariel
    @stuartellis No worries, I posted my message very late. I live on EU timezone as well so it shouldn't be a problem to catch each other
    Elthariel
    @elthariel
    Hi @stuartellis, still alive ?
    ^^
    Stuart Ellis
    @stuartellis
    Hello @elthariel - Just about :smile: Super-busy.
    Elthariel
    @elthariel
    Any insights about when you might have a bit more time ?
    Stuart Ellis
    @stuartellis
    I can be online this evening, if that helps, from 19:00 UK time.
    I’m having lunch and checking messages ATM :)
    So will disappear in a moment
    Elthariel
    @elthariel
    I mean, if it’s a a few weeks no worries. Just in case you had insights
    Bon appetit, monsieur !
    Stuart Ellis
    @stuartellis
    If there’s some work that you are interested in picking up, I don’t want to block you. I may have some time this weekend to pick up Backup again, but I thought that before :smile:
    Any way, lunch over, back to work work
    Elthariel
    @elthariel
    I wanted to discuss the integration of my existing openstack PR :)
    Stuart Ellis
    @stuartellis
    The main issue for this would be maintenance. Unfortunately, I don’t use OpenStack, so can’t really review or support code for it…. So, if this was integrated, you would have to commit to supporting it.
    Elthariel
    @elthariel
    I’ve been pushing for its inclusion for more than a year now, so I’d say it looks like commitment :). Also, this is mostly a simple wrapper around fog-openstack which is pretty well supported so the maintainance burden is likely going to be minimal (and it’s been running in prod for more than a year now to support this fact)
    Stuart Ellis
    @stuartellis
    The thing is, though, that I can’t take on any maintenance burden at all. Right now, there just isn’t anybody working on this software, and if/when I get a block of time, all of my effort is going to be to get the integration suite to the point where it’s feasible to ship something that works with Ruby 2.5. That’s actually why I split the modules into Core/Extras: the Core is stuff that might be tested, and the Extras won’t.
    Stuart Ellis
    @stuartellis
    So, the hard-nosed calculation is that I can’t accept a feature PR unless it comes with a maintainer, at least for that code, and ideally to help the project as a whole. I don’t claim that’s fair, but the resource pool is currently just me. And you, if you are interested.
    Elthariel
    @elthariel
    The backup gem is a core component of the solution I sell to my customers (I’m sort of a freelance devops), so I need this thing to work. I guess that provides you with an answer :)
    Stuart Ellis
    @stuartellis
    @elthariel OK, well then, let’s see what we can do :)
    Again, for me, the blocker on doing anything else is getting integration tests going again. There’s a lot of them in the vagrant/ directory, and I ported the basic process to Docker in the integration/ directory (with help from Tom), but then stalled out of time and motivation.
    Stuart Ellis
    @stuartellis
    PRs #906 and #907 are integration tests that I ported, but need integrating.
    Once I have some more tests going, then I need to figure out how to test some of the services.
    I looked at Travis + Docker a while ago, but IIRC it wasn’t great.
    I am talking to somebody from CircleCI tommorrow about work, and will probably ask about what they can do.
    Stuart Ellis
    @stuartellis
    The ideal situation would be to have some integration tests for everything marked Core, but life is never ideal :)
    The thing is that I know that Backup works now, but I want to minimise the risk that something break with Ruby 2.5.
    So that’s the state of play.
    I’m happy to take any help that I can get.
    Stuart Ellis
    @stuartellis
    Equally, if there’s something that I can do to help you, I’d like to do so.
    Stuart Ellis
    @stuartellis
    If you would like to check your PR against current master, I’ll review it, and merge it if possible.
    Elthariel
    @elthariel
    I’ll hopefully have a look at all this during the week
    Omachonu Ogali
    @oogali

    @stuartellis @tombruijn Would it be possible to get a bit of a "mentoring" session from you both, for the people who are serious about helping?

    I know you're both pressed for time when it comes to maintaining this project and because of its awesomeness, there's been a few people who have volunteered to help.

    But in its present form, the offers for help don't seem to reduce the stress of maintenance on you two, because of what I'm going to summarize as: skilled hands > unskilled hands.

    A mentoring session (or two) would cover things along the line of a coding style guide, contribution guidelines (e.g. must pass Travis, must not reduce test coverage more than X percentage points without +1s from Y maintainers), basic issue triage, closing answered or otherwise stale issues, etc.

    I know it's a big ask and it might be a slow ramp-up at first, but it would go along way in the sustainability of the project and avoid burning you two out.

    Tom de Bruijn
    @tombruijn
    Hi @oogali, sure thing. Contact me in a DM to get my skype details or other. I've also written down some of my ideas for improvement in this Backup issue: backup/backup#925
    To get an idea of what I would like to do longterm rather than fixing immediate bugs.
    Elthariel
    @elthariel
    @tombruijn Still interested into putting some effort onto this maintenance effort. Despite my efforts, I haven't been able to find a replacement for this tool, and I'm still using it in prod for the company I'm the CTO of.
    Also, I noticed recently that my PR for openstack-swift still had a typo I didn't cherry picked from the fork I'm using in prod, so the PR should be ready for evaluation
    But it requires updating the version of fog and twitter
    Elthariel
    @elthariel
    Hi folks !
    I'm going to try to bit around a bit more often
    I was just granted rights on the repo to take over the maintenance of the project a bit