Comments (6)
This is the crux of the issue:
./main.go:26: cannot use volcli.GlobalFlags (type []"github.com/contiv/contivctl/vendor/github.com/contiv/volplugin/vendor/github.com/codegangsta/cli".Flag) as type []"github.com/codegangsta/cli".Flag in field value
./main.go:27: cannot use volcli.Commands (type []"github.com/contiv/contivctl/vendor/github.com/contiv/volplugin/vendor/github.com/codegangsta/cli".Command) as type []"github.com/codegangsta/cli".Command in field value
Unfortunately this means that we have to think of a new strategy for embedding the tools. I think turning contivctl into a shell script which netctl and volcli can use depending on which command set is requested is the simplest thing that could possibly work.
from volplugin.
Yes, I think a shell script will work.
To make sure I understand the issue, compilation failure is showing up as these types (...codegangsta/cli".Flag
and ...codegangsta/cli".Command
) differ between the latest version of codegansat/cli
(that contivctl is pulling) and the version that the projects are using?
We could solve it by bumping up the godeps in our projects (volcli and netctl) as well, right?
Just to share my thinking, I am not sure how much folks are keen on actively maintaining contivctl, as we still use per-project command-line utilities in customer demo setups and even our readme files. But at the same time having contivctl gives a very good unified preview of all things under the ContivProject.
contivctl in it's current form needs minimal maintenance (other than these occasional failures), which is a big plus. If adding more plumbing and code would add to this maintenance we will need to make sure we are ready to dedicate some energy to that.
/cc @jainvipin as well.
from volplugin.
no, it's because the paths differ; I'm fairly certain they're using the same version.
I'll move forward with the shell script today.
from volplugin.
to answer the longer question (which I missed at first); I think the end-user will want this tool, and if not, we can provide the script for those who do. I don't think it'll be very complicated.
from volplugin.
sgtm @erikh
it's because the paths differ; I'm fairly certain they're using the same version
from the original failure, it did look like it was a version issue. For instance, the cli.Flag
implementation is different between the latest and volplugin's vendored version of codegangsta/cli
.
./main.go:26: cannot use volcli.GlobalFlags (type []"github.com/contiv/volplugin/vendor/github.com/codegangsta/cli".Flag) as type []"github.com/codegangsta/cli".Flag in field value
./main.go:27: cannot use volcli.Commands (type []"github.com/contiv/volplugin/vendor/github.com/codegangsta/cli".Command) as type "github.com/codegangsta/cli".Commands in field value
I think the end-user will want this tool,
I agree with the answer to the longer question :) ... if we can keep contivctl to be a minimal maintenance project, it is indeed a big value add.
from volplugin.
rewrote contivctl, this can be closed.
from volplugin.
Related Issues (20)
- Taking volume snapshot - Snapshot timestamp is not returned by the endpoint
- volsupervisor does not free locks if it is terminated during snapshot operations HOT 21
- Unable to create volume with the same name as the one deleted.
- Integrate a dead code checker into checks.sh
- Convert API server to use `api` package where applicable
- Integrate misspell into checks.sh
- use govalidator in structs
- Remove "demo mode"
- Volume list command logic fix HOT 2
- Pretty all json responses in volcli HOT 2
- Policy validation generates an unhelpful error when "size" doesn't contain a unit
- Fix Mount() to call ApplyCGroupRateLimit as appropriate.
- Cleanup log messages HOT 3
- Multiple policies with the same name HOT 5
- container launch fails to create rbd volume HOT 6
- removing volumes with snapshots breaks volume remove
- Allow ceph driver to specify --id
- Implement rbd-nbd as mapping commands
- Getting Started link in README.md is broken HOT 1
- Documentation for volplugin missing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from volplugin.