Unable to create host interface in vpp (Vector Packet Processing) - docker

I have created a veth interface and i am trying to create a host interface in vpp but i am getting the following error.
vpp# create host-interface name vpp1out
create host-interface: No such file or directory (errno 2)
What is the mistake that i am making?
I am following this vpp tutorial and i expect to see the results as shown in it.
https://fd.io/docs/vpp/v2101/gettingstarted/progressivevpp/interface.html

Related

Updating acl file using JS in hyperledger-composer

I am working on hyperledger playground. I have found that the access rules for participants can be specified manually on acl file in hyperledger composer. But is there a way that allows me to add rules to this file using JS?
Example:
There is an organization. It has some assets, and its number of employees is not fixed. As the admin adds new employees, their access rights on these assets is not known beforehand.
Is there a way such that as new employees are added, I can dynamically create rules for them, modifying the .acl file by script?
see the condition property in the reference doc https://hyperledger.github.io/composer/latest/reference/acl_language. As the condition property accepts code, you can invoke functions that exist within your business network .js files, however these functions are not allowed to invoke the composer runtime API. A summary of those functions not allowed can be found here
https://hyperledger.github.io/composer/latest/api/runtime-api
If you try to use them it will throw an error.

Define network architecture manually using connection profile in Hyperledger Composer

I am trying to manually define the componenets of my network i.e. 2 orderers and 2 peers. The default structure created by ./createComposerProfile.sh as demonstrated here has only 1 orderer and 1 peer.
I have tried editing the file at ~/.composer-connection-profiles/hlfv1/connection.json to no avail. It simply ignores my edits and still creates the default network.
How do I go about doing this?
the connection profile represents how you want to interact with a hyperledger fabric network, it doesn't define the network. Hyperledger composer is designed to work with whatever Hyperledger fabric network you define, you then need to create connection profiles that represent that defined network.
If you want a 2 peer network, you need to create one yourself then build a connection profile that represents how you want to interact with that network.
See http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html
for information about how to build fabric networks.
in answer to 'How do I go about linking the connection profile with my network' and referring back to your original problem - you need to 1) create a separate subdirectory under .composer-connection-profiles - you tried editing the connection.json in the hlfv1 subdirectory I suspect and that was recreated. You need to create your own subdirectory first (at the same level, same permissions as 'hlfv1' profile from the Dev setup) and call it (say) hlfv1custom. Then add your connection.json file there. As you're setting up 'local' - you can probably use the existing connection.json as the basis for your custom one (adding the info about your new Fabric setup eg additional peer(s) etc into the new connection.json (its "type" (in the conx profile) is still 'hlfv1' fyi) - . See more info here and an example of a HLFV1 connection.json -> https://hyperledger.github.io/composer/reference/connectionprofile.html

unable to connect through SSH key to bluemix container

I am currently trying to use the bluemix container service (in beta)
When I want to create a new container, I follow the steps, and just choose the name and the ports to open. I paste a SSH, and at the end I get the error :
"Unable to create container. Error message returned is: Bad Request".
Whereas if I do not paste my key, there is no problem.
I have tried with another key, created with puttygen, and I still get the same error.
I don't know what is wrong, as I basically chose the default options.
I have tried with the browsers firefox & opera on windows.
How can I solve this?
Use a public key of the form "ssh-rsa", space, 200+ characters ending in ==, space, username#hostname. I generated mine using ssh-keygen -t rsa. I pasted the entire contents of the generated .pub file.

ASP.NET MVC NESTED Virtual Directory for Content Files

