I'm very new to snappy so please excuse me for any questions that seem obvious.

I have snapcraft.yaml that looks as follows:

--------------------------------------------------------------------------------------------------------------------------------------------
% cat snapcraft.yaml
name: openswitch-appliance
version: 0.3.0-rc0-1
summary: OpenSwitch NOS for the Appliance.
description: A standalone version of the OpenSwitch NOS (www.openswitch.net) 
Appliance targeted at an Oracle VirtualBox running Ubuntu-Core with one 
management interface and seven "front-panel" network adapters.
confinement: devmode

apps:
  start-openswitch:
    command: usr/sbin/start-openswitch
    plugs: [ network, network-control, network-bind, network-manager, 
network-observe, gsettings ]
  stop-openswitch:
    command: usr/sbin/stop-openswitch
    plugs: [ network, network-control, network-bind, network-manager, 
network-observe, gsettings ]
  vtysh:
    command: usr/sbin/start-vtysh
  shell:
    command: bin/bash
    plugs: [ network, network-control, network-bind, network-manager, 
network-observe, gsettings ]

parts:

  ops-init:
   plugin: make
    source: src/ops-init
    stage-packages: [ binutils, file, strace, bash, iputils-ping, traceroute ]

  openswitch:
    plugin: x-openswitch
#    source: https://github.com/ops-snappy/ops-build.git
#    source: ../ops-build
    source: /builds/dgarrod/ops-build
    platform: appliance
#    skip-native-build: true
    skip-native-build: true
    stage-packages: [ resolvconf ]
    after: [ ops-init ]
--------------------------------------------------------------------------------------------------------------------------------------------

The important point here is that there are multiple commands that are part of 
the snap. I start our snap using the command:

sudo /snap/bin/openswitch-appliance.start-openswitch

Inside the SNAP this creates a couple of namespaces (swns and nonet):

/sbin/ip netns add swns
/sbin/ip netns add nonet

The problem is that if I then start up another command in the SNAP, 
specifically a bash shell using:

sudo /snap/bin/openswitch-appliance.bash

I can't get at the swns or nonet namespaces from the bash shell that gets 
started. I get errors like:

root@Snappy-Appliance:/home/netop# ip netns exec swns bash
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
setting the network namespace "swns" failed: Invalid argument
root@Snappy-Appliance:/home/netop# ip netns pids swns
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument

Why is this? I thought all commands for my "snap" are somehow part of the same 
"snap", even though they are in different process trees. It apparently isn't 
the case. How do I get namespaces to play across these commands.

Note that currently I'm installing my SNAP --devmode and I'm also connecting 
all the network related plug/slots.

  sudo snap connect openswitch-appliance:network-control 
ubuntu-core:network-control
  sudo snap connect openswitch-appliance:network-manager 
ubuntu-core:network-manager
  sudo snap connect openswitch-appliance:network-observe 
ubuntu-core:network-observe

The only way I've sort of worked around this is to start up a "bash" shell 
using my snap bash command and then actually starting my subsystem from within 
this bash shell. So now all processes only went through the one "command". But 
for a number of reasons this isn't going to work for me.

Another way of asking my questions is how do I get all my "apps" in my SNAP to 
be able to play nicely together? Are they one "snap" or not, even when started 
separately?

Thanks,

Dave Garrod



________________________________

DISCLAIMER:
This e-mail and any attachments to it may contain confidential and proprietary 
material and is solely for the use of the intended recipient. Any review, use, 
disclosure, distribution or copying of this transmittal is prohibited except by 
or on behalf of the intended recipient. If you have received this transmittal 
in error, please notify the sender and destroy this e-mail and any attachments 
and all copies, whether electronic or printed.
-- 
Snapcraft mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/snapcraft

Reply via email to