Silvin Lubecki
f2b75a879a
Remove experimentalCli annotation from all kubernetes flags and commands
...
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com >
2018-05-28 15:06:31 +02:00
Vincent Demeester
537e67d462
Merge pull request #1084 from thaJeztah/minor-code-refactor
...
Minor refactor in stack helper functions
2018-05-28 12:39:15 +02:00
Sebastiaan van Stijn
0c175fc21a
Minor refactor in stack helper functions
...
- Don't wrap the code to be slightly more readable
- Rename `getServiceFilter()` to `getStackServiceFilter()` to be
consistent with other helper functions.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl >
2018-05-28 12:26:14 +02:00
Vincent Demeester
82053236a3
Merge pull request #1059 from mat007/kubernetes-orchestrator-all-namespaces
...
Kubernetes orchestrator all namespaces
2018-05-28 11:59:54 +02:00
Mathieu Champlon
1c1300bef6
Imply all Kubernetes namespaces for docker stack list when orchestrator is all or Kubernetes
...
* Add "kubernetes" struct in config file with "allNamespaces" option, to opt-out this behavior when set as "disabled"
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com >
2018-05-28 10:43:32 +02:00
Simon Ferquel
f38510b2d8
Better stack status check
...
Signed-off-by: Simon Ferquel <simon.ferquel@docker.com >
2018-05-25 12:56:52 +02:00
Mathieu Champlon
297866ebbe
Match Swarm in how to combine filters
...
`docker stack services --filter=label=foo=bar --filter=label=foo=baz my-stack` with Swarm gets handled as `filter on (a label named foo with value bar) AND (a label named foo with value baz).
This obviously yields an empty result set every time, but if and how this should be changed is out of scope here, so simply align Kubernetes with Swarm for now.
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com >
2018-05-24 15:24:23 +02:00
Simon Ferquel
1f7aa1c036
Add filter support for stack ps and services with Kubernetes
...
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com >
2018-05-23 18:27:27 +02:00
Mathieu Champlon
bfe9aed63a
For docker stack ls make an error if Swarm and Kubernetes hosts do no match
...
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com >
2018-05-22 14:39:48 +02:00
Mathieu Champlon
bd20885ac8
Query UCP Kubernetes user namespaces endpoint
...
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com >
2018-05-18 11:44:15 +02:00
Sebastiaan van Stijn
bac0d8f353
Merge pull request #974 from simonferquel/compose-kube-env-expansion
...
[K8s] Do env-variable expansion on the uninterpreted Config files
2018-05-16 20:18:41 +02:00
Mathieu Champlon
84241cc393
Support multiple namespaces for docker stack ls
...
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com >
2018-05-15 16:52:21 +02:00
Mathieu Champlon
4d947de292
Support 'all' in orchestrator flag for docker stack ls
...
All other docker stack commands report an error when passed this value.
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com >
2018-05-15 15:38:41 +02:00
Brian Goff
fd060d2f33
Merge pull request #1038 from kolyshkin/context
...
Switch from x/net/context to context
2018-05-11 22:13:52 -04:00
Kir Kolyshkin
6f8070deb2
Switch from x/net/context to context
...
Since go 1.7, "context" is a standard package. Since go 1.9,
x/net/context merely provides some types aliased to those in
the standard context package.
The changes were performed by the following script:
for f in $(git ls-files \*.go | grep -v ^vendor/); do
sed -i 's|golang.org/x/net/context|context|' $f
goimports -w $f
for i in 1 2; do
awk '/^$/ {e=1; next;}
/\t"context"$/ {e=0;}
{if (e) {print ""; e=0}; print;}' < $f > $f.new && \
mv $f.new $f
goimports -w $f
done
done
[v2: do awk/goimports fixup twice]
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com >
2018-05-11 16:49:43 -07:00
Sebastiaan van Stijn
a6b10c2e85
Merge pull request #1039 from mat007/fix-filepath-usage
...
Use filepath.Base instead of path.Base
2018-05-11 18:06:23 +02:00
Simon Ferquel
f766aff716
Make sure every composefiles sent to a v1beta1 endpoint are parsable
...
Signed-off-by: Simon Ferquel <simon.ferquel@docker.com >
2018-05-09 13:17:25 -07:00
Mathieu Champlon
2af66bed41
Fix stack ls behaviour with Kubernetes and variout --namespace flag values
...
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com >
2018-05-09 17:40:25 +02:00
Silvin Lubecki
f097831eb3
Add --all-namespaces to docker stack ls command on Kubernetes orchestrator, to list all stacks in all namespaces.
...
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com >
2018-05-09 17:33:16 +02:00
Silvin Lubecki
65526a201f
Add namespace column for docker stack ls command while targeting Kubernetes orchestrator
...
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com >
2018-05-09 17:33:16 +02:00
Silvin Lubecki
31dccfffb5
Move stack client creation from KubeCli to client factory, where it belongs
...
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com >
2018-05-09 17:30:37 +02:00
Silvin Lubecki
f0aa126b03
Fix using the namespace specified in the kubeconfig file.
...
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com >
2018-05-09 17:30:36 +02:00
Mathieu Champlon
698ea75c66
Use filepath.Base instead of path.Base
...
This ensures Windows paths are handled correctly as explained in the path package documentation.
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com >
2018-05-07 17:25:23 +02:00
Silvin Lubecki
13d0c9c695
Add an orchestrator column in the docker stack ls command
...
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com >
2018-04-30 12:04:02 +02:00
Silvin Lubecki
36591a2282
Print warnings on stderr for each unsupported features while parsing a compose file for deployment on Kubernetes.
...
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com >
2018-04-30 11:56:14 +02:00
Silvin Lubecki
f958c66a6d
Add a common interface between different Kubernetes Stack API versions and use it in kubernetes stack commands
...
* Add kubernetes Stack API v1beta2 client
* Upgrade v1beta1 client to remove generated code
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com >
2018-04-30 11:27:22 +02:00
Tibor Vass
6b31ea0f0d
Merge pull request #963 from thaJeztah/fix-stack-deploy-after-force
...
Fix stack deploy re-deploying service after --force
2018-04-13 13:06:40 -10:00
Silvin Lubecki
54f8ca6660
Fixed gometalinter errors on test files
...
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com >
2018-04-10 16:03:56 +02:00
Sebastiaan van Stijn
236a84759a
Merge pull request #941 from dnephin/fix-compose-network-name
...
Fix compose network name
2018-03-26 23:41:44 +02:00
Sebastiaan van Stijn
76439457d2
Fix stack deploy re-deploying service after --force
...
When updating a service with the `--force` option, the `ForceUpdate`
property of the taskspec is incremented.
Stack deploy did not take this into account, and reset this
field to its default value (0), causing the service to be
re-deployed.
This patch copies the existing value before updating the service.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl >
2018-03-26 15:24:28 +02:00
Silvin Lubecki
b816bde6cc
Fix docker stack services command on Port output when kubernetes service is a LoadBalancer or a NodePort
...
* added tests on Kubernetes service conversion to swarm service
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com >
2018-03-14 11:33:42 +01:00
Daniel Nephin
b4c108a385
Fix named network in compose file
...
Signed-off-by: Daniel Nephin <dnephin@docker.com >
2018-03-12 15:15:27 -04:00
Vincent Demeester
0cf2e6353a
Fixes some unit tests to be able to run them on windows
...
Some of them are skipped for now (because the feature is not supported
or needs more work), some of them are fixed.
Signed-off-by: Vincent Demeester <vincent@sbr.pm >
2018-03-07 18:18:13 +01:00
Daniel Nephin
e15b208e96
Convert assert.Check(t, is.Error()) to assert.Error
...
git grep -l -P '^\s+assert\.Check\(t, is\.Error\(' | \
xargs perl -pi -e 's/^(\s+assert\.)Check\(t, is\.Error\((.*)\)$/\1Error(t, \2/'
Signed-off-by: Daniel Nephin <dnephin@docker.com >
2018-03-06 16:00:28 -05:00
Daniel Nephin
078cbc9c4b
Convert assert.Check with
...
git grep -l -P '^\s+assert\.Check\(t, ' | \
xargs perl -pi -e 's/^(\s+assert)\.Check(\(t, (?!is).*(\.Execute\(|\.Set\(|\.Write\(|\.Close\(|\.Untar\(|\.WriteFile\(|Validate\().*\)$)/\1.NilError\2/'
Signed-off-by: Daniel Nephin <dnephin@docker.com >
2018-03-06 15:43:53 -05:00
Daniel Nephin
baf65a5502
Convert to assert.NilError
...
Using:
git grep -l '^\s\+assert\.Check(t, err)$' | \
xargs sed -i -e 's/^\(\s\+assert\)\.Check(t, err)$/\1.NilError(t, err)/'
Signed-off-by: Daniel Nephin <dnephin@docker.com >
2018-03-06 15:27:34 -05:00
Daniel Nephin
681c921528
Remove testutil
...
Signed-off-by: Daniel Nephin <dnephin@docker.com >
2018-03-06 14:38:35 -05:00
Daniel Nephin
5155cda716
Post migration fixes
...
Fix tests that failed when using cmp.Compare()
internal/test/testutil/assert
InDelta
Fix DeepEqual with kube metav1.Time
Convert some ErrorContains to assert
Signed-off-by: Daniel Nephin <dnephin@docker.com >
2018-03-05 19:41:17 -05:00
Daniel Nephin
39c2ca57c1
Automated migration
...
Signed-off-by: Daniel Nephin <dnephin@docker.com >
2018-03-05 19:41:17 -05:00
Daniel Nephin
93615dd967
Update some assertions.
...
and fix some tests
Signed-off-by: Daniel Nephin <dnephin@docker.com >
2018-03-05 17:15:24 -05:00
Silvin Lubecki
854aad8927
Print Stack API version in version command
...
* Resolve Stack API using Kubernetes discovering API
* Refactor Kubernetes flags parsing
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com >
2018-02-26 01:16:49 +01:00
Vincent Demeester
cf86a4d922
Simplify the marshaling of compose types.Config
...
- Add `Version` to `types.Config`
- Add a new `Services` types (that is just `[]ServiceConfig`) and add
`MarshalYAML` method on it.
- Clean other top-level custom marshaling as `Services` is the only one
required.
Signed-off-by: Vincent Demeester <vincent@sbr.pm >
2018-02-21 18:47:10 +01:00
Vincent Demeester
9f9f1c8515
Make sure we marshall version too…
...
… otherwise the k8s controller might fail to parse the file as it will
think it's version 1.
Signed-off-by: Vincent Demeester <vincent@sbr.pm >
2018-02-21 15:36:51 +01:00
Silvin Lubecki
9b27e92903
Fix stack marshaling for Kubernetes
...
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com >
Signed-off-by: Vincent Demeester <vincent@sbr.pm >
2018-02-20 16:43:24 +01:00
Vincent Demeester
570ee9cb54
Share the compose loading code between swarm and k8s stack deploy
...
To ensure we are loading the composefile the same wether we are pointing
to swarm or kubernetes, we need to share the loading code between both.
Signed-off-by: Vincent Demeester <vincent@sbr.pm >
2018-02-14 14:07:48 +01:00
Sebastiaan van Stijn
25e969c854
Merge pull request #569 from vdemeester/compose-multiple-version-mergo
...
Add support for multiple composefile when deploying
2018-02-06 00:41:43 -08:00
Vincent Demeester
1872bd802c
Add support for multiple composefile when deploying
...
Signed-off-by: Vincent Demeester <vincent@sbr.pm >
2018-01-29 17:27:25 -08:00
Daniel Nephin
a46fa0759d
Merge pull request #804 from thaJeztah/more-annotations
...
Annotate "stack" commands to be "swarm" and "kubernetes"
2018-01-26 15:12:09 -05:00
Silvin Lubecki
14fcadffb1
Using Flags instead of PersistentFlags, as Kubernetes flags seem not to be defined in the "persistent space".
...
Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com >
2018-01-24 09:17:08 -08:00
Sebastiaan van Stijn
93c36eb228
Annotate "stack" commands to be "swarm" and "kubernetes"
...
Signed-off-by: Sebastiaan van Stijn <github@gone.nl >
2018-01-22 15:44:47 -08:00