I'm trying to map a virtual directory in my ASP.NET MVC 3 website. The virtual directory contains image files only, and the physical directory is located on another server. When I try to access an image from this directory via a web browser, I get an HTTP 500 error:
Parser Error Message: An error occurred loading a configuration file: Failed to start monitoring changes to '<virtual directory path>' because access is denied.
[EDIT]: After restarting IIS, I see that it's added "access is denied" to the end of the error message. However, the directory has the "Everyone" permission on it with read-access and it's still not working. I've seen posts that detail this same error, but the permission-setting solution isn't working for me.
Why is it looking for a configuration file? I've updated my Global.asax to ignore the route in question, and from within IIS 6, I can browse the files located in the virtual directory without issue. I've verified that the virtual directory is NOT set up as an application. Also, the permissions on the directory have read access for Everyone set. What am I doing wrong?
[EDIT #2]: The virtual directory being pointed to is a network shared folder... Does that make any difference?
[EDIT #3]: The IIS 6 hierarchy for what I'm trying to do is this: Default Website -> OurSite (MVC website which is ITSELF a virtual directory) -> Images (virtual directory that I'm struggling with). There definitely is a problem with the fact that this is a nested virtual directory; if I create the directory as a direct child of Default Website instead of Default Website -> OurSite, it works fine.
Thanks,
Andy
Make sure the identity running the App Pool also has execute and list permissions on that virtual folder as it's trying to monitor it for changes for caching.
http://support.microsoft.com/kb/316721/
[EDIT] This link indicates it may be the second case where it's not having permissions to a subfolder in the shared directory.
http://support.microsoft.com/kb/317955
Does the ASPNET account have access all the way down that tree?
Reading Turnkey's answer and your comments, I just wanted to point out that if your AppPool is using NETWORK SERVICE identity then your remote server needs to add the web server's machine/computer account to the shared folder and NTFS permissions NOT the NETWORK SERVICE account.
If you add NETWORK SERVICE to the shared folder and NTFS permissions, you are just adding the local machine's NETWORK SERVICE account not the web server's NETWORK SERVICE account. I hope I am making sense.
Whenever you use a computer's NETWORK SERVICE account to connect remotely you are in effect using the computer's machine account so that's what you need to add.
Say your web server is called PRODSERVER, you need to add the machine/computer account PRODSERVER$ to the remote shared folder's permissions.
Hope that helps.

Security exception when writting to an EventLog from an ASP.NET MVC application

I have a library that I created with some business logic that includes writing to a System.Diagnostics.EventLog instance. The library is normally called from a Windows Service application, but now I'm trying to call those same library functions from my ASP.NET MVC application.
I tried this code inside my controller to create the EventLog instance that I pass into the method that needs to write to the log.
Dim log = New EventLog("Application", My.Computer.Name, "MyMVCApp")
The following error is generated when the code within the library method tries to write to the log:
[SecurityException: Requested registry access is not allowed.]
System.ThrowHelper.ThrowSecurityException(ExceptionResource resource) +51
Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable) +7462217
System.Diagnostics.EventLog.CreateEventSource(EventSourceCreationData sourceData) +366
System.Diagnostics.EventLog.VerifyAndCreateSource(String sourceName, String currentMachineName) +194
System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData) +205
System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type) +14
My web app is running as the Network Service user on Windows Server 2003 running IIS 6. Is there something I need to do in order to give the Network Service user access to the registry?
Is there a better way to create an EventLog instance for use in an ASP.NET MVC application? Is there one already created by the framework that I just need to reference?
From MSDN: "Applications that run using the Network Service identity can write to the event log by using existing event sources, but they cannot create new event sources because of insufficient registry permissions."
And...
"If the Source for the event log associated with the EventLog instance does not exist, a new event source is created."
So looks like your event log source doesn't exist, and it's trying to create a new event log source using the Network Service User (which requires writing to the registry, so wont work).
"To enable your ASP.NET application to write to the event log using an event source that does not already exist, you have two options:"
Create new event sources at application install time
Manually create new event source entry in the registry.
So, need to create the log outside of the application (you can't do it programatically with this user. Do it either manually, or create a simple command line app to simplify installation).
For full details:
http://msdn.microsoft.com/en-us/library/ms998320.aspx#paght000015_eventlogaccess
Personally I'd recommend that you don't alter the net user permissions, but rather create the log source outside of the web app. My preference is in a console app (which will take you about 5mins to write, and which you can also use to prep other machines). Start a new console app in VS.NET, and add the code to create the log sources. An example:
http://www.dotnetspider.com/resources/23593-Create-Event-log-VB-NET.aspx
Then just run the console app from the cmd line, when logged in with appropriate permissions.
If you're not sure what event source it is trying to create, the above accepted answer will be difficult to figure out.
A simpler solution would be to switch the application pool to temporarily use LocalSystem, then run the application and produce an error. It will be able to create the relevant event log source, and after that you can switch it back to using NetworkService.
I don't know why can't you create your own EventLog instead of writing on Application log.
You can create an window/console application with the following code and run it as administrator, this will create a new log for you.
if (!EventLog.Exists("LOG_NAME"))
EventLog.CreateEventSource("LOG_NAME", "LOG_NAME");
this will create a new Log inside the event log and visible in application and service logs.
if (!EventLog.SourceExists("MyMVCApp"))
EventLog.CreateEventSource("MyMVCApp", "LOG_NAME");
This will create a new Source inside the custom "LOG_NAME" and you can make use of the code
Dim log = New EventLog("LOG_NAME", My.Computer.Name, "MyMVCApp")
to create a custom log.

Resources