ruby-cute 0.12 → 0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.gitlab-ci.yml +55 -0
- data/README.md +12 -1
- data/bin/cute +2 -1
- data/bin/grd +701 -0
- data/debian/.gitattributes +3 -0
- data/debian/changelog +108 -0
- data/debian/control +22 -5
- data/debian/ruby-cute.docs +1 -1
- data/debian/rules +3 -11
- data/debian/watch +2 -2
- data/examples/distem-bootstrap +16 -22
- data/examples/g5k-tutorial.md +25 -18
- data/examples/g5k_exp_virt.rb +1 -1
- data/lib/cute/bash.rb +7 -7
- data/lib/cute/configparser.rb +14 -12
- data/lib/cute/execute.rb +6 -4
- data/lib/cute/extensions.rb +3 -4
- data/lib/cute/g5k_api.rb +62 -38
- data/lib/cute/net-ssh-exec3.rb +10 -7
- data/lib/cute/net-ssh.rb +2 -2
- data/lib/cute/net.rb +5 -7
- data/lib/cute/synchronization.rb +1 -3
- data/lib/cute/taktuk.rb +4 -5
- data/lib/cute/version.rb +1 -1
- data/ruby-cute.gemspec +6 -3
- data/spec/g5k_api_check_spec.rb +1 -1
- data/spec/g5k_api_spec.rb +14 -22
- data/spec/spec_helper.rb +10 -6
- data/test/test_execute.rb +0 -0
- metadata +55 -11
- data/debian/compat +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ecc3c92c1122fbdbf8715cebaf1fffc44d454f7ede6ed509e1fd8c659ac9e3b4
|
4
|
+
data.tar.gz: c577bd141aee6adc229a6a6344d99c5143a7bb8a7a8009ecb17ac5baa6bb1b83
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c41466e40b466aba5ec11fed51b783021d5b0a0840b30b5a1017578700771f308add76dd9297124dc0c680cbb552f54aa67173fb770202c1b58eb194136ef0be
|
7
|
+
data.tar.gz: 70367ebeb0447db57539a69176f8c9cfa1f664572a0165a64c0a9056eb076045e1f063794197eacaf188d985e29dd59accdfbedc075d88a5e2b8bfc7839f133a
|
data/.gitlab-ci.yml
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
# This is important to avoid stale artifacts in the build directory
|
2
|
+
variables:
|
3
|
+
GIT_STRATEGY: clone
|
4
|
+
|
5
|
+
# Another stage is needed for the deployment (so that files are already generated by the previous job)
|
6
|
+
stages:
|
7
|
+
- lint
|
8
|
+
- test
|
9
|
+
- build
|
10
|
+
- deploy
|
11
|
+
|
12
|
+
include:
|
13
|
+
- project: 'grid5000/grid5000-gitlab-templates'
|
14
|
+
ref: master
|
15
|
+
file: '/rubocop.yml'
|
16
|
+
|
17
|
+
test:
|
18
|
+
stage: test
|
19
|
+
tags:
|
20
|
+
- grid5000-docker
|
21
|
+
image: debian:bullseye
|
22
|
+
script:
|
23
|
+
- apt-get update && apt-get -y --no-install-recommends install devscripts build-essential equivs
|
24
|
+
- mk-build-deps -ir -t 'apt-get -y --no-install-recommends'
|
25
|
+
- rspec
|
26
|
+
|
27
|
+
|
28
|
+
build:
|
29
|
+
stage: build
|
30
|
+
tags:
|
31
|
+
- grid5000-docker
|
32
|
+
image: debian:bullseye
|
33
|
+
script:
|
34
|
+
- apt-get update && apt-get -y --no-install-recommends install devscripts build-essential equivs
|
35
|
+
- mk-build-deps -ir -t 'apt-get -y --no-install-recommends'
|
36
|
+
- dpkg-buildpackage
|
37
|
+
- cp ../*deb . # needed to upload it as artifact
|
38
|
+
except:
|
39
|
+
- tags
|
40
|
+
artifacts: # generate artifacts for files we want to publish
|
41
|
+
paths:
|
42
|
+
- ./*.deb
|
43
|
+
expire_in: '1 day'
|
44
|
+
|
45
|
+
push-package:
|
46
|
+
stage: deploy
|
47
|
+
# tags must be 'packages' so that we use the runner on packages.grid5000.fr
|
48
|
+
tags:
|
49
|
+
- grid5000-packages
|
50
|
+
only:
|
51
|
+
- master
|
52
|
+
when: manual
|
53
|
+
script:
|
54
|
+
- g5k-deploy-files --only-if-tag --debian --directory deb/ruby-cute
|
55
|
+
allow_failure: false
|
data/README.md
CHANGED
@@ -6,6 +6,16 @@ aggregating various Ruby snippets useful in the context of (but not limited to)
|
|
6
6
|
development of experiment software on distributed systems testbeds such as
|
7
7
|
Grid'5000.
|
8
8
|
|
9
|
+
Ruby-Cute also includes the **grd** command line utility, that provides a
|
10
|
+
modern interface to typical Grid'5000 workflows. As an example, `grd bootstrap -s
|
11
|
+
ly -l nodes=3 -w 0:10 -e debian11-x64-min -f setup-script -c` will reserve 3
|
12
|
+
nodes on the *lyon* site, provision the *debian11-x64-min* environment, run
|
13
|
+
*setup-script* on the first node, and then connect interactively using SSH.
|
14
|
+
|
15
|
+
For more information about how to use **grd**, run `grd --help` and `grd
|
16
|
+
bootstrap --help` on any frontend. **grd** can also work from your own computer
|
17
|
+
(outside Grid'5000).
|
18
|
+
|
9
19
|
## Installation
|
10
20
|
|
11
21
|
To install latest release from [RubyGems](https://rubygems.org/gems/ruby-cute):
|
@@ -22,7 +32,8 @@ $ gem build ruby-cute.gemspec
|
|
22
32
|
$ gem install --user-install ruby-cute-*.gem
|
23
33
|
```
|
24
34
|
|
25
|
-
Then, type the following
|
35
|
+
Then, type the following to have ruby-cute in your path (this is only necessary
|
36
|
+
if you want to use the executables included in ruby-cute, such as grd).
|
26
37
|
|
27
38
|
```bash
|
28
39
|
$ export PATH=$PATH:$(ruby -e 'puts "#{Gem.user_dir}/bin"')
|
data/bin/cute
CHANGED
@@ -4,7 +4,8 @@ require 'tmpdir'
|
|
4
4
|
ROOT_DIR= File.expand_path('../..',__FILE__)
|
5
5
|
BIN_DIR= File.join(ROOT_DIR,"bin")
|
6
6
|
|
7
|
-
|
7
|
+
pry_path = `which pry`
|
8
|
+
if pry_path && $?.success? then
|
8
9
|
PRY_BIN="pry"
|
9
10
|
elsif File.exist?("~/.gem/bin/pry")
|
10
11
|
PRY_BIN="~/.gem/bin/pry"
|